课程主页在: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;
}