#include<stdio.h>
#include<string.h>
struct student
{
char num;
char name[10];
int s1;
int s2;
int s3;
int s4;
int s5;
int sum;
}student[1000];
void fun1(int number)
{
int i;
for(i=0;i<number;i++){
printf("请输入第%d名学生的信息\n",i+1);
printf("学号:");
scanf("%s",&student[i].num);
printf("姓名:");
scanf("%s",&student[i].name);
printf("成绩一:");
scanf("%d",&student[i].s1);
printf("成绩二:");
scanf("%d",&student[i].s2);
printf("成绩三:");
scanf("%d",&student[i].s3);
printf("成绩四:");
scanf("%d",&student[i].s4);
printf("成绩五:");
scanf("%d",&student[i].s5);
}
printf("学生信息如下:\n");
for(i=0;i<number;i++){
printf("学号:%3s",student[i].num);
printf("姓名:%3s",student[i].name);
printf("成绩一:%3d",student[i].s1);
printf("成绩二:%3d",student[i].s2);
printf("成绩三:%3d",student[i].s3);
printf("成绩四:%3d",student[i].s4);
printf("成绩五:%3d\n",student[i].s5);
}
}
void fun2(struct student s1,struct student s2,struct student s3,struct student s4,struct student s5,int number)
{
int sum[1000],i;
for(i=0;i<number;i++)
{
student[i].sum=student[i].s1+student[i].s2+student[i].s3+student[i].s4+student[i].s5;
printf("学号:%3d",student[i].num);
printf("姓名:%3s",student[i].name);
printf("学生的总分:%d\n",student[i].sum);
}
}
void fun3(struct student *ps,int number)
{
int i,j,k,sum;
struct student temp;
for(i=0;i<number-1;i++)
{
k=i;
for(j=i+1;j<number;j++)
if((ps+k)->sum<(ps+j)->sum) k=j;
if(i!=k)
{
temp=*(ps+i);*(ps+i)=*(ps+k);*(ps+k)=temp;
}
printf("输出排序结果:\n");
for(i=0;i<number;i++)
{
printf("学号:%3s",student[i].num);
printf("姓名:%3s",student[i].name);
printf("学生的总分:%d\n",student[i].sum);
}
}
}
void fun4(struct student num,int number)
{
int i,c;
printf("请输入你要查找的学号:\n");
scanf("%d",&c);
for(i=0;i<number;i++)
{
if(c==student[i].num)
{
printf("学号:%3s",student[i].num);
printf("姓名:%3s",student[i].name);
printf("成绩一:%3d",student[i].s1);
printf("成绩二:%3d",student[i].s2);
printf("成绩三:%3d",student[i].s3);
printf("成绩四:%3d",student[i].s4);
printf("成绩五:%3d\n",student[i].s5);
}
}
}
int main ()
{
int number,i;
printf("请输入学生总人数:");
scanf("%d",&number);
fun1(number);
fun2(student[i]. s1, student[i].s2,student[i].s3,student[i].s4,student[i].s5, number);
fun3(student[i].num,number);
fun4(student[i].num,number);
return 0;
}
代码小问题太多,希望得到正确的代码,最好是完整敲出来
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
CSDN专家-Time 2021-04-30 07:26关注#include<stdio.h> #include<string.h> #pragma warning(disable:4996) struct student { char num[20]; char name[10]; int s1; int s2; int s3; int s4; int s5; int sum; }student[1000]; void fun1(int number) { int i; for (i = 0; i < number; i++) { printf("请输入第%d名学生的信息\n", i + 1); printf("学号:"); scanf("%s", &student[i].num); printf("姓名:"); scanf("%s", &student[i].name); printf("成绩一:"); scanf("%d", &student[i].s1); printf("成绩二:"); scanf("%d", &student[i].s2); printf("成绩三:"); scanf("%d", &student[i].s3); printf("成绩四:"); scanf("%d", &student[i].s4); printf("成绩五:"); scanf("%d", &student[i].s5); } printf("学生信息如下:\n"); for (i = 0; i < number; i++) { printf("学号:%3s", student[i].num); printf("姓名:%3s", student[i].name); printf("成绩一:%3d", student[i].s1); printf("成绩二:%3d", student[i].s2); printf("成绩三:%3d", student[i].s3); printf("成绩四:%3d", student[i].s4); printf("成绩五:%3d\n", student[i].s5); } } void fun2(struct student s1, int number) { int sum[1000], i; for (i = 0; i < number; i++) { student[i].sum = student[i].s1 + student[i].s2 + student[i].s3 + student[i].s4 + student[i].s5; printf("学号:%3d", student[i].num); printf("姓名:%3s", student[i].name); printf("学生的总分:%d\n", student[i].sum); } } void fun3(struct student* ps, int number) { int i, j, k, sum; struct student temp; for (i = 0; i < number - 1; i++) { k = i; for (j = i + 1; j < number; j++) if ((ps + k)->sum < (ps + j)->sum) k = j; if (i != k) { temp = *(ps + i); *(ps + i) = *(ps + k); *(ps + k) = temp; } printf("输出排序结果:\n"); for (i = 0; i < number; i++) { printf("学号:%3s", student[i].num); printf("姓名:%3s", student[i].name); printf("学生的总分:%d\n", student[i].sum); } } } void fun4(struct student num, int number) { int i; char c[20]; printf("请输入你要查找的学号:\n"); scanf("%s", &c); for (i = 0; i < number; i++) { if (strcmp(c,student[i].num)==0) { printf("学号:%3s", student[i].num); printf("姓名:%3s", student[i].name); printf("成绩一:%3d", student[i].s1); printf("成绩二:%3d", student[i].s2); printf("成绩三:%3d", student[i].s3); printf("成绩四:%3d", student[i].s4); printf("成绩五:%3d\n", student[i].s5); } } } int main() { int number, i=1; printf("请输入学生总人数:"); scanf("%d", &number); fun1(number); fun2(student[i], number); fun3(&student[i], number); fun4(student[i], number); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用