I - Water1
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
Input
输入数据有多组,每组占一行,由一个整数组成。
Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input
56
67
100
123
Sample Output
E
D
A
Score is error!
Sponsor
#include <cstdio>
int main() {
int a,n;
//没什么好说的,不要忘记最后的 `printf("Score is error!\n");`
while(~scanf("%d",&a)) {
if(a>=90&&a<=100) printf("A\n");
else if(a>=80&&a<=89) printf("B\n");
else if(a>=70&&a<=79) printf("C\n");
else if(a>=60&&a<=69) printf("D\n");
else if(a>=0&&a<=59) printf("E\n");
else printf("Score is error!\n");
}
return 0;
}
J - Water2
小赵今年毕业,终于找到了工作。 他赚了很多钱,但似乎从来没有足够的钱。 小赵决定,他需要抓住他的金融投资组合并解决他的融资问题。 第一步是弄清楚他的钱花到哪里去了。 小赵有他的银行账户账单,并希望看到他有多少钱。 通过编写程序帮助小赵从过去12个月的每个月结算余额并计算其平均账户余额。
Input
输入将是十二行。 每一行将包含他的银行账户在特定月份的期末余额。 每个数字都是正数。 不包括美元符号。
Output
输出将是一个单一数字,即十二个月期末余额的平均值。 它将四舍五入到最接近的一分钱,立即以美元符号开头,然后是行尾。 输出中不会有其他空格或字符。
Sample Input
100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
1.75
Sample Output
$1581.42
//本程序中输入输出是小关键点
#include<cstdio>
int main() {
double sum=0;
double a=0;
for(int i=0; i<12; i++) {
scanf("%lf",&a);//输入常浮点用%lf,注意用double,float可能会溢出
sum+=a;
}
printf("$%.2lf",sum/12);//输出格式化,对于%f, “.2”代表四舍五入保留两位小数
return 0;
}
K - Water3
求实数的绝对值。
Input
输入数据有多组,每组占一行,每行包含一个实数。
Output
对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。
Sample Input
123
-234.00
Sample Output
123.00
234.00
#include<cstdio>
int main() {
double a=0;
while(~scanf("%lf",&a)){
//获取文件末尾的小技巧不要忘记
if(a>0)printf("%.2lf\n",a);
else printf("%.2lf\n",-a);
}
return 0;
}
对于给定的一个字符串,统计其中数字字符出现的次数。
Input
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。
Sample Input
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
Sample Output
6
9
#include<cstdio>
int main() {
int n;
char a[1000];
scanf("%d",&n);//不吃回车
getchar();//吃掉回车
while(n--) {
gets(a);//读入整行,自动吃回车
int k=0;
int j=-1;
while(a[++j]!='\0') {
//遍历字符串
if(a[j]>='0'&&'9'>=a[j])k++;
}
printf("%d\n",k);
k=0;
}
return 0;
}
M - Water10
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
#include <cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
i
nt main() {
char s[100];
while(~scanf("%s",&s)) {
//无穷输入判断末尾技巧
sort(&s[0],&s[3]);//排序,这里不需要传入自定义的排序函数
//尤其注意,传入的开始指针是最开头的元素,但结束指针是最后一个元素的后一个元素。
printf("%c %c %c\n",s[0],s[1],s[2]);
}
return 0;
}
N - 十六进制
给定两个十六进制整数a和b,输出他们的和
Input
输入多组数据,以EOF作为数据的结束
每组数据在一行中包含了两个十六进制整数a和b。
Output
对于每一组数据,以十进制输出a+b的和。
每组输出占用一行。
Sample Input
1 9
A B
a b
Sample Output
10
21
21
#include<cstdio>
int main()