c语言基础编程入门练习题
[编程入门]成绩评定
题目描述
给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
输入格式
一个整数0-100以内
输出格式
一个字符,表示成绩等级
样例输入
90
样例输出
A
参考代码
#include <stdio.h>
int main() {
int a;
scanf_s("%d", &a);
if (a > 89) printf("A");
else if (a > 79) printf("B");
else if (a > 69) printf("C");
else printf("D");
return 0;
}
[编程入门]分段函数求值
题目描述
有一个函数
y={ x x<1
| 2x-1 1<=x<10
{ 3x-11 x>=10
写一段程序,输入x,输出y
输入格式
一个数x
输出格式
一个数y
样例输入
14
样例输出
31
参考代码
#include <stdio.h>
int main(){
int x, y;
scanf("%d", &x);
if (x < 1)
y = x;
else if ( x < 10)
y = 2 * x - 1;
else
y = 3 * x - 11;
printf("%d", y);
return 0;
}
[编程入门]利润计算
题目描述
企业发放的奖金根据利润I提成。
利润I低于或等于100000元的,奖金可提10%;
利润高于100000元,低于或等于200000元(100000<I≤200000)时,低于等于100000元部分按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;
600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。
从键盘输入当月利润I,求应发奖金总数。
输入格式
一个整数,当月利润。
输出格式
一个整数,奖金。
样例输入
900
样例输出
90
参考代码
#include <stdio.h>
int main() {
double w,n; //定义利润w和奖金n
double a = 100000 * 0.1,b,c,d,e;//低于100000的
b = a + 100000 * 0.075;//低于200000的
c = b + 200000 * 0.05;//低于400000的
d = c + 200000 * 0.03;//低于600000的
e = d + 4000000 * 0.015;//低于1000000的
scanf("%lf", &w);
if (w <= 100000) n = w * 0.1;
else if (w < 200000) {
n = a + (w - 100000) * 0.075;
}
else if (w < 400000) {
n = b + (w - 200000) * 0.05;
}
else if (w < 600000) {
n = c + (w - 400000) * 0.03;
}
else if (w < 1000000) {
n = d + (w - 600000) * 0.015;
}
else {
n = e + (w - 1000000) * 0.01;
}
printf("%.2f\n", n);
//int m = (int)n;//强制转换
//printf("%d", m);
return 0;
}
[编程入门]密码破译
题目描述
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
例如,字母"A"后面第4个字母是"E".“E"代替"A”。因此,“China"应译为"Glmre”。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
输入格式
China
输出格式
加密后的China
样例输入
China
样例输出
Glmre
参考代码
#include <stdio.h>
int main(){
char a, b, c, d, e;
scanf("%c%c%c%c%c", &a, &b, &c, &d, &e);
printf("%c%c%c%c%c", a + 4, b + 4, c + 4, d + 4, e + 4);
return 0;
}
[编程入门]三个数最大值
题目描述
编写一个程序,输入a、b、c三个值,输出其中最大值。
输入格式
一行数组,分别为a b c
输出格式
a b c其中最大的数
样例输入
10 20 30
样例输出
30
参考代码
#include <stdio.h>
int main(){
int a, b, c, max;
scanf("%d %d %d", &a, &b, &c);
max = a > b ? (a > c ? a : c) : (b > c ? b : c);
//[三元运算符]a > b ? ... : ...这个部分首先比较 a 和 b 的大小。如果 a 大于 b,
//则执行问号后面的第一个表达式;否则,执行冒号后面的第二个表达式。
printf("%d", max);
return 0;
}