PS:萌新刷题时的代码,基本没有改过,测试点都通过了。如果有bug,请谅解。
1.题目阐述
题目要求很简单,就是要求对整型数据求和然后用特殊格式输出,即每隔三位数进行一次取逗号。
2.题目思路
用threeNums数组每隔三位依次存储原数的位数数字,也就是将和通过位数分隔出来。最后输出结果,注意数字打印不足三位数需要在前面补零,可以通过printf("%03d",num);做到.
另外本题cin、cout最好别用,因为题目太简单了似乎对速度有额外限制,cin、cout,别问我为什么知道…
3.题解代码
我的代码如下:
#include<cstdio>
#include<algorithm>
using namespace std;
int a, b, c;
const int maxn = 10;
int threeNum[maxn];
int L = 0;
void printFormat(){
int temp = c;
int less;
bool flag = true;
if (temp < 0) {
flag = false;
temp *= -1;
};
while (temp > 999){
less = temp % 1000;
threeNum[L++] = less;
temp /= 1000;
}
if (flag == false){
printf("-%d", temp);
}
else{
printf("%d", temp);
}
if (L != 0){
for (int i = L - 1; i >= 0; i--){
printf(",%03d", threeNum[i]);
}
}
printf("\n");
}
void Test1001(){
scanf("%d %d", &a, &b);//读取需要取地址的
c = a + b;
printFormat();
}
int main(){
Test1001();
getchar();
return 0;
}