我的这个输出一个菱形*图案的c语言菱形图案代码怎样可以简化一下?

用户名:Vs吕小布
文章数:76
访问量:5475
注册日期:
阅读量:1297
阅读量:3317
阅读量:449230
阅读量:1133958
51CTO推荐博文
#include&stdio.h&
int&main()
printf("请输入一个五位整数:");&&&&//&在此输入五位数,若有需要,可更改
scanf("%d",&n);
printf("%d&%d&%d&%d&%d\n",n/10000,n%,n%,n%100/10,n%10);
}本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)由键盘输入正数n(n&30),要求输出如下2*n+1行的菱形图案。
14-12-03 &匿名提问C语言是怎样输出菱形的
菱形,就是如下所示的图形,总行数与总列数相等:
写一个程序,根据用户输入的总行数,打印出菱形。
这个题目主要是找出规律,考察读者的逻辑思维。
你可以从第一行开始,遍历所有的列,也可以从第一列开始,遍历所有的行。
下面的程序从第一行开始,遍历所有的列。
设菱形的总行数为line,总列数为column,当前行为i,当前列为j。上半部分与下半部分的规律不一样,应该分开讨论。
我们着眼于星号(*),思考什么条件下输出星号,总结出如下的规律。
1) 对于上半部分(包括中间一行),当前行与当前列满足如下关系输出星号:
j&=(column+1)/2-(i-1) (column+1)/2-(i-1)为第i行最左边的星号
j&=(column+1)/2+(i-1) (column+1)/2+(i-1)为第i行最右边的星号
2) 对于下半部分,当前行与当前列满足如下关系输出星号:
j&=(column+1)/2-(line-i) (column+1)/2-(line-i)为第i行最左边的星号
j&=(column+1)/2+(line-i) (column+1)/2+(line-i)为第i行最右边的星号
不满足上述条件,则输出空格。
于是写出如下的代码:
运行结果:请输入菱形的行数(奇数):11
喜欢的朋友可以关注转发一下咱们微信公众号上的文章,有微信的小伙伴也可以扫一扫关注我们的公众号哦,我们会每天更新文章,你们可以把它分享在朋友圈里学习交流啊!独乐乐不如众乐乐是吧?
想要学习交流的小伙伴请点击右边的《C语言》申请加群,有什么问题都可以在群里学习交流、分享资源
C/C++内部学习交流新群: 学习资料获取和学习交流加入这里
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点实现菱形图形来自: 小戴 日分享至 :
/*实现菱形图形*/#includemain(){int i,j;for(i=1;i分享至 :
下一篇:上一篇:其它类似问题相关帖子相关文章--实现菱形图形

我要回帖

更多关于 输出菱形图案 的文章

 

随机推荐