错误代码:第4个测试点没通过
#include<cstdio>
#include<math.h>
int main(){
int a,b,c,i=0;
int m[100]={0};
scanf("%d%d",&a,&b);
c=abs(a+b);
while(1){
if(c==0)
break;
m[i]=c%1000;
c=c/1000;
i++;
}
if(a+b<0)
printf("-");
printf("%d",m[i-1]);
for(i=i-2;i>=0;i--){
printf(",%03d",m[i]);
}
getchar();
getchar();
return 0;
}
没有考虑a+b==0的情况,修改代码后,顺利通过。
正确代码:
#include<cstdio>
#include<math.h>
int main(){
int a,b,c,i=0,tag;
int m[100]={0};
scanf("%d%d",&a,&b);
c=a+b;
if(c<0){
c=-c;
tag=-1;
while(1){
if(c==0)
break;
m[i]=c%1000;
c=c/1000;
i++;
}
printf("%c",'-');
printf("%d",m[i-1]);
for(i=i-2;i>=0;i--){
printf(",%03d",m[i]);
}
}
else if(c==0)
printf("%d",c);
else{
while(1){
if(c==0)
break;
m[i]=c%1000;
c=c/1000;
i++;
}
printf("%d",m[i-1]);
for(i=i-2;i>=0;i--){
printf(",%03d",m[i]);
}
}
getchar();
getchar();
return 0;
}