1001 A+B Format
Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).
Input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
Output Specification:
For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.
Sample Input:
-1000000 9
Sample Output:
-999,991
自己写的:zh
#include <stdio.h>
#include <stdlib.h>
int main(){
int a,b;
printf("请输入a和b的值");
scanf("%d,%d",&a,&b);
int c;
c=a+b;
if(c==0)
printf("%d\n",c);
else if(c>0){
int n=c;
while((n/10)<10){
int count;
count++;
if(count==3)
printf("%d",n);
else printf(",%d",n);
}
}
else{
int flag;
flag=-1;
int n=flag*c;
while((n/10)<10){
int count;
count++;
if(count==3)
printf("%d",n*flag);
else printf(",%d",n*flag);
}
}
return 0;
}
人家写的:
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b; //输入a和b
string s = to_string(a + b); //将a+b的值转换为字符串
if(s[0] == '-') { //处理符号,s[0]是最高位的数字
cout << '-';//如果为负数,先输出负号
s.erase(0, 1);//删除s[0]到1的字符,也就是把负号删了
}
int count = 0; //用于记录当前位置
for(int i = s.length() - 1; i >= 0; i--){ //添加逗号
count++;
if(count % 3 == 0 && i > 0){//三位
s.insert(i, ",");//把逗号插在i前面
}
}
cout << s;//输出s
}
1.using name std
的作用是释放std命名空间中的变量名,函数名以及类型名,其中std是C++标准库的命名空间。
2.删除某位置 后一段长度的元素:
s.erase(int a,int n)
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str="asddffggh";
int len=str.length() ;
str.erase(0,3);
cout<<str<<endl;
return 0;
}
//输出dffggh