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

题目描述从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。输入正整数n(1≤n≤9)。输出指定数字图形。样例输入5样例输出11211232112343211234... 题目描述
从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。
输入
正整数n(1≤n≤9)。
输出
指定数字图形。
样例输入
5

样例输出
1
121
12321
1234321
123454321
1234321
12321
121
1

提示
展开
 我来答
iiiiiiiipl
2019-05-29 · TA获得超过9923个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.8万
展开全部

#include "stdio.h"

int main() {

int n,i,j;

while(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("\n");

}

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("\n");

}

}

return 0;

}

扩展资料:

书写规则

1、一个说明或一个语句占一行。

2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

参考资料:

百度百科-c语言

百度网友6fe74e2
推荐于2018-04-13 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:268万
展开全部
#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("\n");   
    }
    //下三角
    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("\n"); 
    }
}

结果:

追问
我思考了很久也很难理解其中的循环 请讲讲详细的思路把  按照什么顺序输入什么内容
追答
首先肯定是要一行一行的打印嘛,对吧
每行分三块 :空格 从1到n(表示第几行) 从n-1到1

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

这样就出来了啊

空格数跟行数有关,

数字也与行数有关。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahulxh
2013-11-29 · 知道合伙人软件行家
ahulxh
知道合伙人软件行家
采纳数:267 获赞数:805
研究生教学:数据结构与算法、计算机图形学…… 本科生教学:C语言程序设计、多媒体创作……

向TA提问 私信TA
展开全部

程序:

运行结果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
home我是吸血鬼
2013-11-29 · TA获得超过101个赞
知道答主
回答量:156
采纳率:0%
帮助的人:76万
展开全部
#include <stdio.h>
int main(void)
{
    printf("    1    \n");//照着弄printf;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杳哈哈哈
2018-04-13 · TA获得超过118个赞
知道答主
回答量:59
采纳率:77%
帮助的人:18.2万
展开全部
#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("\n");
}
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("\n");
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式