题解 | 添加逗号

添加逗号

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;
}

这种情况应该是比较通用的了把,虽然比不上一楼的那样简洁【捂脸】

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务