1、 - 1 - - 1 - 4.1 温度转换 背景: 经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:有些使用华氏温度标准( F),有些使用摄氏温度( C)。现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。 温度转换的公式为: F (C 9 5) 32 ; C (F 32) 5 9 ;式中 F-华氏温度, C-摄氏温度。 输入: 第一个数据( 1 或 2 )确定转换的类型:华氏转摄氏( 1);摄氏转华氏( 2); 第二个数据是相应需要转换的温度值。 输出: 相应
2、的转换后的温度值(保留小数点后 2 位)。 #include void main() int lx; double f,c; scanf(“%d“, if(lx=1) scanf(“%lf“, c=(f-32)*5/9; printf(“The Centigrade is %.2fn“,c); else scanf(“%lf“, f=(c*9/5)+32; printf(“The Fahrenheit is %.2fn“,f); 4.2 分段函数 有一分段函数, y=f(x)。当 x小于 6 时, y=x-12;当x 大于等于 6 且小于 15 时, y=3x-1;当 x 大于等于15 时,
3、y=5x+9.从键盘上输入一个整数 x,输出对应的 y 值。 #include void main() int x,y; scanf(“%d“, if(x #include #define SIZE 5 int main(void) int bit_count;/位数 long int input_num;/输入数 int resultSIZE;/存放各个位的数 int i; scanf(“%ld“, if (input_num 99999) printf(“Invalid inputn“); exit(1); for( bit_count = 0; input_num; +bit_count
4、) resultbit_count = input_num % 10; input_num /= 10; printf(“%dn“,bit_count); for(i = 0; i void main() int x,a,b,c,d,e; scanf(“%d“, if(x/1000=1) printf(“Invalid datan“); else a=x/1000; b=x%1000/100; c=x%1000%100/10; d=x%1000%100%10; e=(a+b+c+d)%2; if(e=0) printf(“Yesn“); else printf(“Non“); 4.5 磨磨你的
5、砍柴刀:判断三角形的形状 要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均 0。 输入:三角型的 3 条边的长度( int 型)。 输出:等边三角形: equilateral triangle. 等腰三角形: isoceles triangle. 不构成三角形: non-triangle. 一般三角形: triangle. #include void main() float a,b,c; scanf(“%f%f%f“, if(a+b。输入其他字符时原样输出。 友情提示:整数之间运算的结果要取整,例如 5/2 的结果是 2,而 5.0/2.0 对小数四舍五入的结果就是 3.0
6、了。所以输入大写英文字母时的输出要仔细考虑。 #include int main() char ch; int a; ch=getchar(); if(ch=97 scanf(“%d %d“, switch(month) case 1: case 3: case 5: - 3 - - 3 - case 7: case 8: case 10: case 12: days=31;break; case 4: case 6: case 9: case 11:days=30;break; case 2:if(year % 4 =0) else days=28; printf(“%dn“,days);
7、4.8 花多少钱买衣服 周末商场促销呢,某品 牌服装既可以买套装,也可以买单件。若买的不少于套,每套元;不足套的每套元,只买上衣每件元,只买裤子每条元。编写程序,输入计划购买的上衣数量 a 和裤子的数量 b ,计算并输出应该付的款 m 。 #include void main() int a,b,y; scanf(“%d%d“, if(b=50) y=80*b+(a-b)*60; if(a=50) y=80*a+(b-a)*45; printf(“%dn“,y); 4.9 到邮局去寄包裹 你去邮局给朋友寄礼物。发现邮局对邮寄包裹的费用是这样规定的:如果包裹长宽高任意一个尺寸超过米,或重量超过千
8、克,不予邮寄;对可以邮寄的包裹每件收手续费 0.2 元,不同重量的邮资按下表计算: 重量(千克) 收费标准(元) 小于 . 大于等于但不超过 . 大于等于但不超过 . 编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出 “Error” . #include void main() float a,b,c,m,y; scanf(“%f,%f,%f,%f“, if(a1|b1|c1|m30) printf(“Errorn“); else if(m void main() int a; scanf(“%d“, switch(int)(a) c
9、ase 1:printf(“Mondayn“);break; case 2:printf(“Tuesdayn“);break; case 3:printf(“Wednesdayn“);break; case 4:printf(“Thursdayn“);break; case 5:printf(“Fridayn“);break; case 6:printf(“Saturdayn“);break; case 7:printf(“Sundayn“);break; default:printf(“Errorn“); - 4 - - 4 - 5.1 输出一行星号 编写程序在一行中输出 N 个星号。 输入
10、: N 值 输出: 一行中 N 个星号 #include int main() int n,i; scanf(“%d“, for(i=0;i void main() int n,m,i,d; char p,t; scanf(“%d,%c“, for(m=0;m0)。 输出:打印相应的空心倒三角形。图样参见测试用例。 #include #include int main() int h,i,j,k,m,n; scanf(“%d“, if(h1) i #include int main() int a=1,n,b; scanf(“%d“, while(a #include int main() c
11、har ch; int n,a=1,b,c; scanf(“%c %d“, while(a=2) while(c #include int main() int n,i=1,j; scanf(“%d“, while(i #include int main() int n,i=1,j,k; scanf(“%d“, while(i #include int main() int n,i=1,j,k,l; scanf(“%d“, while(i #include - 8 - - 8 - int main() int n,i=1,j,k; scanf(“%d“, while(i #include in
12、t main() int n,i,j,k; scanf(“%d“, for(i=1; i void main() int m,n,i,j; - 9 - - 9 - scanf(“%d%d“, for(i=m;i=1;i-) if (n%i=0 break; for (j=m;j+) if (j%m=0 break; 5.12 水仙花数 输出所有的水仙花数。所谓的水仙花数是指一个 3位数,其各位数字立方和等于该数本身。例如 153是一水仙花数,因为 153=13+53+33 输出语句: printf(“%dn“,n); #include void main() int n, i, j, k; f
13、or(n=100; n #include int main() int n,i,c,sum=0; scanf(“%d“, for(i=1;i #include void main() int m,n,i,j,k; scanf(“%d%d“, for(i=m;ik) printf(“ %d“,i); printf(“n“); 5.15 找出最大素数 素数是指一个只能被 1 和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。 输入:取值范围 - 10 - - 10 - 输出:该范围内的最大素数 #include int main() int a,i,j; scanf(“%d“, for(i=a;i1;i-) for(j=2;j #include #include char *chan(int count) ; int main(int argc, char* argv) char *str; int i,n; str=chan(0); n=strlen(str); for (i = 0; i #include int main() int n,i,j,a=0,b=1,c; scanf(“%d“, i=n*n; j=i-n; while(n0) n=n/10; a+; for(c=1; c=a; c+) b=b*10;