1.判断字母
题目描述
从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:
多组输入,每行输入包括一个字符。
输出描述:
针对每行输入,输出该字符是字母(YES)或不是(NO)。
输入:
H
9
输出:
YES
NO
参考代码
#include <stdio.h>
#include <ctype.h>int main()
{int ch = 0;while ((ch = getchar()) != EOF){if (isalpha(ch)){printf("YES");}else{printf("NO");}getchar();printf("\n");}return 0;
}
2.2的n次方计算
题目描述:
不用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:
多组输入,每一行输入整数n(0 <= n < 31)。
输出描述:
针对每组输入输出对应的2的n次方的结果。
输入:
2
10
输出:
4
1024
参考代码:
#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF ){n = 1 << n;printf("%d\n", n);}return 0;
}
3.争夺前五名
题目描述:
期中考试开始了,大家都想取得好成绩,争夺前五名。从键盘输入n个学生成绩(不超过40个),输出每组排在前五高的成绩。
输入描述:
两行,第一行输入一个整数,表示n个学生(>=5),第二行输入n个学生成绩(整数表示,范围0~100),用空格分隔。
输出描述:
一行,输出成绩最高的前五个,用空格分隔。
输入:
6
99 45 78 67 72 88
输出:
99 88 78 72 67
参考代码:
//方法一
#include <stdio.h>int main()
{int n = 0;int i = 0;int score[40] = { 0 };scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &score[i]);}for (i = 0; i < n; i++){int j = 0;for (j = 0; j < n-i-1; j++){if (score[j + 1] > score[j]){int tmp = score[j];score[j] = score[j + 1];score[j + 1] = tmp;}}}for (i = 0; i < 5; i++){printf("%d ", score[i]);}return 0;
}//方法二
#include <stdio.h>
#include <stdlib.h>int cmp(const void* e1, const void* e2)
{return *(int*)e2 - *(int*) e1;
}int main()
{int n = 0;int i = 0;int score[40] = { 0 };scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &score[i]);}qsort(score, n, 4, cmp);for (i = 0; i < 5; i++){printf("%d ", score[i]);}return 0;
}
4.及格分数
题目描述:
KK想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
输入描述:
多组输入,每行输入包括一个整数表示的分数(0~100)。
输出描述:
针对每行输入,输出”Pass" 或"Fail”。
示例1
输入:
94
输出:
Pass
示例2
输入:
44
输出:
Fail
参考代码:
#include <stdio.h>int main()
{int score = 0;while (scanf("%d", &score) != EOF){if (score >= 60){printf("Pass\n");}else{printf("Fail\n");}}return 0;
}
5.最高分数
题目描述:
KK参加了语文、数学、外语的考试,请帮他判断三科中的最高分。从键盘任意输入三个整数表示的分数,编程判断其中的最高分。
输入描述:
多组输入,每行输入包括三个整数表示的分数(0~100),用空格分隔。
输出描述:
针对每行输入,输出为一行,即三个分数中的最高分。
输入:
94 98 99
100 88 60
输出:
99
100
参考代码:
#include <stdio.h>int main()
{int s1 = 0;int s2 = 0;int s3 = 0;int max = 0;while (~scanf("%d %d %d", &s1, &s2, &s3)){max = s1 > s2 ? s1 : s2;max = max > s3 ? max : s3;printf("%d\n", max);}
}