#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;
}
#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;
}
现在程序有什么问题呢,最好把问题描述一下。
仔细看一下问题点在哪里 不懂再问。很基础的问题, 明明是student类型,你传int,明明是要用char[]数组做的,你用char做。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y