教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

山东科技大学OJ集锦(5)

来源:网络收集 时间:2026-10-05
导读: { int b,d,n,i,max,min; scanf(\ scanf(\ max=d; min=d; for (i=2;i scanf(\ if (b>=max) max=b; if (b min=b; } printf(\ printf(\ return 0; } (2_9)问题 I: 成绩的等级 时间限制: 1 Sec 内存限制: 2 MB 提交: 42

{

int b,d,n,i,max,min; scanf(\ scanf(\ max=d; min=d;

for (i=2;i<=n;i++) {

scanf(\ if (b>=max) max=b; if (b<=min)

min=b; }

printf(\

printf(\ return 0; }

(2_9)问题 I: 成绩的等级

时间限制: 1 Sec 内存限制: 2 MB 提交: 425 解决: 153 [提交][状态][讨论版] 题目描述

把百分制的考试成绩转换成五级制的成绩: 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing

不在0~100之间的输入是非法数据,输出“Error”。 输入

输入多行,每行一个整数。 输出

输入所对应的成绩等级。 样例输入 -1 81 92 35 68 72 100

样例输出

Error Good Excellent Failing Pass Average Excellent

提示 用switch语句解决这个问题比较方便。 #include int main() {

int score; while(scanf(\ { if (score<0||score>100) printf(\ else {

switch (score/10) { case 0: case 1: case 2: case 3: case 4: case 5: printf(\ case 6: printf(\ case 7: printf(\ case 8: printf(\ case 9: case 10: printf(\ } } }

return 0; }

(2_10)问题 J: 只有一个二元运算符的表达式运算 时间限制: 1 Sec 内存限制: 2 MB 提交: 334 解决: 138

[提交][状态][讨论版] 题目描述

编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。 输入

每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。测试样例不存在除数为0的情况。 输入以a和b为0,且用一个空格分开结束。 输出

每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。 样例输入 33+5 8*9 2.2 1-6 17/3 9%3 0 0

样例输出 38 72

invalid op -5 5 0 提示

教材上有非常相似的例题可以参考。 #include int main() {

int a,b; char c;

while (scanf(\ { if (a==0&&c==32&&b==0) break; else { switch(c) { case '+': printf(\ break; case '-':

printf(\ break; case '*': printf(\ break; case '/': printf(\ break; case '%': printf(\ break; default : printf(\ break; } }

return 0; }

***(2_11)问题 K: 求100以内的素数 时间限制: 1 Sec 内存限制: 2 MB 提交: 612 解决: 197 [提交][状态][讨论版] 题目描述

素数是只能被1和自身整除的正整数,根据数学定义1不是素数。素数也叫质数。 输入

输入为两个整数m和n,满足0<=m<=n<=100。 输出

从大到小输出m~n之间的所有素数,一个素数一行。如果m~n之间没有素数,则不输出任何数。

输出的所有数在两行“=====”之间。 样例输入 2 12

样例输出 ===== 11 7 5 3 2

===== 提示

利用素数的数学规律可以很容易的解出此题,题目给出的数据范围是关

#include

int main() {

int m,n,i,j,N;

scanf(\ printf(\

for(i=n;i>1&&i>=m;i--) {

for(j=2;j<=i-1;j++) { N=1;

if(i%j==0) {

N=0; break; } } if(N)

printf(\ }

printf(\}

(2_12)问题 L: 摄氏——华氏温度转换表 时间限制: 1 Sec 内存限制: 2 MB 提交: 568 解决: 132 [提交][状态][讨论版] 题目描述

已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。

输出给定范围(从low到high)和步长(step)的摄氏——华氏温度转换表 输入

第1行若为“C->F”表示输出:摄氏——华氏温度转换表,若为“F->C”表示输出:华氏——摄氏温度转换表。

第2、3行为两个整数:high和low,其值在-100到200之间。 第4行为step,step精确到小数点后1位。 输出

输出第一行为C和F,分别表示摄氏和华氏,与小数点对齐。若输出摄氏——华氏温度转换表,则C在前、F在后;反之,则输出华氏——摄氏温度转换表。

从输出的第2行开始为从温度low到温度high(包括low和high)的转换表,温度输出精确到小数点后1位,表格被“->”分为两个宽度相同的部分,其它的测试样例也不会给出超出宽度的数据,格式详见sample。 样例输入 C->F -10 40 2.5

样例输出

…… 此处隐藏:479字,全部文档内容请下载后查看。喜欢就下载吧 ……
山东科技大学OJ集锦(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/612115.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)