Mark一下读入一行的代码

本文介绍了一个简单的字符处理程序,该程序通过逐个读取字符并统计大写字母的数量来进行字符分析。当遇到换行符时,程序会比较并记录最大计数值。
getchar();
        c=getchar();
        while(c!='\n')
        {


            if(c==' ')
                {Max=max(Max,p);p=0;}
            else
            if(c>='A'&&c<='Z')p++;
            c=getchar();
        }
6-1 学生成绩 分数 50 作者 翁恺 单位 浙江大学 要求实现一个学生成绩处理程序,程序要读入学生的成绩,然后输出成一定格式的表格。 输入数据首先是一个数字n,表明有n个学生。 然后,每个学生的数据首先是一行名字,其中可能包含空格,第二行是一个数字m,表示这个学生有m门课程的成绩。 接下去是m行,每一行有一个单词(以空格结束)和一个整数,单词是课程的名称,整数是这个学生在这门课上的成绩。 程序要读入以上格式的数据,然后产生一张表格。 表格的头(第一行)以单词“name”开头,然后是所有学生都可能有的课程名称,最后一列是单词“average”,期间以tab分隔。 从第二行开始,依次列出每一位学生的成绩,首先是他的姓名,然后是各课成绩,期间以tab分隔。如果某学生没有某门课的成绩,则在对应的位置上输出一个'-'。最后一列给出他的平均分,不带小数点后的数字。 表格的最后一行,给出每门课的平均分,但是不需要输出最后一列所有人的平均分的平均分。 函数接口定义: 请在“裁判测试程序样例”中注释的“// Your code goes here:”部分补充你的代码。 请在“裁判测试程序样例”中注释的“// Your code goes here:”部分补充你的代码。 裁判测试程序样例: #include <iostream> #include <vector> #include <set> #include <map> using namespace std; class Score { string name; int mark; public: Score():mark(0) {} Score(string _name, int _mark) : name(_name), mark(_mark) {} string getName() { return name; } int getMark() { return mark; } void scan() { cin>> name >> mark; } }; class Student { string name; map<string, int> mScore; public: string getName() { return name; } void scan(); set<string> getCourseNames(); int getMarkByCourseName(string courseName); }; class Department { vector<Student> vStudent; public: void scan() { int number; cin >> number; for ( int i=0; i<number; i++ ) { Student stu; stu.scan(); vStudent.push_back(stu); } } void report(); }; // ----- // Your code goes here: // ----- int main() { Department dept; dept.scan(); dept.report(); return 0; } /* 请在这里填写答案 */ 输入样例: 2 John Smith 3 OOP 78 JAD 82 PPL 92 Mary Johnson 2 OOP 81 Arch 67 输出样例: name Arch JAD OOP PPL average John Smith - 82 78 92 84 Mary Johnson 67 - 81 - 74 67 82 80 92 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
最新发布
12-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值