C語言:在主函數(shù)中輸入10個數(shù),定義一個子函數(shù)求其數(shù)據(jù)和,將結(jié)果在主函數(shù)中輸出?
創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站設(shè)計、展示型成都網(wǎng)站制作、做網(wǎng)站等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
#includestdio.h
double DSum(double a,float b)
{
double sum=0.0;
sum= a+b;
return sum;
}
Int main()
{
int i=0;
float dat;
double sum=0.0;
for(i=0;i10;i++)
{
scanf(“%f”,dat);
sum= DSum(sum, dat);
}
printf(“sum=%f”,sum);
return 0;
}
在主函數(shù)中聲明一個具有10個int型元素的數(shù)組存放鍵盤輸入的數(shù)據(jù),聲明變量ml記錄最大值位置、ms記錄最小值位置。自定義一個函數(shù)void Input_Max_Min(int *p,int *pl,int *ps)來完成題設(shè)要求,其中p是數(shù)組首指針,pl是最大值位置(下標(biāo))變量指針,ps是最小值位置(下標(biāo))變量指針。在主函數(shù)中輸出結(jié)果。代碼如下:
#include?"stdio.h"
void?Input_Max_Min(int?*p,int?*pl,int?*ps){
int?i;
printf("Please?enter?the?10?Numbers...\n");
for(*pl=*ps=i=0;i10;i++){//輸入10個整數(shù)并判斷大小
scanf("%d",p+i);
if(p[i]p[*ps])//若當(dāng)前輸入的數(shù)比最小值記錄小則修改記錄
*ps=i;
if(p[i]p[*pl])//若當(dāng)前輸入的數(shù)比最大值記錄大則修改記錄
*pl=i;
}
}?
int?main(int?argc,char?*argv[]){
int?m[10],ml,ms;
Input_Max_Min(m,ml,ms);//用數(shù)組首址和最大值及最小值位置記錄變量地址調(diào)用自定義函數(shù)
printf("The?MAX?is?m[%d]==%d\nThe?MIN?is?m[%d]==%d\n",ml,m[ml],ms,m[ms]);//輸出結(jié)果
return?0;
}
運(yùn)行樣例如下:
思路:定義一個函數(shù)int fun(int a[]),該函數(shù)通過傳遞的參數(shù)數(shù)組依次遍歷,尋找最大值,最后返回最大值,主函數(shù)輸入數(shù)組,調(diào)用該函數(shù)輸出最大值。
參考代碼:
#includestdio.h
#define?n?10
int?fun(int?a[]){//求數(shù)組a的最大值函數(shù)
int?i,max=a[0];
for(i=1;in;i++)
if(maxa[i])?max=a[i];
return?max;
}
int?main()
{
int?a[n],i;
for(i=0;i10;i++)
scanf("%d",a[i]);?
printf("數(shù)組最大值為%d\n",fun(a));
return?0;
}
/*
1?5?9?7?3?8?6?4?2?0
數(shù)組最大值為9
*/