萌新求助!!!试了几组数据没问题但是都是WA,帮忙看看哪里错了。

P1307 [NOIP2011 普及组] 数字反转

NoobMaster @ 2021-12-03 00:23:40

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int i,judge=0,count=0;//judge记录是否负数,count记录数字位数
   int a[10];
   long int n;
   scanf("%d",&n);
   if(n<0) {judge=1;n=fabs(n);}
   if(n==0) {printf("%d\n",n);return 0;}
   for(i=0;n!=0;i++)//将数字每一位从后往前记入数组a
   {
       a[i]=n%10;
       n/=10;
       count++;
   }
   n=a[0];
   for(i=1;i<count;i++)//组合为新的数
   {
       n=n*10+a[i];
   }
   if(judge==1) n=-n;
   printf("%d\n",n);
   system("pause");
   return 0;
}

by 红黑树 @ 2021-12-03 00:25:53

@NoobMaster system("pause"); 要去掉


by 红黑树 @ 2021-12-03 00:28:25

@NoobMaster 这个连样例都过不了


by NoobMaster @ 2021-12-03 00:42:39

@红黑树 那个我去过了,没什么用。而且我自己调试的时候样例过了??


by Capacito @ 2021-12-03 08:45:38

@NoobMaster 对于long int类型的n,scanf和printf应该用“%ld”作为格式字符串。


by NoobMaster @ 2021-12-03 10:16:15

@Capatico AC了!感謝大佬!


|