1、首先我們打開visual studio 2019軟件,新建一個(gè)win32控制臺(tái)程序。
創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)雙河,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
2、然后在源文件夾下面新建一個(gè)C語(yǔ)言文件。
3、接著在C語(yǔ)言中導(dǎo)入stdio和stdlib庫(kù)。
4、然后在main函數(shù)中輸入如下圖所示的邏輯代碼。
5、運(yùn)行程序以后我們就可以看到如下圖所示的CMD界面,這里需要大家輸入10個(gè)成績(jī)。
6、最后輸完第10個(gè)成績(jī)的時(shí)候,回車就可以得到平均值了。
//結(jié)構(gòu)定義中包含兩個(gè)成員,分子和分母
struct?fraction
{
int?up,?down;/*分子和分母*/
};
/*
相加算法的核心是找兩個(gè)分母的最小公倍數(shù)和結(jié)果分子分母的最大公約數(shù),分別單獨(dú)函數(shù)來(lái)求
*/
int?pubtime(int,?int);//最小公倍數(shù)
int?pubsub(int,?int);//最大公約數(shù),可用輾轉(zhuǎn)相除法求,挺經(jīng)典的一個(gè)方法。
/********分?jǐn)?shù)相加********/
fraction?add(fraction?f1,?fraction?f2)
{
fraction?result;
result.down?=?pubtime(f1.down,?f2.down);
result.up?=?f1.up?*?result.down?/?f1.down?+?f2.up?*?result.down?/?f2.down;
int?n?=?pubsub(result.up,?result.down);
result.up?/=?n;?result.down?/=?n;
return?result;
}
int?pubtime(int?n1,?int?n2)
{
int?n?=?pubsub(n1,?n2);
return?n1?*?n2?/?n;
}
int?pubsub(int?n1,?int?n2)
{
int?r?=?n1;
if(n2??n1)
r?=?n1,?n1?=?n2,?n2?=?r;
do
{?/*輾轉(zhuǎn)相除*/
r?=?n1?%?n2;
if(r?==?0)?break;
n1?=?n2;?n2?=?r;
}while(true);
return?n2;
}
#include?stdio.h?
#define?N?100
/*定義學(xué)生結(jié)構(gòu)體*/????
struct?Student????
{????
int??ID;???
char?Name[20];???
float?Mark1;????
float?Mark2;??
float?Mark3;?
float?Sum;????
};???
/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/????
struct?Student?students[N];????
//int?num=0;??
/*求總分*/????
float?Sums(struct?Student?stu)???
{????
return?stu.Mark1+stu.Mark2+stu.Mark3;??
}????
/*輸入學(xué)生信息*/????
int?Student_Input(){??
int?num=0;
while(1){????
//printf("請(qǐng)輸入學(xué)號(hào):");???
students[num].ID=num+1;?//可以自行將學(xué)號(hào)改為手工輸入
printf("請(qǐng)輸入姓名:");?
scanf("%s",students[num].Name);??
getchar();??
printf("請(qǐng)輸入成績(jī)1:");?
scanf("%f",students[num].Mark1);?
getchar();??
printf("請(qǐng)輸入成績(jī)2:");?
scanf("%f",students[num].Mark2);?
printf("請(qǐng)輸入成績(jī)3:");?
scanf("%f",students[num].Mark3);?
getchar();??
students[num].Sum=Sums(students[num]);???
num++;??
printf("是否繼續(xù)?(y/n)");?//繼續(xù)輸入數(shù)據(jù)?
if?(getchar()=='n'){??
break;??
}????
}??
return?num;??
}??
/*輸出學(xué)生信息*/???
void?Student_Display(int?n)???
{???
int?i;????
printf("%10s%10s%8s%8s%8s%8s\n","學(xué)號(hào)","姓名","成績(jī)","成績(jī)","成績(jī)","總成線");??
printf("---------------------------------------------------------\n");??
for?(i=0;in;i++)??
{??
printf("%10d%10s%8.2f%8.2f%8.2f%8.2f\n",students[i].ID,students[i].Name,??
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Sum);??
}??
}?
/*主程序*/????
int??main(){?
int?n=0;
n=Student_Input();
Student_Display(n);?
return?0;??
}
#includestdio.h
int main()
{
void max(int [][5]);//注意二位數(shù)組傳遞參數(shù)時(shí),行數(shù)信息可以省略,但一定列數(shù)不能
void averagek(int [][5]);
void averages(int [][5]);
int a[10][5],i;//后面很多沒用上的變量就不需要了
for(i=0;i=9;i++)
{
printf("請(qǐng)輸入第%d名學(xué)生五科成績(jī)(中間用空格隔開):",i+1);
scanf("%d %d %d %d %d",a[i][0],a[i][1],a[i][2],a[i][3],a[i][4]);
}
averages(a);
averagek(a);
max(a);
return 0;
}
void averages(int a[][5])
{
int m,i;
for(i=0;i=9;i++)
{
m=(a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4])/5;
printf("第%d名學(xué)生平均分為:%d\n",i+1,m);
}
}
void averagek(int a[][5])
{
int m,i;
for(i=0;i=4;i++)
{
m=(a[0][i]+a[1][i]+a[2][i]+a[3][i]+a[4][i]+a[5][i]+a[6][i]+a[7][i]+a[8][i]+a[9][i])/10;
printf("第%d科成績(jī)平均分為%d\n",i+1,m);//幫你加了個(gè)換行符,開始沒加時(shí)好亂,信息全一起
}
}
void max(int a[][5])
{
int i,j,max,k,g;//你這里g后面多了逗號(hào),小錯(cuò)誤不要犯
max=a[0][0];
for(i=0;i=9;i++)
for(j=0;j=4;j++)
{
if(a[i][j]max)
{
max=a[i][j];
k=i;
g=j;
}
}
printf("第%d名學(xué)生的第%d科成績(jī)?nèi)〉米罡叻郑?d\n",k+1,g+1,max);//幫你加了個(gè)換行符,開始沒加時(shí)好亂,信息全一起,還有就是個(gè)數(shù)要比數(shù)組下標(biāo)多1,所以要加上去
}
當(dāng)前名稱:c語(yǔ)言調(diào)用函數(shù)求分?jǐn)?shù) c語(yǔ)言怎么調(diào)用函數(shù)里的數(shù)據(jù)
鏈接地址:http://muchs.cn/article42/doeiphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、用戶體驗(yàn)、營(yíng)銷型網(wǎng)站建設(shè)、建站公司、ChatGPT、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)