當前位置:編程學習大全網 - 編程語言 - C語言結構體編程:計算5個學生的總成績、平均成績和低於140分以下的人數,並輸出低於140分的姓名

C語言結構體編程:計算5個學生的總成績、平均成績和低於140分以下的人數,並輸出低於140分的姓名

結構類型包含2個成員:姓名和成績。

成績用float型。

按照題意分數上限140以上。

下面代碼,結構數組的值用隨機數填充,分數的隨機範圍101~150。妳要想手動輸入,自己寫輸入替代我的init函數。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <time.h>

typedef struct student

{

char name[20];

float score;

}STU;

void init(STU *stus);//隨機數替代輸入填充結構數組

void printStus(STU *stus);//打印數組

void getSumAndAvg(STU *stus);//獲得總分和平均分

void findLes140(STU *stus);

int main()

{

STU stus[5];

init(stus);

printStus(stus);

getSumAndAvg(stus);

findLes140(stus);

return 0;

}

void findLes140(STU *stus)

{

int i;

printf("成績低於140的學生信息為:\n");

for(i=0;i<5;i++)

if(stus[i].score<140)

printf("學生名:%s,成績:%.1f\n",stus[i].name,stus[i].score);

printf("\n");

}

void printStus(STU *stus)

{

int i;

printf("結構數組中的信息為:\n");

for(i=0;i<5;i++)

printf("學生名:%s,成績:%.1f\n",stus[i].name,stus[i].score);

printf("\n");

}

void getSumAndAvg(STU *stus)

{

float sum=0,avg;

int i;

for(i=0;i<5;i++)

sum+=stus[i].score;

avg=sum/5;

printf("總分:%.1f,平均分:%.1f\n\n",sum,avg);

}

void init(STU *stus)

{

int i;

srand(time(NULL));

printf("生成隨機數值填充結構數組\n");

for(i=0;i<5;i++)

{

strcpy(stus[i].name,"學生");

stus[i].name[4]=i+1+'0';

stus[i].name[5]=0;

stus[i].score=(float)(rand()%50+101);//101~150的隨機值

}

}

  • 上一篇:於編程
  • 下一篇:switch選擇結構的語法和執行順序是什麽
  • copyright 2024編程學習大全網