谁有c语言程序设计苏小红版第8单元课后实验题答案

谁有c语言程序设计苏小红版第8单元课后实验题答案,第1张

#include <stdioh>

#define N 30

int Average(int score[], int n); / Average()函数原型 /

void ReadScore(int score[], long num[],int n); / ReadScore()函数原型 /

void DataSort(int score[], long num[], int n);

void PrintScore(int score[], long num[], int n);

void DataNum(int score[], long num[], int n);

void PrintNum(int score[], long num[], int n);

void SearchNum(int score[],long num[],int n);

void Statistics(int score[], int n);

void List(int score[], long num[], int n);

int main()

{

int choice,n,score[N], aver=0,i,sum=0;

long num[N];

do

{

printf("1: Append record\n");

printf("2: Caculate total and average score of course\n");

printf("3: Sort in descending order by score\n");

printf("4: Sort in ascending order by number\n");

printf("5: Search by number\n");

printf("6: Statistic analysisc\n");

printf("7: List record\n");

printf("0: Exit\n");

scanf("%d",&choice);

switch(choice)

{

case 1:printf("Total students are:");

scanf("%d",&n);

ReadScore (score,num,n);

break;

case 2:aver = Average(score, n);

printf("Average score is %d\n",aver);

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

{

sum += score[i];

}

printf("Caculate total score is %d\n",sum);

break;

case 3:DataSort(score,num,n);

printf("Sorted scores :\n");

printf(" number: score: \n");

PrintScore(score,num,n);

break;

case 4:DataNum(score,num,n);

printf("Sorted number :\n");

printf(" number: score: \n");

PrintNum(score,num,n);

break;

case 5:SearchNum(score,num,n);

break;

case 6:Statistics(score, n);

break;

case 7:List(score,num,n);

break;

case 0:break;

}

}while(choice!=0);

return 0;

}

/ 1、函数功能:输入n个学生的学号及某门课成绩 /

void ReadScore(int score[], long num[],int n)

{

int i;

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

{

printf("Input student's ID and score:");

scanf("%ld%d",&num[i],&score[i]);

}

}

/ 2、函数功能:计算课程的总分和平均分 /

int Average(int score[], int n) / Average()函数定义 /

{

int i, sum = 0;

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

{

sum += score[i];

}

return sum / n;

}

/ 3、函数功能:成绩由高到低排序 /

void DataNum(int score[], long num[], int n)

{

int i,j,k,temp1;

long temp2;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

{

if (score[j]>score[k])

{

k=j;

}

}

if(k!=i)

{

temp1=score[k];score[k]=score[i];score[i]=temp1;

temp2=num[k];num[k]=num[i];num[i]=temp2;

}

}

}

/ 函数功能:显示排序后学生学号和成绩 /

void PrintNum(int score[], long num[], int n)

{

int i;

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

{

printf(" %10ld %4d\n",num[i],score[i]);

}

}

/ 4、函数功能:学号由小到大排序 /

void DataSort(int score[], long num[], int n)

{

int i,j,k,temp1;

long temp2;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

{

if (num[j]<num[k])

{

k=j;

}

}

if(k!=i)

{

temp1=num[k];num[k]=num[i];num[i]=temp1;

temp2=score[k];score[k]=score[i];score[i]=temp2;

}

}

}

/ 函数功能:显示排序后学生学号和成绩 /

void PrintScore(int score[], long num[], int n)

{

int i;

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

{

printf(" %10ld %4d\n",num[i],score[i]);

}

}

/ 5、函数功能:按学号查询学生排名及其成绩/

void SearchNum(int score[],long num[],int n)

{

long number;

int i;

printf("Please input the number you want to search:");

scanf("%ld",&number);

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

{

if(num[i]==number)

{

printf(" %ld %d\n",num[i],score[i]);

return;

}

}

printf("\nNot found!\n");

}

/ 6、函数功能:统计个人类别的人数以及所占的百分比/

void Statistics(int score[], int n)

{

int i,a=0,b=0,c=0,d=0,e=0;

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

{

if(score[i]>=90)

{

a++;

}

else if(score[i]>=80)

{

b++;

}

else if(score[i]>=70)

{

c++;

}

else if(score[i]>=60)

{

d++;

}

else

{

e++;

}

}

printf("优秀人数:%d\t占:%3f%%\n良好人数:%d\t占:%3f%%\n中等人数:%d\t占:%3f%%\n及格人数:%d\t占:%3f%%\n不及格人数:%d\t占:%3f%%\n",a,(float)100a/n,b,(float)100b/n,c,(float)100c/n,d,(float)100d/n,e,(float)100e/n);

}

/ 7、函数功能:输入学生学号、成绩、总分、平均分/

void List(int score[], long num[], int n)

{

int i, j=0;

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

{

printf("学号:%ld\t考试成绩:%d\n",num[i],score[i]);

j+=score[i];

}

printf("课程总分:%d\n平均分:%3f\n",j,(float)j/n);

}

#include<stdioh>

int max(int x,int y,int z)

{

int t;

t=x>yx:y;

t=t>zt:z;

return(t);

}

int min(int x ,int y,int z)

{

int t;

t=x<yx:y;

t=t<zt:z;

return(t);

}

int aver(int x ,int y,int z)

{

int t;

t=(x+y+z)/3;

return(t);

}

void main()

{ int x,y,z,a,b,c;

scanf("%d,%d,%d",&x,&y,&z);

a=(max)(x,y,z);

b=(min)(x,y,z);

c=(aver)(x,y,z);

printf("%d,%d,%d\n",a,b,c);

}

建议改成:

#include<stdioh>

int max(int x,int y,int z)

{

int t;

t=x>yx:y;

t=t>zt:z;

return(t);

}

int min(int x ,int y,int z)

{

int t;

t=x<yx:y;

t=t<zt:z;

return(t);

}

float aver(int x ,int y,int z)

{

int t;

t=(float)((x+y+z)/30);

return(t);

}

void main()

{ int x,y,z,a,b;float c;

scanf("%d,%d,%d",&x,&y,&z);

a=(max)(x,y,z);

b=(min)(x,y,z);

c=(aver)(x,y,z);

printf("max=%d\nmin=%d\naver=%g\n",a,b,c);

}

大学学习资料免费下载网 有

在 其他公共课程 版块

标题:

C语言程序设计第三版谭浩强课后习题答案完整版txt

谭浩强C语言程序设计习题参考解答

C程序设计题解与上机指导 答案

还有很多相关资料:

谭浩强编《C语言程序设计》视频教程(曾怡讲解) 在线 下载

谭浩强编《C语言程序设计》(电子书+纸质书)

下载不用积分

我可以帮助你,你先设置我最佳答案后,我百度Hii教你。

以上就是关于谁有c语言程序设计苏小红版第8单元课后实验题答案全部的内容,包括:谁有c语言程序设计苏小红版第8单元课后实验题答案、c语言程序设计课后习题解答与实验指导、c语言程序设计课后习题答案(高等教育出版社何钦铭 颜晖 主编)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9971417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存