第五章 数组经典范例2和经典范例3
发表在C语言图书答疑 2015-06-28
是否精华
版块置顶:
C从入门到经通 实例版,第5章5.5.2 经典范例2 打印5阶焕方,int i,j,x=1,y=3,a[6][6]={0}
x表示行1,y=3列为什么是3?应该5才对,
还有到后面x=x+2;表达式真行数加2列数减1,是如何加2减1的?请高手解答,
5.5.3经典范例3 找出排在后面的国家名,
for(i=1;i<5;i++)前面为什么i是0而现在是1?
if(strcmp(cMax, cCoun[i])<0),
为什么是小于0呢?
请高兴一一解答,
分享到:
精彩评论 2
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-06-29
沙发
第5章5.5.2 经典范例2 打印5阶焕方
请画一个5行5列的方格,将1~25按照规律放到方格中
请认真阅读题,以及解决本题的规律
x,y分别代表要放的数的坐标
首先是要将1放到第一行的第3列,所以一开始初始化的时候,x=1,y=3,之后按照程序找2应该放哪个位置
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
之后,因为x=1,所有x=5,y++后的结果是4,所以2放的位置是第5行第4列。
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 2 0
之后再找3,4,5的位置,找完之后的结果是
0 0 1 0 0
0 5 0 0 0
4 0 0 0 0
0 0 0 0 3
0 0 0 2 0
之后再找6的位置,通过程序发现6的位置坐标应该是x=1,y=3,因为此时这个位置已经放置1了,所以,之后x+=2,y-=1,此时坐标是x=3,y=2,
0 0 1 0 0
0 5 0 0 0
4 6 0 0 0
0 0 0 0 3
0 0 0 2 0
其他的你自己分析吧
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-06-29
板凳
5.5.3经典范例3 找出排在后面的国家名,
for(i=1;i<5;i++)前面为什么i是0而现在是1?
if(strcmp(cMax, cCoun[i])<0),

回答:你要知道后面的这个循环的干什么用的,它是用来比较的,cMAx在这个for循环语句的上面被赋值了,strcpy(cMAx,cCouon[0]),之后用后面的和cMAx比较,请问cMAx需要和cCouon[0]进行比较吗?当然不需要啊,因为就是用cCouon[0]给它赋值的啊,所以要从数组下标为1的开始比较,自然i就要从1开始了

strcmp(cMax, cCoun[i])这个函数有三个返回值,如果是0表示比较的相等,如果是负数就是cMax< cCoun[i],如果是正数就是cMax>cCoun[i] ,要输出的是字母顺序排在最后的国家,那么也就是这个国家的首字母最大的那个,按照ABCD。。。这样的顺序排列的,就是说我希望cMax里面保存的是这些国家名字首字母最大的那个,如果cMax和别的国家名字比较的时候,小于别的国家的首字母,那么此时就需要用这个国家的首字母来更新他原来的值,这样一直比较下去之后,保证cMax里面存储的就是字母顺序排在最后的国家
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照