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