『壹』 c語言 從鍵盤上輸入一個正整數,計算並輸出該數的各位數字之和
輸出該數的各位數字之和的源代碼如下:
#include <stdio.h>
int fun(int n)
{
int i;
int sum=0;
if(n>1000||n<0)
{
puts("輸返兆入的數字超出范圍!"); // 錯誤信息提示
}
else
{
for(i=2;i<n;i++) // 循環遍歷n,取出因子,並進行累加
{
if(0 == n%i)
{
sum+=i;
}
}
}
return sum;
}
void main()
{
int n,sum;
printf("Input n: ");
scanf("%d",&n);
sum=fun(n);
printf("sum=%d ",sum);
}
(1)自然數各位數之和c語言擴展閱讀
1、輸入的數字要是整數,並且要在規定范圍內。
2、對輸入的數要進行拆分,注意1和本身不能在求和之中。
3、可以使用循環對旦桐輸入的數(n)遍模世坦歷,如果n%i余為0,則表明能整除,次i則為因子。
『貳』 c語言; 編寫一個程序,計算任意輸入的整數的各位數字之和
#include <stdio.h>
void main(){ int a,sum=0;
printf("請輸入一個大於0的正整數~~");
scanf("%d",&a);
while(a!=0) //循環結束的條件是 a等於 0
{
sum+=a%10;// a%10 的作用是取a這個數的個位 比如 108除以10的余數是不是8
a/=10;//執行上一句代碼之後還要把a的值 除以10吧 比如 我輸入的是108 我取完8之後還要取這個數的十位 108 除以10 就等於10了 我定義的是 int型 沒有小數的
} printf("%d",sum);}
對了 你輸入數字測試的時候可別輸入太大的數字 太大的話 溢出 的話 得到的結果就不對了。
『叄』 C語言如何求一個整數的各個位數之和
可以參考下面的代碼:
#include "stdio.h"
int main()
{
int number,i=0,sum=0;
printf("please input a number:");
scanf("%d",&number);
while(number!=0)
{
sum+=number%10;
number/=10;
i++;
}
printf("sum=%d ",sum);
printf("位數=%d ",i);
return 0;
}
(3)自然數各位數之和c語言擴展閱讀:
遞歸函數定義
一種計算過程,如果其中每一步都要用到前一步或前幾步的結果,稱為遞歸的。用遞歸過程定義的函數,稱為遞歸函數,例如連加、連乘及階乘等。凡是遞歸的函數,都是可計算的,即能行的。
一個直接的例子:
//代碼1
voidfunc()
{
//...
if(...)
func();
else
//...
}
『肆』 c語言程序計算1到n之間所有自然數之和
以下是一個計算1到n之間所有自然數之和的C語言程序:
#include <stdio.h>
int main() {
int n, sum = 0;
printf("請輸入n的值:");
scanf("納握%d", &n);
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("1到%d之間所有自然數之和為:%d\n", n, sum);
return 0;
}
該程序首先要求用戶輸入n的值,然後使用for循環計算1到指橘n之間所有自然數之唯茄團和,最後輸出結果。
『伍』 C語言如何求一個整數的各個位數之和
先舉個求3位整數的個十百位和
main()
{
int
a,b,c,x;
.
scanf("%d",&x);/*輸入一個3位整數*/
a=x%10;
/*求各位數*/
b=x/10%10;
/*求十位數*/
c=x/100;
/*求百位數*/
printf("%d各個位數和為%d",x,a+b+c);
}
注:
這是手機打的是全形,要自己輸一遍。
『陸』 C語言:輸入一個正整數, 計算並顯示出該數的各位數字之和.
代碼:
#include<stdio.h>
intsum(intn){
ints=0;
while(n>0){
s+=n%10;
n/=10;
}
returns;
}
intmain(){
intn;
printf("請輸入一個正整數:");
scanf("%d",&n);
printf("輸入的數為:%d,其各位之和為:%d ",n,sum(n));
return0;
}
輸出:
請輸入一個正整數:12345
輸入的數為:12345,其各位之和為:15
請按任意鍵繼續...
『柒』 C語言中,求一個自然數的各位數之和
回答FOR 的問題 FOR( ;;) 這個裡面的東西相信旅塌你都知道 要是什麼都不寫 他拆慎圓會一直循環先去 和 while(1) 是同等的 要在循環體內 有一個結束的語句 上面 有用while 寫了程序的 while(n!=0) { sum+=n%10; n=n/10; } 改成for( ; ;) 就是 for( ; ; )//for裡面什麼都沒有 那麼條孝嫌件 永遠為真 ,一直循環 除非在循環內部 有條件將它結束 { if(n==0)break; sum+=n%10; n=n/10; }
『捌』 編程c語言,求自然數n中各位數之和。
1.#include "stdio.h"
void main()
{printf("************************\n");
printf("* *\n");
printf("* hello! world! *\n");
printf("* *\n");
printf("************************\n");
}
2.#include "stdio.h"
void main()
{int i,j;
for(i=0;i<8;i++)
{for(j=0;j<i;j++)
printf("\n");}}
#include "頌喊stdio.h"
void main()
{int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("\n");}
}
3.#include "stdio.h"
void main()
{float t,s,a;
printf("野告野input:t,s");
scanf("%f%f",&t,&s);
a=2.0*s/(t*t);
printf("a=%.2f",a);
}
4.#include "stdio.h"
void main()
{int a[10],i,max,min;
for(i=0;i<友模10;i++)
scanf("%d",&a[i]);
max=a[0];min=a[0];
for(i=1;i<10;i++)
{if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i];}
printf("max=%d,min=%d",max,min);
}
5.#include "stdio.h"
void main()
{int a[10],i,cout=0;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("cout=%d",cout);
}
6.#include "stdio.h"
void main()
{int x,y;
y=(50-2*20)/2;
x=20-y;
printf("%d,%d",x,y);
}
『玖』 c語言;計算一個自然數的各位數字之和與各位數字的平方和
#include<stdio.h>
main()
{
inta,b,c,k,s1,s2;
printf("輸入一個三位數: ");
scanf("%d",&k);
a=k/100;
b=k/10%10;
c=k%10;
s1=a+b+c;
s2=a*a+b*b+c*c;
printf("該三位數各位數字之和為%d; ",s1);
printf("該三位數各位數字平方和為%d ",s2);
}