C程序设计 输入行数(程序运行时由用户指定),打印下列图案。(下图所示是5行的图案) 相当变态!!

编程实现:输入行数(程序运行时由用户指定),打印下列图案。(下图所示是5行的图案)~

http://zhidao.baidu.com/question/121976579.html
和你一样的问题,我在里面有详细的解答。

分上下两块输出。我这里有个更复杂的程序。和你那个差不多。。。我的输出ABCD之类的。以前写的嘿嘿。现在帮你改好了.完全按照你的意思了.= =追加追加~~改了我3分钟哪!!

# include
# include

int main()
{
int n,i,j,k=1,l,a;
scanf("%d",&n);
n=n/2+2;
for(i=0;i<n;i++)
{
for(j=0;j<(n-1-i);j++)
printf(" ");
for(a='1',k=0;k<i;k++)
{
printf("%c",a);
a++;
}
a--;
for(;k<(i*2-1);k++)
{
a--;
printf("%c",a);
}

if(i==0)printf("
");
else printf("
");
}
l=i*2-5;
for(i=0;i<n-1;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(a='1',k=0;k<l/2+1;k++)
{
if(k<l)
printf("%c",a);
a++;
}
a--;
for(;k<l;k++)
{
a--;
printf("%c",a);
}
if(i==n-2)printf("
");
else printf("
");
l-=2;
}

system("PAUSE");
}

#include "stdio.h"
void main()
{
int i,j,k,m;
for(i=0;i<5;i++)
{
for(k=0;k<=i;k++)
printf(" ");
for(j=9-2*i;j>0;j--)
printf("*");
printf(" ");
for(m=0;m<2*i+1;m++)
printf("*");
printf("\n");
}
}
这道程序,哎,真是愁死人了!程序里的2*i 我少了一个*号,搞得我花了好长时间才找出来!

#include "stdio.h"
#include "stdlib.h"

int main(int argc, char* argv[])
{
unsigned int line_num;
unsigned int i;
scanf("%d", &line_num);
unsigned char* test = (unsigned char*)malloc(sizeof(unsigned char) * (line_num+1));
memset(test, '*', line_num);
test[line_num] = 0;
// imagine line_num > 3
for(i = line_num-1; i!=1; --i)
{
test[i-1] = ' ';
printf("%s\n", test);
test[i-1] = '*';
}
return 0;
}

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网