标题:结构体数组赋值出现了问题,,,总不能赋值到第5个以后的
只看楼主
yq1544638566
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2011-3-1
结帖率:100%
已结贴  问题点数:20 回复次数:3 
结构体数组赋值出现了问题,,,总不能赋值到第5个以后的
这个程序是统计A,B,C,D,E五所高校中各个院校单项成绩,,下面的程序只统计A学院的,男生,女生的成绩的总和用S1和S2表示
#include<stdio.h>
#include<stdlib.h>
input(){
    int i,j,s1,s2,n=0; //i表示多少个学生
    scanf("%d",&i);
    struct list{
        char name[20];
        char sex;
        char school[20];
        int score;       //分数
        int df;         //得分
    };
    struct list l[100];
    printf("名称\t性别\t校名\t成绩\t得分\n");
    while(i--){
        scanf("%s",l[n].name);
        scanf("%c",&l[n].sex);
        scanf("%s",l[n].school);
        scanf("%d",&l[n].score);
        scanf("%d",&l[n].df);
        n++;
    }
    for(j=0;j<i;j++){
        if(l[j].sex=='M')       //M表示男性
            s1=s1+l[j].df;
        if(l[j].sex=='F')       //F表示女性
            s2=s2+l[j].df;
        else
            printf("error");
    }
    printf("s1=%d s2=%d",s1,s2);     //s1,s2表示男女生的总分
}
main(){
    char t;
loop:
    printf("请输入需要统计的学校的名称:\n");
    scanf("%c",&t);
    switch(t){
    case 'A': input();break;
    case 'B': input();break;
    case 'C': input();break;
    case 'D': input();break;
    case 'E': input();break;
    default: printf("error");break;
    }
    goto loop;
}
这程序在赋值到第6个人的信息时就出错了,,,,求高手解释
搜索更多相关主题的帖子: input 结构体 女生 统计 
2011-03-20 15:46
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
得分:7 
菜鸟飘过~~~~~~~~~~~
2011-03-20 17:18
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:7 
#include<stdio.h>
#include<stdlib.h>
void input()
{
    int i,j,s1=0,s2=0,n=0; //i表示多少个学生
    scanf("%d",&i);
     n=i;
     i--;
    struct list{
        char name[20];
        char sex;
        char school[20];
        int score;       //分数
        int df;         //得分
    };
    struct list l[100];
    printf("名称\t性别\t校名\t成绩\t得分\n");
    while(i>=0)
   {
        scanf("%s",l[i].name);
        scanf("%c",&l[i].sex);
        scanf("%s",l[i].school);
        scanf("%d",&l[i].score);
        scanf("%d",&l[i].df);
        i--;
    }
    for(j=0;j<n;j++)
        {
        if(l[j].sex=='M')       //M表示男性
            s1=s1+l[j].df;
        else       //F表示女性
            s2=s2+l[j].df;
          }
    printf("s1=%d s2=%d",s1,s2);     //s1,s2表示男女生的总分
}
void main(){
    char t;
loop:
    printf("请输入需要统计的学校的名称:\n");
    scanf("%c",&t);
    switch(t){
    case 'A': input();break;
    case 'B': input();break;
    case 'C': input();break;
    case 'D': input();break;
    case 'E': input();break;
    default: printf("error");break;
    }
    goto loop;
}

   唯实惟新 至诚致志
2011-03-20 17:59
yq1544638566
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2011-3-1
得分:0 
回复 3楼 qq1023569223
这怎么不能上传照片呀,,,我刚试了一下,,还是老问题,不能连续复制给第6个以后的
2011-03-22 22:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-334227-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.304038 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved