C语言小测1
- 编程实现输入一个字符,当该字符为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;
}
- 输入一个年份n ,和一个月份m,闰年的定义参考百度百科/维基百科,输出这个月份有多少天。
#include <stdio.h>
int main() {
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;
}
- 给一个正整数n,计算它最多能被2的多少次幂整除
#include <stdio.h>
int main() {
int n,i=0;
scanf("%d",&n);
while(n%2==0){
n=n/2;
i++;
}
printf("%d\n",i);
return 0;
}
- 输入一个正整数n(3<=n<=100000) 输出3, 6, 9, …,即输出所有<=n的,3的倍数。
从小到大依次输出,只考虑3的正整数倍。 每行一个数字。
#include <stdio.h>
int main() {
int n,i=3;
scanf("%d",&n);
for(i;i<=n;i++)
if(i%3==0)
printf("%d\n",i);
return 0;
}
- 如果一个数字的十进制表示中有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;
}
- 输入一个整数n(n <= 10000)。随后输入n个整数。输出这n个整数中的最小值。
#include<stdio.h>
int main()
{
int x,i,n,min;
scanf("%d",&n);
scanf("%d",&x);
min=x;
for(i=1;i<n;i++)
{
scanf("%d",&x);
if(x<min)
min=x;
}
printf("%d\n",min);
return 0;
}
- 输入一个长度为n(1 <= n <= 100000)数组,输出他的最大值和最小值。
数组中的元素ai满足(-2147483648 <= ai <= 2147483647)。
#include<stdio.h>
int main()
{
int x,i,n,min;
scanf("%d",&n);
scanf("%d",&x);
min=x;
for(i=1;i<n;i++)
{
scanf("%d",&x);
if(x<min)
min=x;
}
printf("%d\n",min);
return 0;
}