题解 | #添加逗号#

添加逗号

http://www.nowcoder.com/practice/f51c317e745649c0900996fd3f683aed

用的方法比较笨,首先是将输入数字的每一位放入数组,注意此时数组实际上存的是倒过来的数字。然后设置变量i用于统计最后输出字符串的长度,count变量则为数字实际的位数,循环中的i-j-1相当于一个新的下标,在这个从大到小递减的下标中每到4的倍数便输出“,”。写的时候也是一步步试出来的,后面捋清楚思路了再来更新一下题解。

#include<stdio.h>
int main(){
    int i=0,j,m,k,count=0;
    int a[15]={0};
    scanf("%d",&m);
    while(m!=0){
        a[i]=m%10;
        m=m/10;
        i++;
        count++;
    }
    if(i%3!=0){//这一步是确定后面输出字符串的长度
        i=i+i/3+1;
    }else{
        i=i+i/3;
    }
    for(j=0,k=count-1;j<i-1;j++){
		if((i-j-1)%4==0){//在4的倍数的位置要输出
			printf(",");
		}else{
			printf("%d",a[k--]);
		}   
    }
}
全部评论

相关推荐

ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
昨天 13:29
已编辑
湖南铁道职业技术学院 后端
小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务