主题:输图案的程序请高手修改
/*根据参数 n ,在屏幕上输出如下图案
*
***
*****
其中, 第1行的第一个 * 在当前行的中间一列. n 表示输出 n 行 .
由于屏幕列宽为 80 个 字符, 所以 当 n >= 40 时, 要打印的 * 数目将超出 80, 此时要求反向打印, 即
*****
***
*
示例
假定 手机屏幕 为 6 列 , 输入参数 n 为 6, 则程序在手机上的运行结果为
*
***
*****
***
*
***
*/
#include<stdio.h>
#include<conio.h>
int main()
{
int n,i,j,k;
printf("please input an integer\n");
scanf("%d",n);
for(i=0;i<n;i++)
{
if( ((i%80)>=0)&&((i%80)<=39) )
j=2*i+1;
else
j=157-2*i;
for(k=1;k<39-j;k++)
printf(" ");
for(k=39-j;k<40+j;k++)
printf("*");
for(k=40+j;k<81;k++)
printf(" ");
printf("\n");
}
getch();
return 0;
}
*
***
*****
其中, 第1行的第一个 * 在当前行的中间一列. n 表示输出 n 行 .
由于屏幕列宽为 80 个 字符, 所以 当 n >= 40 时, 要打印的 * 数目将超出 80, 此时要求反向打印, 即
*****
***
*
示例
假定 手机屏幕 为 6 列 , 输入参数 n 为 6, 则程序在手机上的运行结果为
*
***
*****
***
*
***
*/
#include<stdio.h>
#include<conio.h>
int main()
{
int n,i,j,k;
printf("please input an integer\n");
scanf("%d",n);
for(i=0;i<n;i++)
{
if( ((i%80)>=0)&&((i%80)<=39) )
j=2*i+1;
else
j=157-2*i;
for(k=1;k<39-j;k++)
printf(" ");
for(k=39-j;k<40+j;k++)
printf("*");
for(k=40+j;k<81;k++)
printf(" ");
printf("\n");
}
getch();
return 0;
}