C语言_练习(二)
11、分数评级
程序读入一个整数S,作为一个学生的期末成绩,请你输出他的成绩
评级。评级规则:
A级:90 <= S <= 100
B级:80 <= S < 90
C级:70 <= S < 80
D级:60 <= S < 70
E级:0 <= S < 60
#include <stdio.h>
int main() {
int S;
scanf("%d",&S);
if(S>=90&&S<=100)
printf("A\n");
else if(S>=80&&S<90)
printf("B\n");
else if(S>=70&&S<80)
printf("C\n");
else if(S>=60&&S<70)
printf("D\n");
else
printf("E\n");
return 0;
}
12、年龄判断
输入一个整数n(保证范围在0到25之间),表示一个人的年龄。
如果n在0~3的范围内,输出"infant"。
如果n在4~12的范围内,输出"child"。
如果n在13~18的范围内,输出"youngster"。
如果n在19~25的范围内,输出"youth"。
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
if(n>=0&&n<=3)
printf("infant\n");
else if(n>=4&&n<=12)
printf("child\n");
else if(n>=13&&n<=18)
printf("youngster\n");
else
printf("youth\n");
return 0;
}
13、首字母
编程实现输入一个字符,当该字符为a时输出apple,当该字符为b时输出
banana,当该字符为c时输出cat,否则输出no
#include <stdio.h>
#include <string.h>
int main() {
char ch=getchar();
switch(ch){
case 'a':
printf("apple\n");
break;
case 'b':
printf("banana\n");
break;
case 'c':
printf("cat\n");
break;
default:
printf("no\n");
}
return 0;
}
14、求和
编程实现输入两个整数a,b,
当a+b=1时输出one,
a+b=2时输出two,
a+b=3时输出three,
a+b=4时输出four,
a+b=5时输出five,
a+b=6时输出six,
a+b=7时输出seven,
a+b=8时输出eight,
a+b=9时输出nine,否则输出None(提示:switch语句)
#include <stdio.h>
#include <string.h>
int main() {
//char ch=getchar();
int a,b,n;
scanf("%d%d",&a,&b);
n=a+b;
switch(n){
case 1:
printf("one\n");
break;
case 2:
printf("two\n");
break;
case 3:
printf("three\n");
break;
case 4:
printf("four\n");
break;
case 5:
printf("five\n");
break;
case 6:
printf("six\n");
break;
case 7:
printf("seven\n");
break;
case 8:
printf("eight\n");
break;
case 9:
printf("nine\n");
break;
default:
printf("None\n");
}
return 0;
}
15、年月天数
输入一个年份n (1600 <= n < 3200),和一个月份m
闰年的定义参考百度百科/维基百科
输出这个月份有多少天
#include <stdio.h>
int main() {
//char ch=getchar();
int n,m;
scanf("%d%d",&n,&m);
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31\n");
break;
case 2:
if(n%4==0&&n%100!=0||n%400==0)
printf("29\n");
else
printf("28\n");
break;
default:
printf("30\n");
}
return 0;
}
16、2的幂整除
给一个正整数n,计算它最多能被2的多少次幂整除
#include <stdio.h>
int main() {
//char ch=getchar();
int n,i=0;
scanf("%d",&n);
while(n%2==0){
n=n/2;
i++;
}
printf("%d\n",i);
return 0;
}
17、循环输出
输入一个正整数n(1<=n<=100000)
输出1, 2, 3, …, n
每行一个数字。
#include <stdio.h>
int main() {
//char ch=getchar();
int n,i=1;
scanf("%d",&n);
for(i;i<=n;i++)
printf("%d\n",i);
return 0;
}
18、循环判断输出
输入一个正整数n(3<=n<=100000)
输出3, 6, 9, …,即输出所有<=n的,3的倍数。
从小到大依次输出,只考虑3的正整数倍。
每行一个数字。
#include <stdio.h>
int main() {
//char ch=getchar();
int n,i=3;
scanf("%d",&n);
for(i;i<=n;i++)
if(i%3==0)
printf("%d\n",i);
return 0;
}
19、幸运数字
如果一个数字的十进制表示中有7,我们就认为他是幸运数字。
输入一个数字n(1 <= n <= 10^9)
判断n是否是一个幸运数字,如果是的话输出"Yes",否则输出"No"
#include <stdio.h>
int main() {
int n,m,i,j=0;
scanf("%d",&n);
m=n;
while(m!=0){
m=m/10;
++j;
}
for(i=1;i<=j;i++)
{
if(n%10==7){
printf("Yes\n");
break;
}else if(i==j){
printf("No\n");
break;
}else
n=n/10;
}
return 0;
}
20、素数判断
输入一个整数n,使用试除法判断它是不是素数。如果是,输出"Yes",否则输出"No"。
#include <stdio.h>
int main() {
int n,i;
scanf("%d",&n);
for(i=2;i<=n-1;i++){
if(n%i==0)
break;
}
if(i<n)
printf("No\n");
else
printf("Yes\n");
return 0;
}
未完待续