📚Description:
激动人心的时刻到了!我们开发的记账软件即将在欧美地区发布,但我希望能把本土化工作做得更好。所谓的本土化可不仅仅是把软件界面语言翻译成英语,还要根据当地的习俗来调整软件的使用方法。
比如我国在书写数字时,习惯根据“万位”用逗号将数字分隔,10001000 写成 1000,1000;而欧美国家使用“千位”来分隔,10001000 会写成 10,001,000。
现在,请你帮我写一个程序:将那些按“万位”来分隔的数字转换成按“千位”来分隔,让欧美的用户使用更加方便。
⏳Input:
输入有多行,每一行包含一个以万位分隔的数字。
🔑Output:
对应每组输入,输出以千位分隔的数字。
👨🏫 Sample Input:
12,3456,7890
1000,1000
💡Sample Output:
1,234,567,890
10,001,000
🙋思路
把输入的数字当作字符串进行处理
其中,以千分位进行隔离,可以看作从右往左每3个数字增加一个逗号
因此对原先的字符串进行for循环,依次读取字符
若是逗号则跳过;若刚好累计3个数字,则在新字符串中增加一个逗号
AC Code
#include <stdio.h>
#include <string.h>
int main(){
char str[100];
while(gets(str)){
int i,index,num;
char str2[100] = {' '}; //初始化
index=0;
num=0;
for(i=strlen(str)-1;i>=0;i--){
if(str[i]!=','){
str2[index++]=str[i];
num++;
if(num%3==0 && i!=0){
str2[index++]=',';
}
}
}
for(i=strlen(str2)-1;i>=0;i--)
printf("%c",str2[i]);
printf("\n");
}
}