十分题
- L1-007 念数字 (10 分)
- L1-008 求整数段和 (10 分)
- L1-010 比较大小 (10 分)
- L1-013 计算阶乘和 (10 分)
- L1-018 大笨钟 (10 分)
- L1-022 奇偶分家 (10 分)
- L1-028 判断素数 (10 分)
- L1-031 到底是不是太胖了 (10 分)
- L1-037 A除以B (10 分)
- L1-040 最佳情侣身高差 (10 分)
- L1-041 寻找250 (10 分)
- L1-047 装睡 (10 分)
- L1-053 电子汪 (10 分)
- L1-055 谁是赢家 (10 分)
- L1-061 新胖子公式 (10 分)
- L1-063 吃鱼还是吃肉 (10 分)
- L1-067 洛希极限 (10 分)
- L1-068 调和平均 (10 分)
- L1-075 强迫症 (10 分)
- L1-076 降价提醒机器人 (10 分)
L1-007 念数字 (10 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
输入格式:
输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式:
在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例:
600
输出样例:
fu liu ling ling
答案(代码):
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] date = {
"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
String str = input.next();
int i = 0;
if (str.charAt(i) == '-') {
System.out.print("fu ");
i++;
}
while (i < str.length()) {
int n = str.charAt(i)-'0';
System.out.print(date[n]);
i++;
if (i != str.length()) {
System.out.print(" ");
}
}
}
}
L1-008 求整数段和 (10 分)
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8Sum = 30
答案(代码):
#include<stdio.h>
int main(){
int a,b,sum=0;
scanf("%d %d",&a,&b);
for(int i=a;i<=b;i++){
printf("%5d",i);
if((i-a+1)%5==0&&i!=b)
printf("\n");
sum+=i;
}
printf("\n");
printf("Sum = %d",sum);
return 0;
}
L1-010 比较大小 (10 分)
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
答案(代码):
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner std=new Scanner(System.in);
int t;
int a=std.nextInt();
int b=std.nextInt();
int c=std.nextInt();
if(a>b) {
if(a>c) {
if(b>c)System.out.print(c+"->"+b+"->"+a);
else System.out.print(b+"->"+c+"->"+a);
}
else System.out.print(b+"->"+a+"->"+c);
}
else {
//a<b
if(b>c) {
if(a>c)System.out.print(c+"->"+a+"->"+b);
else System.out.print(a+"->"+c+"->"+b);
}
else System.out.print(a+"->"+b+"->"+c);
}
}
L1-013 计算阶乘和 (10 分)
对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3
输出样例:
9
答案(代码):
#include<stdio.h>
int main(){
int n,product,sum=0;
scanf("%d",&n);
if(n<=10){
for(int i = 1;i <= n;i++){
product=1;
for(int j = 1;j <= i;j++){
product *= j;
}
sum += product;
}
}
printf("%d",sum)