void main()
{
long x,temp=0
printf("请输入一个数:\n")
scanf("%ld",&x)
while(x!=0)
{
temp=temp*10+x%10
x=x/10
}
printf("这个数的方向输出的结果是:%ld\n",temp)
}
图:
首先,很欣赏你的要求;然后我来讲讲我的思路,仅供参考:思路(一):直接用int类型做,判断位数时,当然用循环从小到大循环,用"%"(模)的方式判断;你的第二第三个问题一起做比较好,用求模和整除的方式分割这个数,然后把分割的每一位数累加到另一个int类型上。
思路(二):用字符串做,用库函数strlen很容易判断位数,也很容易输出每位数,以及倒序;其实倒序更容易,只要倒着输出就行,不一定要重新放到另一个字符串中。
思路(三):用递归函数做,用一个int作为计数,一个char类型的用来逐个放置,控制好结束条件,即输入“\n”时结束,然后自然容易做到那3点。
其实,以上逆序的方法都可以换成对称的思路……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)