课程主页在:http://blog.csdn.net/sxhelijian/article/details/13705597
Problem A 求n以内奇数的平方和【简单循环】
Description
输入n,求n以内奇数的平方和
Input
整型数n
Output
n以内奇数的平方和(例如,输入7,输出为12+32+52+72=84)
Sample Input
7
Sample Output
84
参考解答:
#include<stdio.h>
int main()
{
// 注意sum要赋初值
int n, sum = 0;
int i;
scanf("%d",&n);
for( i=1; i<=n; i+=2 )
{
sum = sum + i*i;
}
printf("%d",sum);
return 0;
}
Problem B 谁去参加竞赛?【简单循环】
Description
学校要举办大学生程序设计竞赛,老师要求期末考试成绩在平均成绩以上的同学都去参赛。谁去参赛?那得先算出平均成绩。
Input
输入若干个0-100间的数表示成绩,为适应不同人数的班级,人数不确定,输入以一个负数结束。(为简单起见,不必对输入数据是否超出100进行限制)
Output
成绩的平均值(输出保留1位小数)
Sample Input
98.5 72.3 67.3 87 54.3 63 78.5 -1
Sample Output
74.4
HINT
C语言中,将printf("%.1f\n",x); 可以令x的值保留1位小数输出。
C++中,cout<<setiosflags(ios::fixed)<<setprecision(1)<<x<<endl;令x的值保留1位小数输出,另外,需加头文件#include<iomanip>
参考解答:
#include<stdio.h>
int main()
{
float score, sum = 0, n=0;
scanf("%f",&score);
while(score>=0)
{
sum += score;
n++;
scanf("%f",&score);
}
if(n>0)
printf("%.1f",sum/n);
else
printf("%.1f",0.0);
return 0;
}
Problem C 某年某月的天数【多分支】
Description
输入年和月,判断该月有几天?
Input
输入年和月,格式为:年 月
Output
输出该月的天数。
Sample Input
2009 1
Sample Output
31
HINT
注意判断闰年啊
参考解答1:
#include<stdio.h>
int main()
{
int year, month, days;
scanf("%d %d", &year, &month);
switch (month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
days = 31;
break;
case 4 :
case 6 :
case 9 :
case 11 :
days = 30;
break;
default: // month == 2
if( (year%4==0&&year%100!=0)|| (year%400==0) )
days = 29;
else
days = 28;
}
printf("%d",days);
return 0;
}
参考解答2:
#include <stdio.h>
int main()
{
int year,month,d;
char c;
scanf("%d%c%d",&year,&c,&month);
switch(month)
{
case 12:d=31;break;
case 11:d=30;break;
case 10:d=31;break;
case 9:d=30;break;
case 8:d=31;break;
case 7:d=31;break;
case 6:d=30;break;
case 5:d=31;break;
case 4:d=30;break;
case 3:d=31;break;
case 2:d=28;break;
case 1:d=31;break;
}
if(year%400==0||year%100!=0&&year%4==0&&month==2)
d++;
printf("%d\n",d);
return 0;
}
Problem D 帮警长数一数【循环、分支简单综合】
Description
黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了血型,需要统计各种血型的样本数目。
Input
血型序列(A/B/O/C,C代表AB型血,输入以X结束)
Output
各种血型的数量
Sample Input
ABCAOCOAOOBX
Sample Output
A:3
B:2
O:4
AB:2
参考解答:
#include<stdio.h>
int main()
{
int a=0, b=0, ab=0, o=0;
char blood;
scanf("%c", &blood);
while(blood!='X')
{
switch (blood)
{
case 'A' :
a++;
break;
case 'B' :
b++;
break;
case 'C' :
ab++;
break;
case 'O' :
o++;
break;
}
scanf("%c", &blood);
}
printf("A:%d\n",a);
printf("B:%d\n",b);
printf("O:%d\n",o);
printf("AB:%d\n",ab);
return 0;
}