當前位置:編程學習大全網 - 編程語言 - 如何用C語言完成所需的編程(盡量用壹維數組)

如何用C語言完成所需的編程(盡量用壹維數組)

根據妳的要求,都用壹維數組。但是學生信息建議按結構定義。

主題要求函數參數使用數組和指針,數組參數可以兩種方式傳遞。

代碼如下:

# include & ltstdio.h & gt

#定義MJ 5//最大課程數

#定義MT 30//最大學生人數

#定義FM 100//滿分

#定義PS 60// Pass。

int init(int ss[],int sid[],int * p _ slen);//通過初始化數組。總分返回成功,不成功返回0。

int contFStudents(int ss[],int sid[],int slen);//統計失敗人數並打印名單,返回人數。

int contAAvg(int ss[],int sid[],int slen,float avg);//avg表示平均分,比如未知傳輸返回的人數-1。

int contMax(int ss[],int slen,int * sid);//統計最高分和學號

int main()

{

int ss[MT],sid[MT],sum

int slen = 0;//實際入學的學生人數

int fn,an;

sum=init(ss,sid,& ampslen);

fn=contFStudents(ss、sid、slen);

an=contAAvg(ss,sid,slen,(sum * 1.0)/slen);

Printf("故障率% .0f% \ n ",(fn * 1.0)/SLEN * 100);

Printf("平均分大於等於% .0f%% \ n ",(an * 1.0)/SLEN * 100);

contMax(ss,slen,sid);

返回0;

}

int init(int ss[],int sid[],int *p_slen)

{

int i=0,n,sum = 0;

如果(!p_slen)返回0;

* p _ slen = 0;

Printf("本班所有學生在某門課的成績(人數不超過% d): \ n ",mt);

for(I = 0;我& ltMT;i++)sid[I]= 1000+I;//學號沒有特殊要求,用數字代替就可以了。

I = 0;

while(* p _ slen & lt;=MT)

{

Printf("請輸入學號%d的年級:",SID [i]),scanf ("%d ",&;n);

如果(n & gtFM)

{

Printf("%d輸入無效,且不能大於%d\n "的最大分值,n,FM);

繼續;

}

如果(n & lt0)破;

ss[i++]= n;

sum+= n;

}

* p _ slen = I;

返回總和;

}

int contFStudents(int ss[],int sid[],int slen)

{

int i,CNT = 0;

for(I = 0;我& ltsleni++)

if(ss[I]& lt;PS)cnt++,printf("學號%d,分數:%d,不及格!\n ",sid[i],ss[I]);

Printf("失敗人數* * *:% d人\n ",CNT);

返回cnt

}

int contAAvg(int ss[],int sid[],int slen,float avg)

{

int i,cnt=0,sum = 0;

if(avg==-1)

{

for(I = 0;我& ltsleni++)sum+= ss[I];

avg =(sum * 1.0)/slen;

}

For(i=0,printf("平均分(%f)及以上的學生為:\n ",avg);我& ltsleni++)

if(ss[I]& gt;=avg)cnt++,printf("學號%d,分數:%d\n ",sid[i],ss[I]);

Printf("平均分及以上* * *:% d人\n ",CNT);

返回cnt

}

int contMax(int ss[],int slen,int *sid)

{

int i,max = ss[0];

如果(!sid)返回0;

for(I = 0;我& ltsleni++)

if(ss[I]& gt;max)max = ss[I];

For(i=0,printf("最高分(%d)的同學有:\n ",max);我& ltsleni++)

if(ss[i]==max) printf("%d\n ",sid[I]);

返回1;

}

  • 上一篇:c語言和java哪個難學?
  • 下一篇:visual c++ 是什麽?
  • copyright 2024編程學習大全網