思路:逆序输出一个整数可以对其除10直到其为0为止,并输出其对10取余,最后的结果就是这个整数的逆序。
作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。创新互联提供从前期的网站品牌分析策划、网站设计、成都做网站、成都网站设计、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。
}分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。a=num%10就是输出数字的最后一位然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。
问题分析:要把整数逐位输出,无论正序还是反序,都需要将各个位分离。在C中的做法就是,通过对10取余,取出个位,然后通过除以10,起到“移位”的效果。
思路(三):用递归函数做,用一个int作为计数,一个char类型的用来逐个放置,控制好结束条件,即输入“\n”时结束,然后自然容易做到那3点。
/*求一个C语言程序:输入正整数,要求以相反数顺序输出该数。
用递归实现可以,用数组先存起来再输出也可以。如果用递归的话,就可以不用返回值了,没什么用。我把代码整理了下,加上了多组数据输入,可以参考下。
1、把long p=1;改为double p=0;即可。
2、首先:scanf(%f,&x);输入格式不对,改为:scanf(%lf,&x);其次,t的初值不对,应该是x而不是1;最后,分母上阶乘的计算值不对,那行i++应该写到计算阶乘的后面,结果就正确了。
3、s=1;少了变量s的初始化。没有死循环吧,我把你上面的代码编译了下,没死循环。
意思差不多,但是不一样。关键看循环的部分是你自己写的呢,还是编译器帮你干的,呵呵。
循环的嵌套就是一个循环体内又包含另一个完整的循环结构。三种循环可以互相嵌套的。
C语言的三种循环是可以互相嵌套的。但是必须要注意的是,他们是完整的嵌套而不可以发生交叉的现象。