<span role="heading" aria-level="2">c语言求输入的任一整数的各位数之和</span>

c语言求解代码:

# include<stdio.h>

int main(void){
    int a,i=0,sum=0;
    scanf("%d",&a);
    if(a<0) a=-a;//求负整数的
    while(a){      
        sum+=(a%10);//sum存各位数之和  
        a/=10;
    }
    printf("各位数字之和为:%d\n",sum);
    return 0;
}

这样输入10位以内的整数都是正常的

一旦超过10位就.....

比如输入11个1;

这是因为数值太大溢出了!

看着才学c语言时候写的代码,感觉挺丑的,各种错误,现在再用Java写一遍吧;

 1 import java.util.Scanner;
 2 
 3 /**
 4  * @author: BinBin
 5  * @date : 2022/1/22
 6  */
 7 public class sum {
 8     public static void main(String[] args) {
 9         Scanner input = new Scanner(System.in);
10         System.out.println("请输入一个整数n:");//输入提示
11         long n = input.nextLong();   //赋值
12         if(n < 0) n = -n;       //判断是否是负整数
13         long sum = 0,t = n;    //初始化
14         for(; t>0; t /= 10)    //循环计算各位数和
15             sum += t%10;
16         System.out.println("整数n的各位数的和为:"+sum);
17     }
18 }

 

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
本神尊:看来是没招到小红薯上的人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务