#include<stdio.h>
#include<string.h>
int main(){
char result[35]={0};
int a,b,c,clen;
int i;
while(scanf("%d%d",&a,&b)!=EOF){
c=a-b;
sprintf(result,"%d",c);
clen=strlen(result);
for(i=0;i<clen;i++){
if((clen-i)%3==0&&i!=0&&result[i-1]!='-')//注意差值可能是负数,所以负号也要判断
printf(",");
printf("%c",result[i]);
}
printf("\n");
}
return 0;
}

Accept: 1238 Submit: 4282
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?
Input
输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。
Output
对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。 题目所有输入输出保证在[-2^31, 2^31-1]范围内。
Sample Input
2000 1000
Sample Output
1,000
本题亮点在于sprintf()函数的使用,我也是看了别人的解答知道的,本题中sprintf可以将数字变量转化为字符串,当然还有其他功能。sprintf()最常见的应用之一莫过于把整数打印到字符串中,如: sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中,sprintf(s, "%8x", 4567); //小写16进制,宽度占8个位置,右对齐。