求C语言高手,为什么我的这个程序得不到我想要的输出呢

[复制链接]
查看11 | 回复3 | 2012-4-4 13:18:14 | 显示全部楼层 |阅读模式
你的问题是除了第一次能达到你的要求外,其他的都不行吧。首先是你输出空格的那个循环有问题,应该每一次都要将b重新赋值,这样才能保证你的空格个数输出没问题。跟着就是你的*号的输出,你可以自己读读循环,只有第一次是可以符合你的要求,从第二次开始就不能进入这个循环了,所以你也应该每一次都重新赋值。你在做这些题的时候要掌握规律,你看看你的题目,第一次是1·个,第二次是3个,第三次是5个……那你应该看出跟2x+1或2x-1有关,所以你就要用到。其实这题目是不是还有下半部吧,是逐渐减少的吧,你应该想想其他更好的方法,我觉得这种方法的可读性不太好,你可以试试从整个整体来想想,我之前做的就是整个输出地,不用分成两部分。应该改成这样#include <stdio....
回复

使用道具 举报

千问 | 2012-4-4 13:18:14 | 显示全部楼层
因为你有b++,后面还有b=b+1。在for(; b <= a; b++)这里已经把b=5,后面b=b+1让b=6,以此类推,所以你的结果一定是错的。望采纳...
回复

使用道具 举报

千问 | 2012-4-4 13:18:14 | 显示全部楼层
这个是因为你编写的代码和这个你要打出的东西不一样。是在内层的两个for循环中出了差错。因为对于for(初始化表达式;循环条件表达式;修正表达式)你的初始化表达式省略。所以呢当a为4的时候,两个内层的for循环都运行了,第一个内层for循环运行五次输出五个空格此时b的值变为4接着运行第二个内层for循环,运行一次输出一个*号此时c变成4.然后执行外层的for循...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行