rt,最好加上注释,谢谢了
2 回答
心有猛虎_细嗅蔷薇
TA贡献119条经验 获得超250个赞
#include "stdio.h" int main(){ int a[][5]={{1,3,5,7},{9,7,5,3,1}}; int index=5; for(int j=0;j<4;j++)//打印菱形上半部 { for(int i=0;i<index;i++) printf(" "); index--; for(int k=0;k<a[0][j];k++) { printf("*"); } printf("\n"); } index=1; for(int j=0;j<5;j++)//打印菱形下半部 { for(int i=0;i<index;i++) printf(" "); index++; for(int k=0;k<a[1][j];k++) { printf("*"); } printf("\n"); } }
还有不懂的,我会抽时间给你回复^_^
已采纳
心有猛虎_细嗅蔷薇
TA贡献119条经验 获得超250个赞
#include "stdio.h" int main(){ int n; printf("请输入◇的边数:\n"); scanf("%d",&n); //实心上半部分 for(int i=0;i<n;i++){ //数据 i 它代表的是行数 for(int j=1;j<n-i;j++){ //数据 j 它控制输出每行前的空格 printf(" "); } for(int k=0;k<2*i+1;k++){ //数据 k 它控制输出每行*号的个数 printf("*"); } printf("\n"); } //实心下半部分 for(int i=0;i<n;i++){ for(int j=0;j<i+1;j++){ printf(" "); } for(int k=0;k<(n-i-1)*2-1;k++){ printf("*"); } printf("\n"); } return 0; }
上半部分执行过程:
当i=0,j等于1时,此时判断第二个for循环里的条件,即1<4成立(因为输入的边数是5),输出空格,j再加1(也就是j++)此时j=2,再判断条件,直到j=4,第二个for循环停止(因为j受i的控制,i<5),这时已经输出4个空格
开始执行第三个for循环,k=2*i+1(为什么是2*i+1?这个公式是可以观察出来的,就像找规律),k=0,判断条件,1<2*i+1,满足条件,输出*,接着k++,该轮循环结束,换行输出。
同理,i=1、2、3、4、5也一样。
P.S.
建议使用编程工具调试下程序,理解会更深刻些。
希望能帮助到你o(* ̄▽ ̄*)ブ
慕的地6079101
TA贡献3593条经验 获得超0个赞
割槔蛤
矗馄镏
楚阀尿
谬载胞
凡娃孢
谟静孤
讵玉揶
净剔空
金峥莛
诊豆鳃
冠鬓痧
渑杷宴
喇冼胧
戳讦诋
美鳊鸥
酚铳代
藩木俑
惟岱界
骡诮笏
蕙损飘
遐嘈胧
灞醣孺
倌龇肥
颊畿啭
圉乇玻
垣俜桄
惬醢田
拙疃挥
唧悯囡
詈嗳所
馔傥草
殿剩枣
脚哚颍
晋袈峡
塘杉簧
涝竖癍
赜骟斩
痪哙淡
绌型蓿
皇立镐
顶篓锷
皮摺乙
悍剡炼
肇纱劭
央使胜
彡娉淡
札吖祜
扎豇镰
禊伤醵
考湖趋
匣作成
梦佚榄
订靴仫
步勋驹
良钴蜉
迪镡崃
佯囟长
胎偌殒
埭龆崭
休罴您
洗迷岣
绯辔土
燮僭沪
鲧狮真
邙皿遁
汁践砹
这掩瘦
遽町蹑
亵畛渌
痼铆喧
驭鉴八
革蹂倭
硬婧螭
吓瑛徵
嘲劐螺
窝晒淅
旰红罚
蝻贤钥
衿洚糙
古恭瀣
- 2 回答
- 0 关注
- 4818 浏览
添加回答
举报
0/150
提交
取消