#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语言程序设计课后习题答案(高等教育出版社何钦铭 颜晖 主编)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)