编程入门训练
- 1. BC1 -- 实践出真知
- 2. BC2 -- 我是大v
- 3. BC3 -- 有容乃大
- 4. BC4 -- 显示Hello world
- 5. BC5 -- 分而治之
- 6. BC6 -- 小飞机
- 7. BC7 -- 缩短二进制
- 8. BC8 -- 十六进制转十进制
- 9. BC9 -- printf的返回值
- 10. BC10 -- 成绩输入输出
- 11. BC11 -- 成绩输入输出
- 12. BC12 -- 字符金字塔
- 13. BC13 -- ASCII码
- 14. BC14 -- 出生日期输入输出
- 15. BC15 -- 按照格式输入并交换输出
- 16. BC16 -- 字符转ASCII码
- 17. BC17 -- 计算表达式的值
- 18. BC18 -- 计算带余除法
- 19. BC19 -- 反向输出一个四位数
- 20. BC20 -- kiki算数
- 21. BC21 -- 浮点数的各位数字
- 22. BC22 -- 你能活多少秒
- 23. BC23 -- 时间转换
- 24. BC24 -- 总成绩和平均分计算
- 25. BC25 -- 计算体重指数
- 26. BC26 -- 计算三角形的周长和面积
- 27. BC27 -- 计算球体的体积
- 28. BC28 -- 大小写转换
- 29. BC29 -- 2的n次方计算
- 30. BC30 -- KiKi和酸奶
- 31. BC31 -- 发布信息
- 32. BC32 -- 输出学生信息
- 33. BC33 -- 计算平均成绩
- 34. BC34 -- 进制A+B
- 35. BC35 -- 判断字母
- 36. BC36 -- 健康评估
- 37. BC37 -- 网购
- 38. BC38 -- 变种水仙花
- 39. BC39 -- 争夺前五名
- 40. BC40 -- 竞选社长
- 41. BC41 -- 你是天才吗?
- 42. BC42 -- 完美成绩
- 43. BC43 -- 及格分数
- 44. BC44 -- 判断整数奇偶性
- 45. BC45 -- 最高分数
- 46. BC46 -- 判断是元音还是辅音
- 47. BC47 -- 判断是不是字母
- 48. BC48 -- 字母大小写转换
- 49. BC49 -- 判断两个数的大小关系
- 50. BC50 -- 判断两个数的大小关系
- 51. BC51 -- 三角形判断
- 52. BC52 -- 衡量人体胖瘦程度
- 53. BC53 -- 计算一元二次方程
- 54. BC54 -- 获得月份天数
- 55. BC55 -- 简单计算器
- 56. BC56 -- 线段图案
- 57. BC57 -- 正方形图案
- 58. BC58 -- 直角三角形图案
- 59. BC59 -- 翻转直角三角形图案
- 60. BC60 -- 带空格的直角三角形图案
- 61. BC61 -- 金字塔图案
- 62. BC62 -- 翻转金字塔图案
- 63. BC63 -- 菱形图案
- 64. BC64 -- K形图案
- 65. BC65 -- 箭形图案
- 66. BC66 -- 反斜线形图案
- 67. BC67 -- 正斜线形图案
- 68. BC68 -- X形图案
- 69. BC69 -- 空心的正方形图案
- 70. BC70 -- 空心的三角形图案
- 71. BC71 -- 新年快乐
- 72. BC72 -- 平均身高
- 73. BC73 -- 挂科危险
- 74. BC74 -- HTTP状态码
- 75. BC75 -- 数字三角形
- 76. BC76 -- 公务员面试
- 77. BC77 -- 有序序列插入一个数
- 78. BC78 -- 筛选法求素数
- 79. BC79 -- 图形相似度
- 80. BC80 -- 登录验证
- 81. BC81 -- 学好C++
- 82. BC82 -- (a+b-c)*d的计算问题
- 83. BC83 -- 被5整除问题
- 84. BC84 -- 计算y的值
- 85. BC85 -- 包含数字9 的数
- 86. BC86 -- 奇偶统计
- 87. BC87 -- 统计成绩
- 88. BC88 -- 有序序列插入一个数
- 89. BC89 -- 密码验证
- 90. BC90 -- 矩阵计算
- 91. BC91 -- 成绩输入输出问题
- 92. BC92 -- 逆序输出
- 93. BC93 -- 统计数据正负数个数
- 94. BC94 -- N个数之和
- 95. BC95 -- 最高分与最低分之差
- 96. BC96 -- 有序序列判断
- 97. BC97 -- 有序序列插入一个整数
- 98. BC98 -- 序列中删除指定数字
- 99. BC99 -- 序列中整数去重
- 100. BC100 -- 有序序列合并
- 101. BC101 -- 班级成绩输入输出
- 102. BC102 -- 矩阵元素定位
- 103. BC103 -- 序列重组矩阵
- 104. BC104 -- 最高身高
- 105. BC105 -- 矩阵相等判定
- 106. BC106 -- 上三角矩阵判定
- 107. BC107 -- 矩阵转置
- 108. BC108 -- 矩阵交换
- 109. BC109 -- 杨辉三角
- 110. BC110 -- 井字棋
- 111. BC111 -- 小乐乐与进制转换
- 112. BC112 -- 小乐乐求和
- 113. BC113 -- 小乐乐定闹钟
- 114. BC114 -- 小乐乐排电梯
- 115. BC115 -- 小乐乐与欧几里得
- 116. BC116 -- 小乐乐改数字
- 117. BC117 -- 小乐乐走台阶
- 118. BC118 -- 小乐乐与序列
- 119. BC119 -- 小乐乐与字符串
- 121. BC121 -- 小乐乐学编程
- 122. BC122 -- 小乐乐算平均分
- 123. BC123 -- 小乐乐找最大数
- 124. BC124 -- 小乐乐是否被叫家长
- 125. BC125 -- 小乐乐转换成绩
- 126. BC126 -- 小乐乐算多少人被请家长
- 127. BC127 -- 小乐乐算最高分
- 128. BC128 -- 小乐乐计算求和
- 129. BC129 -- 小乐乐计算函数
- 130. BC130 -- 小乐乐查找数字
- 131. BC131 -- KiKi学程序设计基础
- 132. BC132 -- KiKi算期末成绩
- 133. BC133 -- KiKi说祝福语
- 134. BC134 -- KiKi的最高分
- 135. BC135 -- KiKi求质数个数
- 136. BC136 -- KiKi去重整数并排序
- 137. BC137 -- KiKi判断上三角矩阵
- 138. BC138 -- KiKi学结构体和指针
- 139. BC139 -- KiKi定义电子日历类
- 140. BC140 -- KiKi设计类继承
1. BC1 – 实践出真知
题目描述:
于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”
输入描述:
无
输出描述:
Practice makes perfect!
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf("Practice makes perfect!\n");
return 0;
}
2. BC2 – 我是大v
题目描述:
每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。
输入描述:
无
输出描述:
v v
v v
v
示例:
换行使用转义字符‘\n’
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf("v v\n");
printf(" v v\n");
printf(" v\n");
return 0;
}
3. BC3 – 有容乃大
题目描述:
确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。
输入描述:
无
输出描述:
不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。输出样例如下:
The size of short is ? bytes.
The size of int is ? bytes.
The size of long is ? bytes.
The size of long long is ? bytes.
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf("The size of short is %ld bytes.\n", sizeof(short));
printf("The size of int is %ld bytes.\n",sizeof(int));
printf("The size of long is %ld bytes.\n",sizeof(long));
printf("The size of long long is %ld bytes.\n",sizeof(long long));
return 0;
}
4. BC4 – 显示Hello world
题目描述:
BoBo教kiki学习C语言编程,先从经典的“屏幕显示Hello, world!”开始,请输出该功能对应的代码。
输入描述:
无
输出描述:
printf(“Hello, world!\n”);
c++版本:
#include<iostream>
using std::cout;
using std::endl;
int main(void){
std::cout<<"printf(\"Hello, world!\\n\"); "<<std::endl ;
return 0;
}
5. BC5 – 分而治之
题目描述:
程序设计有一个重要的思想就是分而治之(Divide and conquer)。所谓“分而治之” 就是把一个复杂的问题按一定
的方法分为解决方法相同但规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题
的解。C语言源程序一般包括多个函数,每个函数对应一个大任务分解后的子功能,其中main函数是程序开始执行
的入口。main函数一般包括四部分逻辑功能:定义数据、输入数据、处理数据、输出数据。
输入描述:
无
输出描述:
- Define data;
- Input data;
- Process data;
- Output data.
c++版本:
#include<iostream>
using std::cout;
using std::endl;
int main(void){
std::cout<<"1. Define data;\n2. Input data;\n3. Process data;\n4. Output data."<<std::endl ;
return 0;
}
6. BC6 – 小飞机
题目描述:
KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。
输入描述:
无
输出描述:
**
**
************
************
* *
* *
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf(" ** \n");
printf(" ** \n");
printf("************\n");
printf("************\n");
printf(" * *\n");
printf(" * * \n");
return 0;
}
7. BC7 – 缩短二进制
题目描述:
我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。
输入描述:
无
输出描述:
十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。
printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
printf("%#o %#X\n",1234,1234);
}
8. BC8 – 十六进制转十进制
题目描述:
BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。
输入描述:
无
输出描述:
十六进制整数ABCDEF对应的十进制整数,所占域宽为15。
printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
printf("%15d\n",0xABCDEF);
}
9. BC9 – printf的返回值
题目描述:
KiKi写了一个输出“Hello world!”的程序,BoBo老师告诉他printf函数有返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗?
输入描述:
无
输出描述:
包括两行:
第一行为“Hello world!”
第二行为printf(“Hello world!”)调用后的返回值。
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
int n= printf("Hello world!\n");
printf("%d\n",n-1 );
}
10. BC10 – 成绩输入输出
题目描述:
输入3科成绩,然后把三科成绩输出,成绩为整数形式。
输入描述:
一行,3科成绩,用空格分隔,范围(0~100)。
输出描述:
一行,把3科成绩显示出来,输出格式详见输出样例。
示例:
输入:60 80 90
输出:score1=60,score2=80,score3=90
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("score1=%d,score2=%d,score3=%d\n",a,b,c );
}
11. BC11 – 成绩输入输出
题目描述:
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。
输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
输出描述:
学号,3科成绩,输出格式详见输出样例。
示例:
输入:17140216;80.845,90.55,100.00
输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
int id;
float math,c,eng;
scanf("%d;%f,%f,%f",&id,&math,&c,&eng);
printf("The each subject score of No. %d is %.2f, %.2f, %.2f.\n",id,math,c,eng );
}
12. BC12 – 字符金字塔
题目描述:
输入一个字符,用它构造一个三角形金字塔。
输入描述:
输入只有一行,一个字符。
输出描述:
该字符构成的三角形金字塔。
示例:
输入:1
输出:
1
1 1
1 1 1
1 1 1 1
1 1 1 1 1
c/cpp语言版本:
#include<stdio.h>
int main(void){
char num;
scanf("%c",&num );
for(int i=0;i<5;++i){
// 控制行
for(int j=0;j<4-i;++j) printf(" " ); // 控制前导空格
for(int j=0;j<=i;j++)printf("%c ",num ); // 控制字符个数
printf("\n");
}
return 0;
}
13. BC13 – ASCII码
题目描述:
BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,转换以下ASCII码为对应字符并输出他们。73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33
输入描述:
无
输出描述:
转换输出题目中给出的所有ASCII到对应的字符。
示例:
无
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33);
}
14. BC14 – 出生日期输入输出
题目描述:
输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。
输入描述:
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。
输出描述:
三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。
示例:
输入:20130225
输出:
year=2013
month=02
date=25
c/cpp语言版本:
#include<stdio.h>
int main(void){
int num;
scanf("%d",&num );
printf("year=%04d\nmonth=%02d\ndate=%02d\n",num/10000,num%10000/100,num%100); //%02d 前导0补入,位宽为2
return 0;
}
15. BC15 – 按照格式输入并交换输出
题目描述:
输入两个整数,范围-2^31 ~ 2^(31-1),交换两个数并输出。
输入描述:
输入只有一行,按照格式输入两个整数,范围,中间用“,”分隔。
输出描述:
把两个整数按格式输出,中间用“,”分隔。
示例:
输入:a=1,b=2
输出:a=2,b=1
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a,b;
scanf("a=%d,b=%d",&a,&b );
printf("a=%d,b=%d\n",b,a );
return 0;
}
16. BC16 – 字符转ASCII码
题目描述:
BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,输入一个字符,输出该字符相应的ASCII码。
输入描述:
一行,一个字符。
输出描述:
一行,输出输入字符对应的ASCII码。
示例:
输入:c
输出:99
c/cpp语言版本:
#include<stdio.h>
int main(int argc, char** argv){
char c;
scanf("%c",&c );
printf("%d\n",c );
}
17. BC17 – 计算表达式的值
题目描述:
请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。
输入描述:
无
输出描述:
(-8+22)×a-10+c÷2计算之后的结果,为一个整数。
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a=40;
int c = 212;
printf("%d\n",(-8+22)*a-10+c/2);
return 0;
}
18. BC18 – 计算带余除法
题目描述:
给定两个整数a和b (-10,000 < a,b < 10,000),计算a除以b的整数商和余数。
输入描述:
一行,包括两个整数a和b,依次为被除数和除数(不为零),中间用空格隔开。
输出描述:
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
示例:
输入:15 2
输出:7 1
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a=40;
int b = 212;
scanf("%d %d",&a,&b );
printf("%d %d\n", a/b,a%b);
return 0;
}
19. BC19 – 反向输出一个四位数
题目描述:
将一个四位数,反向输出。
输入描述:
一行,输入一个整数n(1000 <= n <= 9999)。
输出描述:
针对每组输入,反向输出对应四位数。
示例:
输入:1234
输出:4321
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a=40;
scanf("%d",&a );
printf("%d%d%d%d\n", a%10,a/10%10,a/100%10,a/1000);
return 0;
}
20. BC20 – kiki算数
题目描述:
问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行
大于等于100的正整数的计算时,规则如下:
-
只保留该数的最后两位,例如:对KiKi来说1234等价于34;
-
如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。
例如:45+80 = 25
要求给定非负整数 a和 b,模拟KiKi的运算规则计算出 a+b 的值。
输入描述:
一行,输入两个非负整数a和b,用一个空格分隔。(0 <= a,b<= 231-1)。
输出描述:
针对每组输入,输出按照KiKi的运算规则计算出 a+b 的值。
示例:
输入:45 80
输出:25
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a=40;
int b;
scanf("%d %d",&a,&b );
printf("%d\n", (a+b)%100);
return 0;
}
21. BC21 – 浮点数的各位数字
题目描述:
给定一个浮点数,要求得到该浮点数的个位数。
输入描述:
一行,包括一个浮点数。
输出描述:
一行,包含一个整数,为输入浮点数对应的个位数。
示例:
输入:13.141
输出:3
c/cpp语言版本:
#include <stdio.h>
int main(void){
float num;
scanf("%f", &num);
int n = num;
printf("%d\n", n%10);
return 0;
}
22. BC22 – 你能活多少秒
题目描述:
问题:一年约有3.156×107s,要求输入您的年龄,显示该年龄合多少秒。
输入描述:
一行,包括一个整数age(0<age<=200)。
输出描述:
一行,包含一个整数,输出年龄对应的秒数。
示例:
输入:20
输出:631200000
c/cpp语言版本:
#include<iostream>
using std::cout;
using std::endl;
using std::cin;
int main(void){
long long n=0;
cin>>n;
cout<<n*31560000<<endl;
}
23. BC23 – 时间转换
题目描述:
给定秒数seconds (0< seconds < 100,000,000),把秒转化成小时、分钟和秒。
输入描述:
一行,包括一个整数,即给定的秒数。
输出描述:
一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。
示例:
输入:3661
输出:1 1 1
c/cpp语言版本:
#include <stdio.h>
int main(void){
int num;
scanf("%d", &num);
printf("%d %d %d\n", num/3600,num%3600/60,num%60);
return 0;
}
24. BC24 – 总成绩和平均分计算
题目描述:
依次输入一个学生的3科成绩,在屏幕上输出该学生的总成绩以及平均成绩。
输入描述:
一行,3科成绩,成绩之间用一个空格隔开。
输出描述:
一行,总成绩和平均成绩(小数点后保留两位),用一个空格隔开。
示例
输入:79.5 80.0 98.0
输出:257.50 85.83
c/cpp语言版本:
#include<stdio.h>
int main(void){
float a,b,c;
scanf("%f %f %f",&a,&b,&c );
printf("%.2f %.2f\n",a+b+c,(a+b+c)/3 );
return 0;
}
25. BC25 – 计算体重指数
题目描述:
问题:计算BMI指数(身体质量指数)。BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重
公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及
分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。
输入描述:
一行,两个整数,分别表示体重(公斤),身高(厘米),中间用一个空格分隔。
输出描述:
一行,BMI指数(保留两位小数)
示例:
输入:70 170
输出:24.22
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a,b;
float c;
scanf("%d %d",&a,&b );
c = b/100.0;
printf("%.2f\n",a/c/c );
return 0;
}
26. BC26 – 计算三角形的周长和面积
题目描述:
根据给出的三角形3条边a, b, c(0 < a, b, c < 100,000),计算三角形的周长和面积。
输入描述:
一行,三角形3条边(能构成三角形),中间用一个空格隔开。
输出描述:
一行,三角形周长和面积(保留两位小数),中间用一个空格隔开,输出具体格式详见输出样例。
示例:
输入:
3 3 3
输出:
circumference=9.00 area=3.90
c/cpp语言版本:
#include<stdio.h>
#include<math.h>
int main(void){
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
printf("circumference=%.2f area=%.2f",a+b+c,1.0/4*sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)));
return 0;
}
27. BC27 – 计算球体的体积
题目描述:
给定一个球体的半径,计算其体积。其中球体体积公式为 V = 4/3*πr3,其中 π= 3.1415926。
输入描述:
一行,用浮点数表示的球体的半径。
输出描述:
一行,球体的体积,小数点后保留3位。
示例:
输入:
3.0
输出:
113.097
c/cpp语言版本:
#include<stdio.h>
#define pi 3.1415926
int main(void){
float a;
scanf("%f",&a );
printf("%.3f\n",pi*a*a*a*4/3 );
return 0;
}
28. BC28 – 大小写转换
题目描述:
实现字母的大小写转换。多组输入输出。
输入描述:
多组输入,每一行输入大写字母。
输出描述:
针对每组输入输出对应的小写字母。
示例:
输入:
A
B
输出:
a
b
c/cpp语言版本:
#include<stdio.h>
#include<ctype.h>
int main(void){
char c;
c=getchar();
while(isupper(c)){
putchar(tolower(c));
putchar('\n');
getchar();
c=getchar();
}
return 0;
}
29. BC29 – 2的n次方计算
题目描述:
不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:
多组输入,每一行输入整数n(0 <= n < 31)。
输出描述:
针对每组输入输出对应的2的n次方的结果。
示例:
输入:
2
10
输出:
4
1024
c/cpp语言版本:
#include<stdio.h>
#include<ctype.h>
int main(void){
int n;
int s=1;
while(scanf("%d",&n ) && n>=0 && n<31){
while(n--){
s<<=1;
}
printf("%d\n",s );
s=1;
getchar();
}
return 0;
}
30. BC30 – KiKi和酸奶
题目描述:
BoBo买了一箱酸奶,里面有n盒未打开的酸奶,KiKi喜欢喝酸奶,第一时间发现了酸奶。KiKi每h分钟能喝光一盒酸奶,并且KiKi在喝光一盒酸奶之前不会喝另一个,那么经过m分钟后还有多少盒未打开的酸奶?
输入描述:
多组输入,每组输入仅一行,包括n,h和m(均为整数)。输入数据保证m <= n * h。
输出描述:
针对每组输入,输出也仅一行,剩下的未打开的酸奶盒数。
示例:
输入:
8 5 16
输出:
4
c/cpp语言版本:
#include<stdio.h>
int main(void){
int n,h,m;
scanf("%d %d %d",&n,&h,&m);
printf("%d\n",(n*h-m)/h);
return 0;
}
31. BC31 – 发布信息
题目描述:
你的手机丢了,在屏幕上输出信息告诉大家。
输入描述:
无
输出描述:
I lost my cellphone!
示例:
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf("I lost my cellphone!\n");
return 0;
}
32. BC32 – 输出学生信息
题目描述:
学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名-Jack,年龄-18,性别-Man,请按照输出样例的格式输出该学生的信息。
输入描述:
无
输出描述:
输出分为三行,分别为标题行,分隔行,信息行。
第一行,标题行,每个标题之间间隔4个空格。
第二行,分隔行,一共21个减号"-"。
第三行,信息行,每列输出信息和标题首字母对齐。输出样例如下:
Name Age Gender
---------------------
Jack 18 man
示例:
c/cpp语言版本:
#include<stdio.h>
int main(void){
printf("Name Age Gender\n");
printf("---------------------\n");
printf("Jack 18 man\n");
return 0;
}
33. BC33 – 计算平均成绩
题目描述:
从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。
输入描述:
一行,连续输入5个整数(范围0~100),用空格分隔。
输出描述:
一行,输出5个数的平均数(保留一位小数)。
示例:
输入:75 80 43 67 96
输出:72.2
c/cpp语言版本:
#include <stdio.h>
int main(void){
int num;
float sum=0;
for(int i=0;i<5;++i){
scanf("%d", &num);
sum+= num;
}
printf("%.1f\n",sum/5 );
}
34. BC34 – 进制A+B
题目描述:
输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。
输入描述:
一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。
输出描述:
一行,a+b的十进制结果。
示例:
输入:
0x12 05
输出:
23
c/cpp语言版本:
#include<stdio.h>
int main(void){
int a,b;
scanf("%x %o",&a,&b );
printf("%d\n",a+b );
return 0;
}
35. BC35 – 判断字母
题目描述:
从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:
多组输入,每行输入包括一个字符。
输出描述:
针对每行输入,输出该字符是字母(YES)或不是(NO)。
示例:
输入:
H
9
输出:
YES
NO
c/cpp语言版本:
#include<stdio.h>
#include <ctype.h>
int main(void){
char c;
while(scanf("%c",&c )!=EOF){
if(isalpha(c))printf("YES\n");
else printf("NO\n");
c = getchar();
}
return 0;
}
36. BC36 – 健康评估
题目描述:
BMI指数(即身体质量指数)是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。例如:一个人的身高为1.75米,体重为68千克,他的BMI=68/(1.752)=22.2(千克/米2)。当BMI指数为18.5~23.9时属正常,否则表示身体存在健康风险。编程判断人体健康情况。
输入描述:
一行,输入一个人的体重(千克)和身高(米),中间用一个空格分隔。
输出描述:
一行,输出身体Normal(正常)或Abnormal(不正常)。
示例:
输入:
68 1.75
输出:
Normal
c/cpp语言版本:
#include<stdio.h>
#include <ctype.h>
int main(void){
float a,b;
scanf("%f %f",&a,&b );
float bmi = a/b/b;
if(bmi >18.5 && bmi<23.9) printf("Normal\n" );
else printf("Abnormal\n");
return 0;
}
37. BC37 – 网购
题目描述:
KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。
输入描述:
一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。
输出描述:
一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你钱)
示例:
输入:
1000.0 11 11 1
输出:650.00
c/cpp语言版本:
#include<stdio.h>
#include <ctype.h>
int main(void){
float p;
int m,d,b;
scanf("%f %d %d %d",&p,&m,&d,&b );
if(m==11 &&d==11) p *=0.7;
if(m==12 &&d==12) p *=0.8;
if(b) p-=50;
if(p>0)printf("%.2f\n",p );
else printf("%.2f\n", 0.0);
return 0;
}
38. BC38 – 变种水仙花
题目描述:
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:
655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
求出 5位数中的所有 Lily Number。
输入描述:
无
输出描述:
一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。
示例:
输入:
输出:
c/cpp语言版本:
#include<stdio.h>
#include<stdlib.h>
int main(void){
int sum=0;
for(int i=10000;i<100000;++i){
sum= (i/10)*(i%10)+ (i/100)*(i%100)+ (i/1000)*(i%1000)+ (i/10000)*(i%10000);
if(sum == i)printf("%d ",i );
}
printf("\n");
}
39. BC39 – 争夺前五名
题目描述:
期中考试开始了,大家都想取得好成绩,争夺前五名。从键盘输入n个学生成绩(不超过40个),输出每组排在前五高的成绩。
输入描述:
两行,第一行输入一个整数,表示n个学生(>=5),第二行输入n个学生成绩(整数表示,范围0~100),用空格分隔。
输出描述:
一行,输出成绩最高的前五个,用空格分隔。
示例:
输入:
6
99 45 78 67 72 88
输出:
99 88 78 72 67
c/cpp语言版本:
#include<stdio.h>
int main(void){
int n,num,mNum[5]={
0};
scanf("%d",&n);
getchar();
for(int i=0;i<n;++i){
scanf("%d", &num);
if(num>mNum[0]){
mNum[4] = mNum[3];
mNum[3] = mNum[2];
mNum[2] = mNum[1];
mNum[1] = mNum[0];
mNum[0] = num;
}else if(num > mNum[1]){
mNum[4] = mNum[3];
mNum[3] = mNum[2];
mNum[2] = mNum[1];
mNum[1] = num;
}else if(num > mNum[2]){
mNum[4] = mNum[3];
mNum[3] = mNum[2];
mNum[2] = num;
}else if(num > mNum[3]){
mNum[4] = mNum[3];
mNum[3] = num;
}else if(num > mNum[4]){
mNum[4] = num;
}else continue;
}
for(int i=0;i<5;++i)printf("%d ",mNum[i]);
printf("\n");
}
40. BC40 – 竞选社长
题目描述:
假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.
输入描述:
一行,字符序列,包含A或B,输入以字符0结束。
输出描述:
一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。
示例:
输入:
ABBABBAAB0
输出:
B
c/cpp语言版本:
#include<stdio.h>
int main(void){
int n=0,m=0;
char c;
while(scanf("%c",&c )!=EOF && c != '0'){
if('A' == c) ++n;
if('B' == c)++m;
}
if(n>m) printf("A\n");
if(n<m) printf("B\n");
if(n==m) printf("E\n");
}
41. BC41 – 你是天才吗?
题目描述:
据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。
输入描述:
多组输入,每行输入包括一个整数表示的智商。
输出描述:
针对每行输入,输出“Genius”。
示例:
输入:
160
输出:
Genius
c/cpp语言版本:
#include<stdio.h>
int main(void){
int c;
while(scanf("%d",&c )!=EOF){
if(c>=140) printf("Genius\n");
}
}
42. BC42 – 完美成绩
题目描述:
KiKi想知道他的考试成绩是否完美,请帮他判断。从键盘输入一个整数表示的成绩,编程判断成绩是否在90~100之间,如果是则输出“Perfect”。
输入描述:
多组输入,每行输入包括一个整数表示的成绩(90~100)。
输出描述:
针对每行输入,输出“Perfect”。
示例:
输入:
98
输出:
Perfect
c/cpp语言版本:
#include<stdio.h>
int main(void){
int c;
while(scanf("%d",&c )!=EOF){
if(c>=90&&c<=100) printf("Perfect\n");
}
}
43. BC43 – 及格分数
题目描述:
KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
输入描述:
多组输入,每行输入包括一个整数表示的分数(0~100)
输出描述:
针对每行输入,输出“Pass”或“Fail”。
示例:
输入:
94
输出:
Pass
c/cpp语言版本:
#include<stdio.h>
int main(void){
int n;
while (scanf("%d", &n)!=EOF) {
if(n<60) printf("Fail\n");
else printf("Pass\n");
}
}
44. BC44 – 判断整数奇偶性
题目描述:
KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。
输入描述:
多组输入,每行输入包括一个整数。
输出描述:
针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。
示例:
输入:
4
7
输出:
Even
Odd
c/cpp语言版本:
#include<stdio.h>
int main(void){
int n;
while (scanf("%d", &n)!=EOF) {
if(n%2) printf("Odd\n");
else printf("Even\n");
}
}
45. BC45 – 最高分数
题目描述:
KiKi参加了语文、数学、外语的考试,请帮他判断三科中的最高分。从键盘任意输入三个整数表示的分数,编程判断其中的最高分。
输入描述:
多组输入,每行输入包括三个整数表示的分数(0~100),用空格分隔。
输出描述:
针对每行输入,输出为一行,即三个分数中的最高分。
示例:
输入:
94 98 99
100 88 60
输出:
99
100
c/cpp语言版本:
#include <stdio.h>
int main(void){
int c,m,e;
int max=-1;
while(scanf("%d %d %d",&c,&m,&e)!=EOF){
max = max>c?max:c;
max = max>m?max:m;
max = max>e?max:e;
printf("%d\n", max);
max = -1;
}
return 0;
}
46. BC46 – 判断是元音还是辅音
题目描述:
KiKi参加了语文、数学、外语的考试,请帮他判断三科中的最高分。从键盘任意输入三个整数表示的分数,编程判断其中的最高分。
输入描述:
多组输入,每行输入一个字母。
输出描述:
针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
示例:
输入:
A
b
输出:
Vowel
Consonant
c/cpp语言版本:
#include<stdio.h>
#include<ctype.h>
int main(void)