复试笔试"/>
杭电2010年复试笔试
1. 猜数字游戏
练习4-6 猜数字游戏 (15 分)
题目:随机产生一个3位的正整数,猜数字。如果猜小了,输出“猜小了,请继续”。如果猜大了,输出“猜大了,请继续”。如果猜对了,输出“恭喜你,猜对了”。
最多只能猜10次,如果猜了10次还没猜对,就退出程序,输出:“Bye Bye”。
2. 字符串提取数字并求和
编写函数 FindAndSum, 输入一个字符串,把字符串中的数字作为整数进行求和,并输出结果。
输入样例:
There are some apple.
输出样例:
0
输入样例:
124and 1524
输出样例:
1648
3.文件操作
有一个文件 student.txt,文件当中包括一组学生的信息,包括名字、学号、英语成绩、语文成绩、数学成绩、科学成绩。
从这个文件当中读入学生的信息,然后按照 总成绩 从高到低 进行排序 并输出学生
student.txt
gengsj 1528140524 99 98 97 96
gaoxh 1528140520 88 77 66 55
niujw 1333434343 88 99 33 44
文件操作_小甲鱼
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;// 学生结构体
struct Student {char name[20];char id[15];int eng, chn, math, science;
}stu[110];// 排序函数,总成绩 从大到小
bool cmp(Student a, Student b) {int suma = a.eng + a.chn + a.math + a.science;int sumb = a.eng + a.chn + a.math + a.science;return suma > sumb;
}int main() {char str[20]; // 表头FILE *fp; // 文件指针//打开文件失败if ((fp = fopen("student.txt", "r")) == NULL) { printf("error\n");exit(EXIT_FAILURE);}//读取表头并输出for (int i = 0; i < 6; i++) {fscanf(fp, "%s", &str);printf("%s ", str);}printf("\n");// 读取每行元素并 录入到结构体数组stu中int i = 0;while (fscanf(fp, "%s", &stu[i].name) != EOF) {fscanf(fp, "%s", &stu[i].id);fscanf(fp, "%d", &stu[i].eng);fscanf(fp, "%d", &stu[i].chn);fscanf(fp, "%d", &stu[i].math);fscanf(fp, "%d", &stu[i].science);i++;}// 排序sort(stu, stu + i, cmp);// 输出for (int j = 0; j < i; j++) {printf("%s %s %d %d %d %d\n", stu[j].name, stu[j].id, stu[j].eng, stu[j].chn, stu[j].math, stu[j].science);}}
更多推荐
杭电2010年复试笔试
发布评论