C语言编程怎么用FOR循环语句编出*号组成的菱形七行七列

如题所述

#include <stdio.h>
int main()
{
int i,j,n;
int count=0;
printf("请输入菱形的行和列数并以回车结束(只能为奇数):");
scanf("%d",&n);//n为菱形的行和列数此题改成7即可
int temp=n/2;
for(i=0;i<n;i++){
for(j=0;j<temp;j++){
printf(" ");
}
for(j=temp;j<n-temp;j++){
printf("*");
}
for(j=n-temp;j<n;j++){
printf(" ");
}
if(temp==0) count=1;
if(count==0) temp--;
if(count==1) temp++;
printf("\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-02
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j;
printf("n=?\n");
scanf("%d",&n);
for(i=0;i<n*2+1;i++)
{
for(j=0;j<abs(i-n);j++)
printf(" ");
for(j=0;j<2*(n-abs(i-n))+1;j++)
printf("*");
printf("\n");
}
return 0;
}追问

为什么I J的初始副职是0呢????

追答

for(i=0;i<n*2+1;i++)
for(j=0;j<abs(i-n);j++)
比如n=4
那么就是一共有9行 因为是<9,i,j=0 所以 是0-8 一共9个数
列也同理

追问

额谢谢

本回答被提问者采纳