(题目标题可以直接转题目链接)
描述
据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。
输入描述:
多组输入,每行输入包括一个整数表示的智商。
输出描述:
针对每行输入,输出“Genius”。
示例1
输入:160
输出:Genius
参考代码:
#include <stdio.h>
//方法1
int main()
{
int n = 0;
while(scanf("%d", &n) != EOF)
{
if(n>=140)
printf("Genius");
}
return 0
}
//方法2
#include <stdio.h>
int main()
{
int n = 0;
//这种写法是因为scanf读取失败返回EOF,EOF是-1,所以按位取反后的结果是0,0为假,可以让循环
停止。
while(~scanf("%d", &n))
{
if(n>=140)
printf("Genius");
}
return 0;
}
答案解析: 关于对组输入的题目,一定要处理好多组数据的输入问题,然后考虑循环如何结束。 方法1和方法2,给出了2种多组输入的方法。
描述
KiKi想知道他的考试成绩是否完美,请帮他判断。从键盘输入一个整数表示的成绩,编程判断成绩是否在90~100之间,如果是则输出“Perfect”。
输入描述:
多组输入,每行输入包括一个整数表示的成绩(90~100)。
输出描述:
针对每行输入,输出“Perfect”。
示例1
输入:98
输出:Perfect
参考代码:
#include <stdio.h>
int main() {
int n=0;
while(~scanf("%d",&n))
{
if (n>=90&&n<=100) {
printf("Perfect\n");
}
}
}
描述
KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
输入描述:
多组输入,每行输入包括一个整数表示的分数(0~100)。
输出描述:
针对每行输入,输出“Pass”或“Fail”。
示例1
输入:94
输出:Pass
参考代码:
#include <stdio.h>
int main() {
int n=0;
while (~scanf("%d",&n)) {
if (n>=60) {
printf("Pass\n");
}
else {
printf("Fail\n");
}
}
return 0;
}
描述
KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。
输入描述:
多组输入,每行输入包括一个整数。
输出描述:
针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。
示例1
输入:
4
7
输出:
Even
Odd
参考代码:
#include <stdio.h>
int main() {
int n=0;
while(~scanf("%d",&n))
{
if (n%2==1) {
printf("Odd\n");
}
else {
printf("Even\n");
}
}
return 0;
}
描述
KiKi参加了语文、数学、外语的考试,请帮他判断三科中的最高分。从键盘任意输入三个整数表示的分数,编程判断其中的最高分。
数据范围: 0≤n≤100
输入描述:
输入一行包括三个整数表示的分数(0~100),用空格分隔。
输出描述:
输出为一行,即三个分数中的最高分。
示例1
输入:
94 98 99
输出:
99
参考代码:
#include <stdio.h>
int main() {
int ar[4]={0};
int i=0;
int max=0;
for (i=0; i<3; i++) {
scanf("%d ",&ar[i]);
}
for (i=0; i<3; i++){
if (max<ar[i]) {
max=ar[i];
}
}
printf("%d",max);
return 0;
}
答案解析: 1. 多组输入 2. 每组输入接受3个数字,求出最大值,因为成绩不能是负数,所以假设max期初是0.
描述
KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。
输入描述:
多组输入,每行输入一个字母。
输出描述:
针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
示例1
输入:
A
b
输出:
Vowel
Consonant
参考代码:
#include <stdio.h>
int main() {
char n=0;
char ar[]="AEIOUaeiou";
while(~scanf("%c\n",&n))
{int i=0;
for (i=0; i<sizeof(ar)-1; i++) {
if (n==ar[i]) {
printf("Vowel\n");
break;
}
}
if(i==10){
printf("Consonant\n");
}
}
return 0;
}
描述
KiKi想判断输入的字符是不是字母,请帮他编程实现。
输入描述:
多组输入,每一行输入一个字符。
输出描述:
针对每组输入,输出单独占一行,判断输入字符是否为字母,输出内容详见输出样例。
示例1
输入:
A
6
输出:
A is an alphabet.
6 is not an alphabet.
参考代码:
#include <stdio.h>
int main()
{char n=0;
while(~scanf(" %c",&n))
{
if((n>='a')&&(n<='z')||(n>='A')&&(n<='Z'))
printf("%c is an alphabet.\n",n);
else
{
printf("%c is not an alphabet.\n",n);
}
}return 0;
}
答案解析: 本题和BC46是一个道理的,三种方法均可使用。
描述
KiKi想完成字母大小写转换,有一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;反之则转换为大写字母。
输入描述:
多组输入,每一行输入一个字母。
输出描述:
针对每组输入,输出单独占一行,输出字母的对应形式。
示例1
输入:
a
A
Z
输出:
A
a
z
参考代码:
#include <stdio.h>
#include<ctype.h>
int main() {
char n=0;
while (~scanf("%c",&n))
{if ((n>='a')&&(n<='z')) {
putchar(toupper(n));//toupper()将小写字母转换为大写字母头文件<ctype.h>
printf("\n");
}
else {
if ((n>='A')&&(n<='Z')) {
putchar(tolower(n));//tolower将大写字母转换为小写字母头文件和上述一样
printf("\n");
}
}
}
return 0;
}
答案解析: 本地和BC46、BC47题一样。
描述
KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:
![](https://i-blog.csdnimg.cn/blog_migrate/14642b48e9d81c6fda3f13d1f87a7355.png)
现在试求单位冲激函数在时域t上的值。
输入描述:
题目有多组输入数据,每一行输入一个t(-1000
输出描述:
输出函数的值并换行。
示例1
输入:
11
0
-11
输出:
1
0.5
0
参考代码:
#include <stdio.h>
int main() {
int t=0;
while(~scanf("%d",&t))
{
if (t>0) {
printf("1\n");
}
else if (t==0) {
printf("0.5\n");
}
else
printf("0\n");
}
return 0;
}
描述
KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
输入描述:
题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。
输出描述:
针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。
示例1
输入:
2 3 2
3 3 3
输出:
Isosceles triangle!
Equilateral triangle!
参考代码:
#include <stdio.h>
int main() {
int a=0;
int b=0;
int c=0;
while(~scanf("%d%d%d",&a, &b, &c))
{
if (a+b>c &&a+c>b && b+c>a)
{
if (a==b && b==c)
printf("Equilateral triangle!\n");
else if
(a==b&&a!=c||b==c&&b!=a||a==c&&a!=b)
printf("Isosceles triangle!\n");
else
printf("Ordinary triangle!\n");
}
else {
printf("Not a triangle!\n");
}
}
return 0;
}
下一期 log in…………
文章主要参考比特就业课-鹏哥c语言训练营,文章内容及排版格式也参考比特课程的课件;