c語言求輸入的任一整數的各位數之和


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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM