c语言图案循环
Ⅰ c语言用for循环表示出下面这个图形 求高手
#include <stdio.h>
int main( )
{ int i,n;
scanf("%d",&n);
for(i=1; i<=n; i++)
printf("%*.*s ",n+i-1,i+i-1,"***************");
for(i=n-1; i>0; i--)
printf("%*.*s ",n+i-1,i+i-1,"***************");
return 0;
}
Ⅱ C语言编程输入如下图案,用for循环。
#include<stdio.h>
voidmain()
{
inti,k;
for(i=0;i<9;i++)
{
if(i<5)
for(k=0;k<i+1;k++)
printf("*");
else
for(k=0;k<9-i;k++)
printf("*");
printf(" ");//楼下的这里有点问题这是我改正的还是采纳楼下的吧
}
}
Ⅲ C语言:输出下列图案,使用循环逐行输出: * *** ***** ******* *********
main()
{int i,j;
for(i=0;i<5;++i) //打印5行,循环
{
for(j=0;j<i*2+1;j++) //每行增加的星号数量的算法,i*2+1
{
printf("*"); //循环打印j个星号
}
printf("\n"); //每行结束回车换行
}
Ⅳ 如何用c语言循环语句实现以下图形
#include<stdio.h>
#include<string.h>
int main()
{
char a[]="He11o";
for(int i=0;i<5;i++)
{
for(int j=0;j<5-i;j++)
printf("*");
printf("%c ",a[i]);
}
}
Ⅳ C语言编写程序输出以下图案必须利用循环语句控制
#define
n
7
void
main()
{
int
ch=97;//a对应数字为97
int
mid=(int)((n+1)/2);//确定最长那行中间的位置,即ddddddd这行中间位置为4,同时他也是此行的行数
for(int
i=1;i<=mid;i++)//上三角打印
{
int
j=0;
int
nblank=mid-i;//确定空格数
for(j=0;j
评论
0
0
加载更多
Ⅵ C语言求教..用循环语句打出下面的图案。。。。
输入两个数,第一个是菱形的边长,第2个数是显示菱形的个数
比如随即输入第一个数是7,那菱形的边长就是7
第2个数是1,菱形的个数就是1个,显示出来的效果就是
1110111
1100011
1000001
0000000
1000001
1100011
1110111
#include <stdio.h>
#include <stdlib.h>
void main ()
{
int i,j,k,m,n,size;
printf ("input size: ");
scanf ("%d",&size);
if (size <=0||size%2==0)
{
printf ("thr size is error!\n");
exit (-1);
}
for (i=1;i<=size;i++)
{
n=(i<=(size+1)/2) ? i : size-i+1;
n=2*n-1;
m=(size-n)/2;
for (k=1;k<=m;k++)
printf ("1");
for (j=1;j<=n;j++)
printf ("0");
for (k=1;k<=m;k++)
printf ("1");
printf ("\n");
}
}
你吧1改成空格 把0 改成*
做的就够详细了啊 怎么还不结束问题
你那样的给你做了一个
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
Ⅶ C语言输出图案的问题(循环)
题一:
main()
{
int i,j,k,e,n,m;
scanf("%d",&n);
printf("\n");
for(m=(n/2)+1;m>=0;m--)
{for(i=0;i<=m;i++)
printf(" ");
for(j=(m*2)-1;j<n+1;j++)printf("*");printf("\n");}
for(m=(n/2)+1;m>=0;m--)
{for(i=m;i<=(n/2)+2;i++)
printf(" ");
for(j=0;j<(m*2)-1;j++)printf("*");printf("\n");}
}
题二:
main()
{
int i,j,k,e,n,m=0;
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
{
m++;
for(j=1;j<=i+1;j++)printf("%d",m);
for(k=i;k>0;k--)printf("%d",m);
printf(" ");
for(j=1;j<=i+1;j++)printf("%d",m);
for(k=i;k>0;k--)printf("%d",m);
printf("\n");
}
for(i=1;i<n;i++)
{
m++;e+=2;
for(k=i;k<n;k++)printf("%d",m);
for(j=n-1;j>i;j--)printf("%d",m);
printf(" ");
for(k=i;k<n;k++)printf("%d",m-e);
for(j=n-1;j>i;j--)printf("%d",m-e);
printf("\n");
}
题三:main()
{
int i,j,k,e,n,m;
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
{
for(j=1;j<=i+1;j++)printf("%d",j);
for(k=i;k>0;k--)printf("%d",k);
printf("\n");
}
}
兄弟啊 为了达到你的要求我是搞了两个多小时。
题一你能输入N个数 能正常显示
题二只能输入1——5 ,超过就10多了一位数,整个都要移动
题三也不能超10不然会多移动一位
以上三题都经过TC反复测试正常,如果还有不懂的地方随时可以HI我
Ⅷ 在C语言中如何用循环的方式输出下面这个图形
#include <stdio.h>
#define N (3)
int main()
{
int i;
for(i=-N/2;i<=N/2;++i)
printf("%*.*s ",i>0?N+i:N-i,N,"***************************");
return 0;
}
Ⅸ C语言循环输出图形
说下什么编程环境?
TC还是mc++6.
这可以做,简单把你己有的*号图形写成独立的输出函数,
我想你也是用printf加空格试出来的吧,在主程序调用就行.
#include<stdio.h>
#include<windows.h>//TC不用这头文件
#include<conio.h>
voidyourprintf1(void){
/*
这里加你自己的*号图形代码
*/
printf("* ");
printf("*** ");
printf("***** ");
}
voidyourprintf2(void){
/*
这里加你自己的*号图形代码
*/
printf("****** ");
printf("** ");
printf("** ");
printf("** ");
printf("****** ");
}
voidyourprintf3(void){
/*
这里加你自己的*号图形代码
*/
}
voidyourprintf4(void){
/*
这里加你自己的*号图形代码
*/
}
main(){
do{
system("cls");
yourprintf1();
Sleep(1000);//vc用这个
delay(1000);//tc用这个
getch();
system("cls");
yourprintf2();
Sleep(1000);//vc用这个
delay(1000);//tc用这个
system("cls");
yourprintf3();
Sleep(1000);//vc用这个
delay(1000);//tc用这个
system("cls");
yourprintf4();
Sleep(1000);//vc用这个
delay(1000);//tc用这个
}while(getch()!='q');//按q退出图形循环,不然一直循环显示.
}
我只简单画了三角形和方形,
只要你自己有空用printf试好另外再复杂的图形加入上面4个自定义的打印函数里就行.
看下效果:
Ⅹ C语言语言基础练习——图案输出(双重循环,经典)
#include<stdio.h>
#include<stdlib.h>
intmain(void)
{
inta,w=0,b=0;
printf("请输入一个数:");
scanf_s("%d",&a);
for(inti=0;i<a;i++)//控制循环次数
{
for(intq=a;q>i;q--)//每排前面的空格数量
{
printf("");
}
printf("*");//输出一个星星
for(intx=0;x<i+b;x++)//星星输出完后再输出一个空格,第二次就是三个,五个,七个这样输出下去,要不然会不对称
{
printf("");
}
if(w!=0)//这一行的意思就是让第一排只输出一个星星,第二排开始都输出两个星星
{
printf("*");
b++;//第一次输出只有一个星星,星星之间的空格要13579这样奇数递增,也就是从第二排开始才能递增,第二排i就变成1了,所以b要从第三行开始增加
}
printf(" ");
w++;
}
for(inti=a;i>=0;i--)//下半部分相反输出就好了
{
for(intq=i;q<a;q++)
{
printf("");
}
printf("*");
for(intv=0;v<i+b;v++)
{
printf("");
}
if(w>0)
{
printf("*");
b--;
}
printf(" ");
w--;
}
system("pause");
return0;
}
//你还是自己试下数,动动脑筋,毕竟是为了自己好,我给你这个程序主要是要你自己看懂
//才行,要是你直接拿去交作业什么的,那我是在害你!