中易网

C语言编程打印菱形的数字图表

答案:4  悬赏:0  
解决时间 2021-03-24 06:12
C语言编程打印菱形的数字图表
最佳答案
#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

而菱形又可以分成两个三角形,上三角和下三角

这样就出来了啊

空格数跟行数有关,

数字也与行数有关。
全部回答
#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;
}
#include <stdio.h>
int main(void)
{
    printf("    1     ");//照着弄printf;
}

程序:

运行结果:
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
兄妹契约最后是薛功灿和周幼琳在一起,还是和
美菱冰箱定期如何清理 有什么好方法吗
室内水泥地面一到夏天就返潮,怎么回事
江门新会广告公司哪间比较好,比较全面
爱一个女孩 好累 好心疼
OPPOr9打的出电话,打不进电话
怎么做手机pos机加盟商?求大神解答
诸城的阳光大姐是加盟店吗
信用卡办理(深圳)
三年级作文 我心中的瀑布
神武 50副本怎么打?
襄阳到河南台前有多远
五十五个少数民族的风俗习惯是什么
陕西省延安市延川县贾家坪镇邮编是什么?
为什么无线路由器局域网状态指示灯有时不亮
推荐资讯
油研电磁溢流阀s-bsg-03-2b3b是内控内排吗
time controls在ae的什么地方
反射光线与入射光线写法循序有要求吗
求帮找图,谢谢
豆bar地址在哪,我要去那里办事
伊兰特在北京花乡二手车贵!
在河源工商可以代替别人激活社保卡吗?须要怎
夜宵饮酒对肝损害大吗
玉米菜梗能吃吗?怎么做更好吃?
还有一个星期就要分娩的孕妇饮食应注意什么?
一岁宝宝吃迪巧钙片吗?请教有经验的妈妈帮我
我有个手机卡能干什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?