描述
对于一个较大的整数 N(1<=N<=2,000,000,000),比如 980364535,我们常常需要一位一位数这个数字是几位数,但是如果在这 个数字每三位加一个逗号,它会变得更加易于朗读。
因此,这个数字加上逗号成如下的模样:980,364,535请写一个程序帮她完成这件事情
输入描述
一行一个整数 N
输出描述
一行一个字符串表示添加完逗号的结果
示例
输入:980364535
输出:980,364,535
对于这道题,我的想法就是把输入数字n的每一位存到一个字符数组中,同时每存3个数字就存一个' , ',直到把数字存完,获取每一位的思路就是先%10,然后/10,依次循环。
代码如下:
#include <stdio.h>
int main()
{
int n = 0;
char arr[14] = { 0 };
scanf("%d", &n);
int i = 0;//i用来控制数组下标
int k = 0;//k代表放进arr几个
while (n)
{
if (k != 0 && k % 3 == 0)//第一次进来k=0,但是不需要加','
{
arr[i++] = ',';
}
arr[i++]=n % 10 + '0';
n /= 10;
k++;
}
//出来的时候i已经++
//逆序打印
for (i--; i >= 0; i--)
{
printf("%c",arr[i]);
}
return 0;
}