回 帖 发 新 帖 刷新版面

主题:如何修改这段代码哦

#include <stdio.h>
#include<stdlib.h>
# define  N 8  //用于结构体中的变量
struct student
{
    char num;
    char name;
    char Class;
    int score[4]; 

    
} stu[N];//编写一个输入函数


void main()
{
    void print(struct student stu[9]);
    int i,j;
    for(i=0;i<N;i++)
    {
      printf("请输入学生的基本信息:\n");
      printf("学号:  ");
      scanf("%s  ",stu[i].num);
      printf("姓名:  ");
      scanf("%s  ",stu[i].name);
      for(j=0;j<4;j++)
    {
      printf("score %d: ",j+1);
      scanf("%d",&stu[i].score[j]);
    }
    printf("\n");
}
    print(stu);
}

void print(struct student[6])
{
    int i,j;
    printf("\n   No.    name   score1   score2   score3   score4\n");
    for(i=0;i<N;i++)
    {
        printf("%5s%10s",stu[i].num,stu[i].name);
        for(j=0;j<3;j++)
            printf("%9d",stu[i].score[j]);
        printf("\n");
    }

    
        
}

回复列表 (共2个回复)

沙发

定义的字符变量怎么能用%s输入一个字符串呢?

char num[10];
char name[10];
char Class[20];

板凳

#include <stdio.h>
#include<stdlib.h>
# define  N 8  //用于结构体中的变量
struct student
{
    char num[8];
    char name[8];
    char Class[8];
    int score[4]; 

    
} stu[N];//编写一个输入函数

void print(struct student[6])
{
    int i,j;
    printf("\n   No.    name   score1   score2   score3   score4\n");
    for(i=0;i<N;i++)
    {
        printf("%5s%10s
            ",stu[i].num,stu[i].name);
        for(j=0;j<3;j++)
            printf("%9d",stu[i].score[j]);
        printf("\n");
    }        
}
void main()
{
    void print(struct student stu[9]);
    int i,j;
    for(i=0;i<N;i++)
    {
      printf("请输入学生的基本信息:\n");
      printf("学号:");
      scanf("%s",&stu[i].num);
      printf("姓名:");
      scanf("%s",&stu[i].name);

      for(j=0;j<4;j++)
      {
      printf("score %d: ",j+1);
      scanf("%d",&stu[i].score[j]);
      }
    }
    printf("\n");
    print(stu);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册