C语言编程打印菱形的数字图表
答案:4 悬赏:0
解决时间 2021-03-24 06:12
- 提问者网友:缘字诀
- 2021-03-23 17:59
C语言编程打印菱形的数字图表
最佳答案
- 二级知识专家网友:零点过十分
- 2021-03-23 18:46
#include "stdio.h"
int main()
{
int n,i,j;
scanf("%d",&n);
//上三角
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)//画空格
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);//输出从1到n
for(j=i-1;j>=1;j--)
printf("%d",j);//输出从n-1到1
printf("
");
}
//下三角
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++)//画空格
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);//输出从1到n
for(j=i-1;j>=1;j--)
printf("%d",j);//输出从n-1到1
printf("
");
}
}结果:
追问:我思考了很久也很难理解其中的循环 请讲讲详细的思路把按照什么顺序输入什么内容
追答:首先肯定是要一行一行的打印嘛,对吧
每行分三块:空格从1到n(表示第几行) 从n-1到1
而菱形又可以分成两个三角形,上三角和下三角
这样就出来了啊
空格数跟行数有关,
数字也与行数有关。
int main()
{
int n,i,j;
scanf("%d",&n);
//上三角
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)//画空格
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);//输出从1到n
for(j=i-1;j>=1;j--)
printf("%d",j);//输出从n-1到1
printf("
");
}
//下三角
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++)//画空格
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);//输出从1到n
for(j=i-1;j>=1;j--)
printf("%d",j);//输出从n-1到1
printf("
");
}
}结果:
追问:我思考了很久也很难理解其中的循环 请讲讲详细的思路把按照什么顺序输入什么内容
追答:首先肯定是要一行一行的打印嘛,对吧
每行分三块:空格从1到n(表示第几行) 从n-1到1
而菱形又可以分成两个三角形,上三角和下三角
这样就出来了啊
空格数跟行数有关,
数字也与行数有关。
全部回答
- 1楼网友:拜訪者
- 2021-03-23 21:50
#include<stdio.h>
int main()
{
int n,i=1,j=1,k=1,s,x1,x2,x3,x4;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=n;
x1=n+1-i;
x2=n+i-1;
for(j=1;j<=x2;j++)
{
if(j<x1) printf(" ");
else if(j<=n-1)
{
printf("%-2d",s);
s--;
}
else
{
printf("%-2d",s);
s++;
}
}
printf(" ");
}
for(k=1;k<=n-1;k++)
{
s=n;
x3=k+1;
x4=2*n-1-k;
for(j=1;j<=x4;j++)
{
if(j<x3) printf(" ");
else if(j<=n-1)
{
printf("%-2d",s);
s--;
}
else
{
printf("%-2d",s);
s++;
}
}
printf(" ");
}
return 0;
}
int main()
{
int n,i=1,j=1,k=1,s,x1,x2,x3,x4;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=n;
x1=n+1-i;
x2=n+i-1;
for(j=1;j<=x2;j++)
{
if(j<x1) printf(" ");
else if(j<=n-1)
{
printf("%-2d",s);
s--;
}
else
{
printf("%-2d",s);
s++;
}
}
printf(" ");
}
for(k=1;k<=n-1;k++)
{
s=n;
x3=k+1;
x4=2*n-1-k;
for(j=1;j<=x4;j++)
{
if(j<x3) printf(" ");
else if(j<=n-1)
{
printf("%-2d",s);
s--;
}
else
{
printf("%-2d",s);
s++;
}
}
printf(" ");
}
return 0;
}
- 2楼网友:举杯邀酒敬孤独
- 2021-03-23 21:30
#include <stdio.h>
int main(void)
{
printf(" 1 ");//照着弄printf;
}
int main(void)
{
printf(" 1 ");//照着弄printf;
}
- 3楼网友:梦中风几里
- 2021-03-23 20:00
程序:
运行结果:
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯