代码小问题太多,希望得到正确的代码,最好是完整敲出来

#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