当前位置:   article > 正文

C语言-逆序输出(期末模拟测试)

C语言-逆序输出(期末模拟测试)

题目:本题要求定义一个函数计算一个整数的逆序数。

样例输入:

-12340

样例输出:

-4321

相信有好多人用数位提取来写,我的方法是字符串

首先给出代码:

  1. #include "stdio.h"
  2. #include "string.h"
  3. main()
  4. {
  5. char a[1000];
  6. gets(a);
  7. int n=strlen(a),i,j;
  8. if(a[0]=='-') printf("-");
  9. for(j=n-1;j>=0;j--)
  10. if(a[j]!='0') break;
  11. for(i=j;i>=0;i--)
  12. {
  13. if(a[i]=='-') break;
  14. printf("%c",a[i]);
  15. }
  16. }

首先,测试特殊情况:

  1. -12340
  2. -152000000
  3. 8653000000

首先我们定义字符串数组,用gets函数输入。

其次,判断a[0]是否为负号,若为负号,则输出之。然后测试末尾有好几个零的情况,用循环来消除末尾的多个零,保存j值。

然后将i=j,逆序输出之。如果遇到了负号,则停止循环(小出口)因为逆序输出的话,负号一定是最后一位。如果没有负号,则正常输出a[0],然后结束循环。

这样特殊情况的输出就显得合理了:

  1. -4321
  2. -251
  3. 3568

你学会了吗?其实,无论是提取数位还是字符串,适合自己的才是最好的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/102230
推荐阅读
相关标签
  

闽ICP备14008679号