简单题,方法很多。
非递归,用一个数组记录:
#include<stdio.h> int main(){ int a,b,sum; int i,j,arr[10]; scanf("%d %d",&a,&b); sum=a+b; if(!sum) printf("0"); if(sum<0){ printf("-"); sum=-sum; } i=0; while(sum){ arr[i]=sum%10; i++; sum=sum/10; } for(j=i-1;j>=0;j--){ printf("%d",arr[j]); if(j>0&&j%3==0) printf(","); } printf("\n"); return 0; }
递归的方法:
#include<stdio.h> int main(){ void func(int sum); int a,b,sum; scanf("%d %d",&a,&b); sum=a+b; if(sum<0){ printf("-"); sum=-sum; } func(sum); printf("\n"); return 0; } void func(int sum){ if(sum>=1000){ func(sum/1000); int yu=sum%1000; if(yu<10){ printf(",00%d",yu); } else if(yu<100){ printf(",0%d",yu); } else{ printf(",%d",yu); } } else{ printf("%d",sum%1000); } }