头发 发表于 2020-11-18 15:15:24

求大佬指正

#include<stdio.h>
#define N 3 //number of people
typedef struct
{
        int id;
        int s;
}stu;
int main()
{
        stu s;
        int i,j;
        for(i=0;i<N;i++)
        {
                scanf("%d%d",&s.id,&s.s);
        }
        for(i=0;i<N;i++)
        printf("%d %d",s.id,s.s);
        return 0;
}
这串代码为啥实现不了正确的输出   我的输出是一串不明不白的数字 好迷茫。。。

jackz007 发表于 2020-11-18 15:27:48

typedef struct
{
      int id;
      int s;
}stu;
改为
typedef struct
{
      int id ;
      int s ;
}stu;

头发 发表于 2020-11-18 15:29:57

jackz007 发表于 2020-11-18 15:27
改为

如果是输入多个成绩要怎么定义s?

jackz007 发表于 2020-11-18 15:45:59

头发 发表于 2020-11-18 15:29
如果是输入多个成绩要怎么定义s?

#include<stdio.h>
#define N 3 //number of people

typedef struct
{
      int id   ;
      int s ;
} stu ;

int main(void)
{
      stu s   ;
      int i , j;
      for(i = 0 ; i < N ; i ++) {
                printf("录入学生 %d 的成绩\n" , i + 1)    ;
                printf("学员编号 : ")                     ;
                scanf("%d" , & s . id)               ;
                printf("课程甲 : ")                     ;
                scanf("%d" , & s . s)               ;
                printf("课程乙 : ")                     ;
                scanf("%d" , & s . s)               ;
                printf("课程丙 : ")                     ;
                scanf("%d" , & s . s)               ;
      }
      for(i = 0 ; i < N ; i ++) {
                printf("学员 %d 信息如下\n" , i + 1)      ;
                printf("\t学员编号 : %d\n" , s . id)   ;
                printf("\t课程甲 : %d\n" , s . s) ;
                printf("\t课程乙 : %d\n" , s . s) ;
                printf("\t课程丙 : %d\n" , s . s) ;
                printf("\n")                              ;
      }
}

头发 发表于 2020-11-18 15:49:00

jackz007 发表于 2020-11-18 15:45


不需要s【i】吗

jackz007 发表于 2020-11-18 15:56:09

头发 发表于 2020-11-18 15:49
不需要s【i】吗

      用的都是 s[ i ] 啊,你指什么,哪一句?

头发 发表于 2020-11-18 15:58:14

jackz007 发表于 2020-11-18 15:56
用的都是 s[ i ] 啊,你指什么,哪一句?

看错了 哈哈
页: [1]
查看完整版本: 求大佬指正