乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗? 输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31, 2^31-1]范围内。 样例输入2000 1000 样例输出1,000 Original: FZUPC 2006 #include<iostream>#include<cstring>using namespace std; void int_to_c(long int a){ long int i,j,k=0,flag=0; char x[20]; if(a<0){a*=-1;flag=-1;} for(i=0;a!=0;i++) {//整数转换为字符串 x[i]=a%10+48; a/=10; } x[i]='\0'; if(flag==-1)cout<<"-"; for(j=i-1,flag=strlen(x)%3;j>=0;j--) { cout<<x[j]; if(flag>0) {//处理对3位取余不为0的情况 flag--; if(flag==0){flag=-1;cout<<",";continue;} } if(flag<=0) {//处理后面位数对3取余为0的情况 k++; if(k==3&&j!=0){cout<<",";k=0;} } } cout<<endl;} int main(){ long int a,b,s; while(cin>>a>>b) { s=a-b; if(s==0)cout<<s<<endl; else int_to_c(s); } return 0;}

评论