山科大 C语言程序设计编程精选44例(3)

2018-12-21 13:02

输出

每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算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 #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; }

问题 10: 求100以内的素数

题目描述

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

输入

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

输出

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

输出的所有数在两行“=====”之间。

样例输入

2 12

样例输出

===== 11

7 5 3 2 =====

提示

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

解答:

#include int main() { int a,b,i,q,j; scanf(\ printf(\ for(j=b;j>=a;j--) { q=0; for(i=2;i

问题 11: 摄氏——华氏温度转换表

题目描述

已知华氏温度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

样例输出

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.5 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

提示

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

解答:

#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(\ low+=step; }

return 0; }

else if(ch1=='F'&&ch2=='C') {

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

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

c=(low-32)*5/9.0;

printf(\ low+=step; }

return 0;


山科大 C语言程序设计编程精选44例(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016最新人教版小学英语六年级下册教案

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

马上注册会员

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