⑴ c語言計算1+2+……+n的累加求和 用while和for倆種方法
1,#include<stdio.h>
int main()
{
int n,i,sum=0;
scanf("%d",&n);
for(i=0;i<=n;i++)
sum=sum+i;
printf("%d",sum);
return 0;
}
2,#include<stdio.h>
int main()
{
int i=0,n,sum=0;
scanf("%d",&n);
while(i<=n)
{
sum=sum+i;
i++;
}
printf("%d",sum);
return 0;
}
(1)c語言累加求和程序擴展閱讀:
循環語句:
在不少實際問題中有許多具有規律性的重復操作,因此在程序中就需要重復執行某些語句。一組被重復執行的語句稱之為循環體,能否繼續重復,決定循環的終止條件。循環結構是在一定條件下反復執行某段程序的流程結構,被反復執行的程序被稱為循環體。循環語句是由循環體及循環的終止條件兩部分組成的。
在C語言中,有三種類型的循環語句:for語句、while語句和do While語句。分別介紹如下:
for:
for為當型循環語句,它很好地體現了正確表達循環結構應注意的三個問題:
1,控制變數的初始化。
2,循環的條件。
3,循環控制變數的更新。
while:
while結構循環為當型循環(when type loop),一般用於不知道循環次數的情況。維持循環的是一個條件表達式,條件成立執行循環體,條件不成立退出循環。
while語句格式為:
while(條件表達式)
循環體
每次執行循環體前都要對條件表達式進行判斷。
do…while語句結構為直到型循環(until type loop),也用於不知道循環次數的情況。do…while和while的區別在於do…while結構是執行完一遍循環體再判斷條件。
do while語句格式為:
do
循環體
while(條件表達式);
每執行完一次循環體,do…while結構都要判斷一下條件表達式。
參考資料來源:網路-循環語句
⑵ 求一個C語言程序,關於求和和函數調用的
#include<stdio.h>
int sum(int n)
{
int i=0,s=0;
while(i<=n)
{
s=s+i;
i++;
}
return s;
}
int main()
{
int n;
printf("請輸入要累積的數:");
scanf("%d",&n);
sum(n);
printf("累加的結果為%d",sum(n));
return 0;
}
(2)c語言累加求和程序擴展閱讀:
使用函數的優勢:
C語言程序鼓勵和提倡人們把一個大問題劃分成一個個子問題,對應於解決一個子問題編制一個函數,因此,C語言程序一般是由大量的小函數而不是由少量大函數構成的,即所謂「小函數構成大程序」。
這樣的好處是讓各部分相互充分獨立,並且任務單一。因而這些充分獨立的小模塊也可以作為一種固定規格的小「構件」, 用來構成新的大程序。
參考資料來源:網路-C語言
⑶ 用C語言求1到N的階層 的累加和
思路:先定義一個函數用來計算一個數的階乘,在從1到N循環依次就其累加和,最後輸出累加和即可。
參考代碼:例如求1到3的階乘累加和。
#include "stdio.h"
int fun(int n){
if(n==1) return 1;
else return n*fun(n-1);
}
#include "math.h"
int main() {
int n,sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("%d\n",sum);
return 0;
}
/*
運行結果:
3
9
*/
⑷ C語言編程累計求和,1+(1+2)+...+(1+2+...+50)
#include<stdio.h>
#defineNUM5//請改回50
intmain()
{
inti,j,k=0,s=0;
for(i=1;i<=NUM;i++)//兩個循環:外循環i負責計1.....50個式子相加
{
for(j=1;j<=i;j++)//內循環j負責計50個式子中的每一個式子和
{
s+=j;
//printf("%d",j);//調試用的
}
//printf(" %d ",s);//調試用的
k+=s;//可以不要k,s一路加下去就好
s=0;
}
printf("%d ",k);
return0;
}
圖示是算到5的結果。請自行將 NUM 值改回50運行結果就出來了
⑸ C語言 編寫函數求任意兩個數的累加和
#include<stdio.h>
intsum1=0;
intadd(intn)
{
sum1+=n;
returnsum1;
}
intmain()
{
intmin,max,sum;
scanf("%d%d",&min,&max);
while(min<=max)
sum=add(min++);
printf("%d",sum);
return0;
}
⑹ C語言數組怎樣求和,
先獲取數組長度,然後用for循環,從數組中獲取值進行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("請輸入數組的長度:");
scanf("%d", &n);
printf(" ");
a = (int *)malloc(n * sizeof(int));//為數組a動態分配內存
for(i = 0; i < n; i++)
{
printf("請輸入數組的第%d個元素的值:", i+1);
scanf("%d", &val);
printf(" ");
a[i] = val;
}
for (i = 0; i < n; i++)
{
sun+=a[i];//sun+=a[i]相當於sun=sun+a[i];
}
printf("sun = %d ",sun);
free(a);//釋放a動態分配的內存
return 0;
}
(6)c語言累加求和程序擴展閱讀:
一個數組中的所有元素具有相同的數據類型(在C、C++、Java、pascal中都這樣。但也並非所有涉及數組的地方都這樣,比如在Visual Foxpro中的數組就並沒這樣的要求)。當然,當數據類型為 Variant 時,各個元素能夠包含不同種類的數據(對象、字元串、數值等等)。可以聲明任何基本數據類型的數組,包括用戶自定義類型和對象變數。
如果要用戶輸入的是一個數組,一般是用一個循環,但是在輸入前也需要固定數組的大小。
compact跟變長數組沒有太大的關系,也應該用不到變長數組。因為一般的傳數組到函數中就是傳數組的地址和元素的個數的,那隻是一個提示,不是要求。
⑺ c語言求1~n累加求和
#include<stdio.h>
int main()
{ int n,i,s=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
s+=i;
printf("%d ",s);
return 0;
}
⑻ 急!!!怎麼用C語言編寫程序,用函數完成:計算從1開始到n的自然數的和
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,計算和的方法為:
1、新建一個求1到100自然數之和項目。
注意事項:
C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設計更熟練一些。
⑼ c語言程序設計 求和1!+2!+3!+4!+…10!
思路:定義一個函數,輸入參數n,求n的階乘,接著從1到10累加求和即可。
參考代碼:
#include<stdio.h>
intfun(intn){
intsum=1,i;
for(i=1;i<=n;i++)
sum*=i;
returnsum;
}
intmain()
{
inti,sum=0;
for(i=1;i<=10;i++){
sum+=fun(i);
}
printf("累加為:%d ",sum);
return0;
}
/*
運行結果:
累加為:4037913
*/
⑽ c語言1到100累加和
清楚演算法就可以很快寫出:
(1)只需輸入2個變數n和sum,且sum=n+sum.
(2)確定n的范圍為n<=100
(3)循環體為
for(n=1;n<=100;n++)
sum+=n;
(4)根據C語言編輯規則寫出程序
用for循環求:
#include<stdio.h>
int main(void)
{
int n,sum=0;
for(n=1;n<=100;n++)
sum+=n;
printf("1+2+...+100=%d ",sum)
return 0;
}
程序運行結果:
1+2+...+100=5050
(10)c語言累加求和程序擴展閱讀:
for( i=1; i<=100; i++ ) sum=sum+i;
先給i賦初值1,判斷i是否小於等於100,若是則執行語句,之後值增加1。再重新判斷,直到條件為假,即i>100時,結束循環。相當於:
i=1;
while(i<=100){
sum=sum+i;
i++;
}
對於for循環中語句的一般形式,就是如下的while循環形式:
表達式1;
while(表達式2){
語句
表達式3;
}
使用for語句應該注意:
1) for循環中的「表達式1(循環變數賦初值)」、「表達式2(循環條件)」和「表達式3(循環變數增量)」都是選擇項,即可以預設,但分號(;)不能預設。
2) 省略了「表達式1(循環變數賦初值)」,表示不對循環控制變數賦初值。
3) 省略了「表達式2(循環條件)」,則不做其它處理時便成為死循環。例如:
for( i=1; ; i++ ) sum=sum+i;
相當於:i=1;
while(1){
sum=sum+i;
i++;
}
4) 省略了「表達式3(循環變數增量)」,則不對循環控制變數進行操作,這時可在語句體中加入修改循環控制變數的語句。例如:
for( i=1; i<=100 ; ){
sum=sum+i;
i++;
}
5) 省略了「表達式1(循環變數賦初值)」和「表達式3(循環變數增量)」。例如:
for( ; i<=100 ; ){
sum=sum+i;
i++;
}
相當於:
while(i<=100)
{sum=sum+i;
i++;
}
6) 3個表達式都可以省略。例如:
for( ; ; ) 語句
相當於:
while(1) 語句
7) 表達式1可以是設置循環變數的初值的賦值表達式,也可以是其他表達式。例如:
for( sum=0; i<=100; i++ ) sum=sum+i;
8) 表達式1和表達式3可以是一個簡單表達式也可以是逗號表達式。
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
9) 表達式2一般是關系表達式或邏輯表達式,但也可是數值表達式或字元表達式,只要其值非零,就執行循環體。例如:
for( i=0; (c=getchar())!=』
』; i+=c );
又如:
for( ; (c=getchar())!=』 』 ; )
printf("%c",c);