成绩统计.

题目描述

兴趣小组收集学员成绩信息,每个学员的成绩有两种表示方法,一种用best、good、poor三种等级来表示,还有一种就是直接用分数来表示(百分制)。请保持学员成绩信息,并且统计有多少人是用等级来表示成绩的,用分数来表示成绩的人的平均分是多少(取整)

输入

第1行输入1个正整数n表示学员人数(n<=1000)
第2~n+1行,每行一个字符和一个字符串,中间用一个空格隔开。第一个字符串表示这个学生成绩类型,有C、N两种,分别代表等级表示和分数表示,第二个字符串表示成绩信息

输出

一行两个整数,分别表示用等级表示成绩的人数和用分数表示成绩的人的平均分(取整),中间用一个空格隔开

样例输入

5
C best
C good
N 90
C poor
N 98

样例输出

3 94
#include<stdio.h>

struct stu{
	char typ[5];
	char grade[10];
};


int main(){
	struct stu s[1000];
	int i,n,sum_C=0,sum_N,ave_N,k=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s%s",&s[i].typ,&s[i].grade);
		if(s[i].typ[0]=='C'){
			sum_C++;
		}
		else{
			sum_N=sum_N+atoi(s[i].grade);
			k++;
		}
	}
	ave_N=sum_N/k;
	printf("%d %d",sum_C,ave_N);
	return 0;
}

自我反思:我在if语句中使用了s[i].typ=='C',输出一直报错,后来我改成了s[i].typ[0]=='C',输出结果就对了。按理来说,前面只输入了一个字母,这两种表达方式应该是一样的……有点搞不懂,这数组越写越有点迷了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值