博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2016年 成渝校招软件上机练习
阅读量:5961 次
发布时间:2019-06-19

本文共 1310 字,大约阅读时间需要 4 分钟。

第一题:

代码:

/* * 老师想知道从某某同学到某某同学其中,分数最高的是多少。 * 如今请你编程模拟老师的询问。当然,老师有时候须要更新某位同学的成绩。

*/ #include<stdio.h> #include<string.h> #define N 30000 #define M 5000 /* * 定义一个数组。这个数组成员包含学生的编号,以及成绩 */ struct student { int Num; int score; }; /* 千万要记得这个分号不可少 */ /* * 将每一个分数与每次比較较大的值进行比較并返回其中最高分 */ int sort(struct student stu[], int min, int max) { int i, maxscore = stu[min].score; for ( i = min; i < max + 1; i++ ) { if ( maxscore < stu[i].score ) { maxscore = stu[i].score; } } return maxscore; } /* * 成绩更新函数,依据对应的输入编号。并对其进行成绩更改 */ void UpdateScore( struct student stu[], int n, int score1) { stu[n].score = score1; } int main(void) { int n, m, score0; /* 学生人数 n。操作数 m, 学生分数 score0 */ char e[20]; /* e 表示操作数 */ int i , j = 0, k, Num1, Num2; /* 更改成绩的学生编号 Num。查询时候的数字编号Num1。 Num2 */ struct student a[N]; int Output[128] = {0}; /* 将要输出的数据进行保存 */ /* 输入学生人数 n, 以及操作数 m*/ scanf("%d %d", &n, &m); for( i = 1; i < n + 1; i++) { scanf("%d", &score0); a[i].Num = i; a[i].score = score0; } scanf("\n"); /* 输入操作数 C * 当C为‘Q’的时候,表示这是一条询问操作,它询问ID从A到B(包含A,B)的学生其中,成绩最高的是多少。 * 当C为‘U’的时候。表示这是一条更新操作。要求把ID为A的学生的成绩更改为B。

*/ while (m--) { scanf("%s%d%d", &e,&Num1, &Num2 ); if ('Q' == e[0]) { Output[j] = sort( a, Num1, Num2); j++; } else if ('U' == e[0]) { UpdateScore( a, Num1, Num2); } } for ( k = 0; k < j; k++) { printf("%d\n", Output[k]); } }

你可能感兴趣的文章
Guava——使用Preconditions做参数校验
查看>>
iSCSI存储用作Proxmox VE的LVM共享存储
查看>>
Sonnet Suite Pro v11.52-ISO 1CD(三维高频电子设计)
查看>>
Fedora Core 6 刷新率超出范围解决方法
查看>>
linux网络
查看>>
我的友情链接
查看>>
linux 系统调优步骤 例
查看>>
显式方法与隐式方法
查看>>
Android防火墙+流量统计代码
查看>>
通知中心
查看>>
我的友情链接
查看>>
MVC中的三个模块
查看>>
Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
查看>>
oracle 常用命令大汇总
查看>>
2012年春运火车票电话和网上订票技巧、攻略
查看>>
根据request获取请求路径
查看>>
mysql 并行复制
查看>>
傲不可长,欲不可纵,乐不可极,志不可满——提高个人修养
查看>>
linux系统增加swap容量的方法
查看>>
远程推送
查看>>