C程序设计语言1中国石油大学(华东)C程序设计语言课程网站习题及提交历史2013.6石油工程12-02班C程序设计语言2【设计型】4.1温度转换背景:经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:有些使用华氏温度标准(F),有些使用摄氏温度(C)。现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。温度转换的公式为:F=(C×9/5)+32;C=(F-32)×5/9;式中F--华氏温度,C--摄氏温度。输入:第一个数据(1或2)确定转换的类型:华氏转摄氏(1);摄氏转华氏(2);第二个数据是相应需要转换的温度值。输出:相应的转换后的温度值(保留小数点后2位)。提交历史:#includestdio.hintmain(){inta;floatx,F,C;scanf(%d%f,&a,&x);if(a==1){C=(x-32)*5/9;printf(TheCentigradeis%.2f\n,C);}elseif(a==2){F=(x*9/5)+32;printf(TheFahrenheitis%.2f\n,F);}elseprintf(Error!);return0;}【设计型】4.2分段函数有一分段函数,y=f(x)。当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9.从键盘上输入一个整数x,输出对应的y值。提交历史:C程序设计语言3#includestdio.hintmain(){intx,y;scanf(%d,&x);if(x6)y=x-12;elseif(x=6&&x15)y=3*x-1;elsey=5*x+9;printf(%d\n,y);return0;}【设计型】4.3整数位数判断输入一个不多于5位的正整数,要求:(1)求它是几位数;(2)逆序打印出各位数字。#includestdio.hintmain(){intx,m,a,b,c,d,e,A,B,C;scanf(%d,&x);if(x0||x99999){printf(Invalidinput\n);}elseif(x/100000){a=x/10000;m=5;A=x%10000;b=A/1000;B=A%1000;c=B/100;C=B%100;d=C/10;e=C%10;printf(%d\n%d%d%d%d%d\n,m,e,d,c,b,a);}elseif(x/10000){a=x/1000;m=4;A=x%1000;b=A/100;B=A%100;c=B/10;d=B%10;printf(%d\n%d%d%d%d\n,m,d,c,b,a);}elseif(x/1000){a=x/100;m=3;A=x%100;b=A/10;c=A%10;printf(%d\n%d%d%d\n,m,c,b,a);}elseif(x/100){a=x/10;m=2;b=x%10;printf(%d\n%d%d\n,m,b,a);}else{m=1;printf(%d\n%d\n,m,x);}return0;}【设计型】4.4四位数拆分输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invaliddata。提交历史C程序设计语言4#includestdio.hintmain(){intx,m,a,b,c,d,A,B;scanf(%d,&x);if(x9999||x=999){printf(Invaliddata\n);}else{a=x/1000;A=x%1000;b=A/100;B=A%100;c=B/10;d=B%10;m=(a+b+c+d)%2;if(m==0){printf(Yes\n);}else{printf(No\n);}}return0;}【设计型】4.5磨磨你的砍柴刀:判断三角形的形状要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均0。输入:三角型的3条边的长度(int型)。输出:等边三角形:equilateraltriangle.等腰三角形:isocelestriangle.不构成三角形:non-triangle.一般三角形:triangle.\提交历史#includestdio.hintmain(){inta,b,c;scanf(%d%d%d,&a,&b,&c);if(a==b&&b==c){printf(equilateraltriangle.\n);}else{if(a+b-c0||a+c-b0||b+c-a0){printf(non-triangle.\n);}elseif(a==b||b==c||a==c)C程序设计语言5{printf(isocelestriangle.\n);}else{printf(triangle.\n);}}return0;}【设计型】4.6判断某年某月的天数一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。现在要求从键盘上输入一个年份和月份,输出其对应的天数。#includestdio.hintmain(){intx,y;scanf(%d%d,&x,&y);if(x%100==0){if(x%400==0){x=1;}else{x=2;}}else{if(x%4==0){x=1;}else{x=2;}}if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){printf(31\n);}elseif(y==4||y==6||y==9||y==11){printf(30\n);}elseif(y==2&&x==1){printf(29\n);}else{printf(28\n);}}【设计型】4.7到邮局去寄包裹你去邮局给朋友寄礼物。发现邮局对邮寄包裹的费用是这样规定的:如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,不同重量的邮资按下表计算:重量(千克)收费标准(元)小于100.80大于等于10但不超过200.75大于等于20但不超过300.70C程序设计语言6编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出Error”.\提交历史:#includestdio.hintmain(){floata,b,c,m,x;scanf(%f,%f,%f,%f,&a,&b,&c,&m);if(a=1||b=1||c=1||m30)printf(Error\n);else{if(0m&&m10){x=0.80*m+0.20;printf(%.2lf\n,x);}elseif(10=m&&m20){x=0.75*m+0.20;printf(%.2lf\n,x);}elseif(20=m&&m=30){x=0.70*m+0.20;printf(%.2lf\n,x);}elseprintf(Error\n);}return0;}【设计型】4.8花多少钱买衣服周末商场促销呢,某品牌服装既可以买套装,也可以买单件。若买的不少于50套,每套80元;不足50套的每套90元,只买上衣每件60元,只买裤子每条45元。编写程序,输入计划购买的上衣数量a和裤子的数量b,计算并输出应该付的款m。提交历史:#includestdio.hintmain(){inta,b,s;scanf(%d%d,&a,&b);if(a=50&&b=50){if(ab){s=80*b+60*(a-b);}else{s=80*a+45*(b-a);}}else{if(ab){s=90*b+60*(a-b);}else{s=90*a+45*(b-a);}}printf(%d\n,s);C程序设计语言7return0;}【设计型】4.9输出星期几的英文表示输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词Error(回车)。提醒:周一到周日必须都判断,单词拼法SundaySaturdayFridayThursdayWednesdayTuesdayMonday,另外还要对不合法的数据进行判断。提交历史#includestdio.hintmain(){intD;scanf(%d,&D);if(D==1)printf(Monday\n);elseif(D==2)printf(Tuesday\n);elseif(D==3)printf(Wednesday\n);elseif(D==4)printf(Thursday\n);elseif(D==5)printf(Friday\n);elseif(D==6)printf(Saturday\n);elseif(D==7)printf(Sunday\n);elseprintf(Error\n);return0;}【设计型】4.10判断输入的字符的类型我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capitalletters,小写字母时输出smallletters,数字是输出figures,其他字符时输出others。提交历史:#includestdio.hintmain(){charch;scanf(%c,&ch);if(ch='A'&&ch='Z'){printf(capitalletters\n);}elseif(ch='a'&&ch='z'){printf(smallletters\n);}elseif(ch='0'&&ch='9'){printf(figures\n);}else{printf(others\n);}return0;}C程序设计语言8【设计型】4.11出租车计费题目描述根据某城市普通出租车收费标准编写程序对车费进行计算。具体标准如下:起步里程为3km,起步费10元;10km以内超过起步里程部分,每千米2元,超过10km以上的部分,每千米3元。输入行驶里程数(单位千米)。输出乘客应支付的车费(单位元),结果四舍五入,保留到元。样例输入12.5样例输出32提交历史:#includestdio.hintmain(){floatp,d;scanf(%f,&d);if(d=3){p=10;}elseif(d3&&d=10){p=10+2*(d-3);}else{p=10+14+3*(d-10);}printf(%.0f\n,p);return0;}【设计型】5.1输出一行星号问题描述编写程序在一行中输出N个星号。输入星号个数值N输出C程序设计语言9一行中N个星号#includestdio.hintmain(){intnum,i=1;scanf(%d,&num);while(i=num){printf(*);i=i+1;}printf(\n);return0;}【设计型】5.2打印平行四边形问题描述输入图形的高n,输出如下例(n=5)所示的图形.*************************输入整数n例如5输出由*组成的高为5的平行四边形提交历史:#includestdio.hintmain(){intnum,i=1,k=1,m=1;scanf(%d,&num);while(k=num){while(m+1=k){printf();m=m+1;}while(i=num){printf(*);C程序设计语言10i=i+1;}printf(\n);k=k+1;i=1;m=1;}return0;}【设计型】5.3编程计算问题描述编写程序,输入n的值,求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+1