课程主页在:http://blog.csdn.net/sxhelijian/article/details/13705597
2398:分段函数求值【双分支】
Description
编程序,计算下面函数的值并输出: y = x - 1 (当x>=1), y = -x + 1 (当x<1)
Input
一个整型数x
Output
按公式计算出的y
Sample Input
2
Sample Output
1
参考解答:
#include <stdio.h> int main() { int x,y; scanf("%d", &x); if(x>=1) y=x-1; else y=-x+1; printf("%d",y); return 0; }
2395:小贺的加班工资【简单分支】
Description
小贺刚上班,按计时制领工资,每小时rate元RMB。每周工作时间40小时,如果要加班,超出部分按正常工资的1.5倍计(老板还算不错喔!)。这周小贺上班的时间为hour小时,请编程序,输入rate和hour(均可为小数),输出小贺本周的薪水,要求小数点后保持2位小数。
Input
每小时的工资rate和本周的工作时间hour
Output
本周工资额
Sample Input
15.5 42
Sample Output
666.50
HINT
C语言中,将printf("%.2f\n",x); 可以令x的值保留两位小数输出。
C++中,cout<<setiosflags(ios::fixed)<<setprecision(2)<<x<<endl;令x的值保留两位小数输出,另外,需加头文件#include<iomanip>
参考解答:
#include <stdio.h> int main() { double rate,hour,s; scanf("%lf %lf", &rate, &hour); if(hour<=40) s=hour*rate; else s=40*rate+(hour-40)*1.5*rate; printf("%.2lf\n",s); return 0; }
2396:输入星期值,输出英文【多分支】
Description
从键盘上输入数字星期,然后输出它的英文: 其对应关系是 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 Sunday
Input
从键盘输入数字星期,
Output
输入的数字在1-7之内,则输出该数字对应的英文表示
Sample Input
2
Sample Output
Tuesday
参考解答:
#include <stdio.h> #include <stdlib.h> int main() { int a; scanf("%d",&a); switch(a) { case 1: printf("Monday"); break; case 2: printf("Tuesday "); break; case 3: printf("Wednesday "); break; case 4: printf("Thursday"); break; case 5: printf("Friday"); break; case 6: printf("Saturday"); break; case 7: printf("Sunday"); break; } return 0; }
2399:求倒数和【简单循环】
Description
输入一个小于10的正整数n,求1到n的倒数和(即1+1/2+...+1/n)并输出。
Input
一个整型数 n
Output
1+1/2+...+1/n 的值,小数点后保留6位小数。
Sample Input
4
Sample Output
2.083333
HINT
C语言中,将printf("%.6f\n",x); 可以令x的值保留六位小数输出。
C++中,cout<<setiosflags(ios::fixed)<<setprecision(6)<<x<<endl;令x的值保留六位小数输出,另外,需加头文件#include<iomanip>
#include <stdio.h> int main() { int i,n; double s=0; scanf("%d", &n); for(i=1; i<=n; i++) s+=1.0/i; printf("%.6f",s); return 0; }
2400:多个数的平均值【简单循环】
Description
输入n及n个整数(n不超过20),输出这n个数的平均值
Input
整数n及n个整数,各数用空格隔开
Output
n个整数的平均值(整数)
Sample Input
4 2 4 6 8
Sample Output
5
仿照教材做法:
#include <stdio.h> int main() { int n, i , a[20]; int sum = 0; scanf("%d",&n); //输入n个数 for (i=0; i<n; i++) { scanf("%d",&a[i]); } //将n个数累加 for (i=0; i<n; i++) { sum+=a[i]; } //输出平均数 printf("%d\n",sum/n); return 0; }
两个循环可以合二为一:
#include <stdio.h> int main() { int n, i , a[20]; int sum = 0; scanf("%d",&n); //输入n个数并累加 for (i=0; i<n; i++) { scanf("%d",&a[i]); //输入第i个数 sum+=a[i]; //累加 } //输出平均数 printf("%d\n",sum/n); return 0; }
因为累加完后就没有必要保存这个数了,a不用数组,直接用一个变量即可。
#include <stdio.h> int main() { int n, i , a; int sum = 0; scanf("%d",&n); for (i=0; i<n; i++) { scanf("%d",&a); sum+=a; } printf("%d\n",sum/n); return 0; }