题解 | 添加逗号
添加逗号
https://www.nowcoder.com/practice/f51c317e745649c0900996fd3f683aed
#include <stdio.h> #include<string.h> char* reserve(char* arr,int len) { int left = 0; int right = len - 1; while(left < right) { char tmp ; tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } return arr; } int main() { long long N; scanf("%lld",&N); char arr[20] = {0}; long long tmp = N; int count = 0; int i = 0; while(tmp) { arr[i++] = tmp%10 +'0';//将数字转换位字符 count++; if(count%3 == 0&&tmp/10!=0) { arr[i++] = ','; } tmp/=10; } if(i == 0) { arr[i++] = '0'; } //此时数字顺序是反的,接下来逆序一下 reserve(arr,i); printf("%s",arr); return 0; }
这种情况应该是比较通用的了把,虽然比不上一楼的那样简洁【捂脸】