赞
踩
题目:本题要求定义一个函数计算一个整数的逆序数。
样例输入:
-12340
样例输出:
-4321
相信有好多人用数位提取来写,我的方法是字符串。
首先给出代码:
- #include "stdio.h"
- #include "string.h"
- main()
- {
- char a[1000];
- gets(a);
- int n=strlen(a),i,j;
- if(a[0]=='-') printf("-");
- for(j=n-1;j>=0;j--)
- if(a[j]!='0') break;
- for(i=j;i>=0;i--)
- {
- if(a[i]=='-') break;
- printf("%c",a[i]);
- }
- }
首先,测试特殊情况:
- -12340
- -152000000
- 8653000000
首先我们定义字符串数组,用gets函数输入。
其次,判断a[0]是否为负号,若为负号,则输出之。然后测试末尾有好几个零的情况,用循环来消除末尾的多个零,保存j值。
然后将i=j,逆序输出之。如果遇到了负号,则停止循环(小出口)因为逆序输出的话,负号一定是最后一位。如果没有负号,则正常输出a[0],然后结束循环。
这样特殊情况的输出就显得合理了:
- -4321
- -251
- 3568
你学会了吗?其实,无论是提取数位还是字符串,适合自己的才是最好的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。