山东科技大学C语言作业四

2018-12-20 22:20

Problem A: 只有一个二元运算符的表达式运算

Time Limit: 1 Sec Memory Limit: 2 MB Submit: 5044 Solved: 1937 [Submit][Status][Web Board]

Description

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

Input

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

Output

每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。

Sample Input

33+5 8*9 2.2 1-6 17/3 9%3 0 0

Sample Output

38 72 invalid op -5 5 0

#include #include void main() {

int i,a,b; char c;

for(i=0;i<=100;i++)

{for(;scanf(\ if(a==0&&c==' '&&b==0) goto loop; else

switch(c) {

case'+':

printf(\ break; case'-':

printf(\ break; case'*':

printf(\ break; case'/':

printf(\ break; case'%':

printf(\ break; default:

printf(\

} } loop: i=101; }

Problem B: 摄氏——华氏温度转换表

Time Limit: 1 Sec Memory Limit: 2 MB Submit: 6632 Solved: 1711 [Submit][Status][Web Board]

Description

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

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

Input

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

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

Output

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

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

Sample Input

C->F -10

40 2.5

Sample Output

C -> F -10.0 -> 14.0 -7.5 -> 18.5 -5.0 -> 23.0 -2.5 -> 27.5 0.0 -> 32.0 2.5 -> 36.5 5.0 -> 41.0 7.5 -> 45.5 10.0 -> 50.0 12.5 -> 54.5 15.0 -> 59.0 17.5 -> 63.52 20.0 -> 68.0 22.5 -> 72.5 25.0 -> 77.0 27.5 -> 81.5 30.0 -> 86.0 32.5 -> 90.5

35.0 -> 95.0 37.5 -> 99.5 40.0 -> 104.0

HINT

输出格式可以通过sample分析出来,因为两栏的总宽度是固定的。一个隐藏的陷阱是step是浮点数,某些浮点数是无法精确存储的,因此经过一定量的计算后这个误差会影响到浮点数的相等性判断,需要加上精度控制。

Append Code

[Submit][Status][Web Board]

#include int main() {

double low,high; double step,c,f; char ch1,ch2;

scanf(\ if(ch1=='C'&&ch2=='F') {

scanf(\ f=(double)9/5*low+32; if(low==-100||f<=-100) {

printf(\ C -> F\ while(low<=high+0.01) {

f=low*9.0/5.0+32;

printf(\ low+=step; }

return 0; }

printf(\ C -> F\ while(low<=high+0.01) {

f=low*9.0/5.0+32;

printf(\


山东科技大学C语言作业四.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017妇产科护理期中试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: