用C语言编写程序,实现输入一个m,打印出一个菱形;如输入3,打印出(m为正整数).

如题所述

#include <stdio.h>
#include <math.h>
main()
{
int line; /*菱形的行数*/
int length; /*菱形的边长*/
printf("input Length of a side: ");
scanf("%d",&length);
for(line=1;line<length*2;line++)
{
putout(abs(length-line),length-line>=0?line:length*2-line);
}
}

putout(int n1,int n2) /*打印一行*/
{
int n;
for(n=1;n<=n1;n++) printf(" ");
for(n=1;n<=n2;n++) printf("* ");
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-15
字符对应整数,如果知道的话,用选择结构,配合循环就能够实现.如果你会实现菱形的输出的话,再加把尽,就可以实现这个程序了.
第2个回答  2008-01-15
#include<stdio.h>
#include<math.h>
void main()
{
int i,j,n;
mark:printf("请输入一个正奇数");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=fabs(i-0.5*n-0.5);j++)
printf(" ");
for(j=1;j<=(n-fabs(2*i-n-1));j++)
printf("* ");
printf("\n");
}goto mark;
}
第3个回答  2008-01-29
此程序完成功能:
任意输入值m,打印相对的菱形;当输入3时,打印出m为正整数。
程序可以直接运行了,如下:
#include <stdio.h>
void main()
{ int m,i=0,j=0;
printf("input the number: ");
scanf("%d",&m);
while(m<=2)
{ printf("It's wrong!input the number again: ");
scanf("%d",&m);}
if(m==3) printf("m为正整数");
else
{while(j<=m)
{while(i<=m-j)
{ printf(" ");
i++;
}
i=0;
while(i<=j)
{printf(" ");
printf("*");
i++;
}
printf("\n");
i=0;
j++;
}
while(j>=0)
{while(i<=m-j)
{ printf(" ");
i++;
}
i=0;
while(i<=j)
{printf(" ");
printf("*");
i++;
}
printf("\n");
i=0;
j--;

}
}
}