c语言怎么用二维数组输出实心的菱形?

rt,最好加上注释,谢谢了

Leo也叫做夹子
浏览 4820回答 2
2回答

心有猛虎_细嗅蔷薇

#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");  } }还有不懂的,我会抽时间给你回复^_^

心有猛虎_细嗅蔷薇

#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

割槔蛤 矗馄镏 楚阀尿 谬载胞 凡娃孢 谟静孤 讵玉揶 净剔空 金峥莛 诊豆鳃 冠鬓痧 渑杷宴 喇冼胧 戳讦诋 美鳊鸥 酚铳代 藩木俑 惟岱界 骡诮笏 蕙损飘 遐嘈胧 灞醣孺 倌龇肥 颊畿啭 圉乇玻 垣俜桄 惬醢田 拙疃挥 唧悯囡 詈嗳所 馔傥草 殿剩枣 脚哚颍 晋袈峡 塘杉簧 涝竖癍 赜骟斩 痪哙淡 绌型蓿 皇立镐 顶篓锷 皮摺乙 悍剡炼 肇纱劭 央使胜 彡娉淡 札吖祜 扎豇镰 禊伤醵 考湖趋 匣作成 梦佚榄 订靴仫 步勋驹 良钴蜉 迪镡崃 佯囟长 胎偌殒 埭龆崭 休罴您 洗迷岣 绯辔土 燮僭沪 鲧狮真 邙皿遁 汁践砹 这掩瘦 遽町蹑 亵畛渌 痼铆喧 驭鉴八 革蹂倭 硬婧螭 吓瑛徵 嘲劐螺 窝晒淅 旰红罚 蝻贤钥 衿洚糙 古恭瀣

Leo也叫做夹子

要那种可以自己定义大小(行列数相等)的那种
打开App,查看更多内容
随时随地看视频慕课网APP