先說個題外話,您認為k=add(i,j)比k=i+j簡單嗎? 回到正題,問題出在scanf,改成scanf("%d%d", i, j);就可以了。如果不改,那么你輸入就應(yīng)該這樣(例如):3,5。輸出結(jié)果:8。也就是說,你必須在輸入時輸入兩個數(shù),并且以“,”隔開。還有個問題,你的getchar不會使程序暫停,因為輸入隊列中的“\"傳入了getchar,你可以再加一個getchar,或者先清空輸入隊列,用scanf輸入函數(shù)使之停頓。也可以,或者改用system("pause")暫停程序。
創(chuàng)新互聯(lián):自2013年創(chuàng)立以來為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為近千家公司企業(yè)提供了專業(yè)的網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 按需制作網(wǎng)站由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
#includestdio.h
int sum(int n)
{
int i=0,s=0;
while(i=n)
{
? s=s+i;
? i++;
}
return s;
}
int main()
{
int n;
printf("請輸入要累積的數(shù):");
scanf("%d",n);
sum(n);
printf("累加的結(jié)果為%d",sum(n));
return 0;
}
擴展資料:
使用函數(shù)的優(yōu)勢:
C語言程序鼓勵和提倡人們把一個大問題劃分成一個個子問題,對應(yīng)于解決一個子問題編制一個函數(shù),因此,C語言程序一般是由大量的小函數(shù)而不是由少量大函數(shù)構(gòu)成的,即所謂“小函數(shù)構(gòu)成大程序”。
這樣的好處是讓各部分相互充分獨立,并且任務(wù)單一。因而這些充分獨立的小模塊也可以作為一種固定規(guī)格的小“構(gòu)件”, 用來構(gòu)成新的大程序。
參考資料來源:百度百科-C語言
直接求兩數(shù)之和include stdio.hint main (){int a,b,sum; ? ? //申明a,b,sum為整型
a=1;b=1; ? ? ? ? //給a,b賦值,這里a,b自己定
sum=a+b; ? ? ? //求和
printf{"the sum is %d",sum}; ? ?//輸出sum的值
return (0);}
求輸入的兩數(shù)之和#include stdio.hint main (){int a,b,sum;
printf{"Please enter x,y:"}; ?//提示輸入x,y
scanf{"%d,%d",a,b}; ? //將輸入的值賦給a,b
sum=a+b; ? ? ?//求和
printf{"the sum is %d",sum}; ? ?//輸出sum的值
return (0);
}
使用函數(shù)求和:
#include stdio.hint sum(int x,int y) ? ? //定義求和函數(shù){int sum; ? ? ? ? ? ?//申明sum為整數(shù)型sum=x+y; ? ? ? ? //將輸入函數(shù)的x,y求和return(sum); ? ? //向函數(shù)返回sum的值}
int main () ? ? ?//以下為主函數(shù){int a,b,sum;
sum=sum(a,b); ?//調(diào)用求和函數(shù)
printf{"the sum is %d",sum}; ? ?//輸出sum的值
return (0);
}
先獲取數(shù)組長度,然后用for循環(huán),從數(shù)組中獲取值進行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("請輸入數(shù)組的長度:");
scanf("%d", n);
printf("\n");
a = (int *)malloc(n * sizeof(int));//為數(shù)組a動態(tài)分配內(nèi)存
for(i = 0; i n; i++)
{
printf("請輸入數(shù)組的第%d個元素的值:", i+1);
scanf("%d", val);
printf("\n");
a[i] = val;
}
for (i = 0; i n; i++)
{
sun+=a[i];//sun+=a[i]相當(dāng)于sun=sun+a[i];
}
printf("sun = %d\n",sun);
free(a);//釋放a動態(tài)分配的內(nèi)存
return 0;
}
擴展資料:
一個數(shù)組中的所有元素具有相同的數(shù)據(jù)類型(在C、C++、Java、pascal中都這樣。但也并非所有涉及數(shù)組的地方都這樣,比如在Visual Foxpro中的數(shù)組就并沒這樣的要求)。當(dāng)然,當(dāng)數(shù)據(jù)類型為 Variant 時,各個元素能夠包含不同種類的數(shù)據(jù)(對象、字符串、數(shù)值等等)。可以聲明任何基本數(shù)據(jù)類型的數(shù)組,包括用戶自定義類型和對象變量。
如果要用戶輸入的是一個數(shù)組,一般是用一個循環(huán),但是在輸入前也需要固定數(shù)組的大小。
compact跟變長數(shù)組沒有太大的關(guān)系,也應(yīng)該用不到變長數(shù)組。因為一般的傳數(shù)組到函數(shù)中就是傳數(shù)組的地址和元素的個數(shù)的,那只是一個提示,不是要求。
參考資料來源:百度百科-數(shù)組