c语言程序在调试中出现的问题,c语言debug error_c语言 我的程序运行时弹出了Debug error是怎么回事...

问题补充:

题目:

某校发放奖学金共5种,获取条件各不同:

1.阳明奖学金,每人8000,期末平均成绩>80,且在本学期发表论文大于等于1篇;

2.梨洲奖学金,每人4000,期末平均成绩>85,且班级评议成绩>80;

3.成绩优秀奖,每人2000,期末平均成绩>90;

4.西部奖学金,每人1000,期末平均成绩>85的西部省份学生;

5.班级贡献奖,每人850,班级评议成绩>80的学生干部。

现给出若干学生的姓名、期末平均成绩、班级评议成绩、是否学生干部、是否西部省份学生、发表论文数。计算哪个同学获得的奖金总数最高?有多个最高值则输出第一个出现的。

备注:假设获奖人数无限制,一人可兼得多项奖学金。例:某生,期末平均成绩87,班级评议成绩82,且是学生干部,则可同时获得梨洲奖学金和班级贡献奖,奖金总数4850。

输入一个整数n表示有n个学生信息。

接下来n行每行输入一位同学的信息,包括姓名、期末平均成绩、班级评议成绩、是否学生干部、是否西部省份学生、发表论文数。

假设学生最多不超过100人。

输出获得奖学金总数最高的学生的姓名和奖学金数。假如有多个学生,则输出第一个学生的信息即可。具体格式见样例。

格式:

#include

typedef struct StudentInfo

{ @-@ //设计结构体的成员,包括:姓名,分数,班级评议,是否学生干部,是否西部学生,论文数,奖学金 }STU;

STU s[100]; int main() {

int n,max=-1,loc,i; //loc表示最高奖学金获得者的下标

scanf("%d",&n);

getchar();

for(i=0;i

{ scanf("%s",s[i].name); //输入姓名

scanf("%lf%lf",&s[i].sc,&s[i].cla); //输入分数和班级评议成绩

getchar();

s[i].leader=getchar(); //输入是否学生干部

getchar();

s[i].west=getchar(); //输入是否西部省份学生

scanf("%d",&s[i].paper); //输入发表论文数

getchar(); }

@-@ //设计语句判断是否可获得奖学金,有则计算奖学金数目

@-@ //设计语句计算最大奖学金数目及获得者信息

printf("%s\n%d\n",s[loc].name,s[loc].money);

return 0;

}

我编的有什么问题

#include

typedef struct StudentInfo

{

char name[20];

int sc;

int cla;

char leader;

char west;

int paper;

int money; //设计结构体的成员,包括:姓名,分数,班级评议,是否学生干部,是否西部学生,论文数,奖学金

}STU;

STU s[100];

int main()

{

int n,max=-1,loc,i; //loc表示最高奖学金获得者的下标

scanf("%d",&n);

getchar();

for(i=0;i

{

scanf("%s",s[i].name); //输入姓名

scanf("%lf%lf",&s[i].sc,&s[i].cla); //输入分数和班级评议成绩

getchar();

s[i].leader=getchar(); //输入是否学生干部

getchar();

s[i].west=getchar(); //输入是否西部省份学生

scanf("%d",&s[i].paper); //输入发表论文数

getchar();

}

for(i=0;i

{s[i].money=0;}

for(i=0;i

{if(s[i].sc>80&&s[i].paper>=1)

{ s[i].money+=8000;}

}

for(i=0;i

{ if(s[i].sc>85&&s[i].cla>80)

{s[i].money+=4000;}

}

for(i=0;i

{if(s[i].sc>90)

{s[i].money+=2000;}

}

for(i=0;i

{ if(s[i].sc>85&&s[i].west=='Y')

{ s[i].money+=1000;}

}

for(i=0;i

{if(s[i].cla>80&&s[i].leader=='Y')

{ s[i].money+=850;}

}

//设计语句判断是否可获得奖学金,有则计算奖学金数目

for(i=0;i

{

if(s[i].money>max)

{ max=s[i].money;

loc=i;

}

} //设计语句计算最大奖学金数目及获得者信息

printf("%s\n%d\n",s[loc].name,s[loc].money);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值