2021级C语言第一次过程考核
1.字符转换
从键盘输入一个小写字母,把它转换成相应的大写字母,最后输出转换之后的字符及其十进制ASCII码。
#include<stdio.h>
int main()
{
char c;
scanf("%c",&c);
printf("%c %d",c-32,c-32);
return 0;
}
2.两个数交换
试编写一个程序,从键盘输入变量x和y的值,将它们打印(显示到屏幕)出来;然后将二者的值进行交换,并打印交换后的x、y值。例如,x和y的输入值分别是1和2,交换后,x的值为2而y的值为1。 提示:要将变量x和y的值交换,应定义并使用临时变量temp:先将x的值存放到临时变量temp中,然后将y的值存放到x中,最后将temp中的值存放到y中。
#include<stdio.h>
int main()
{
int x,y,temp;
scanf("%d %d",&x,&y);
temp=x;
x=y;
y=temp;
printf("%d %d",x,y);
return 0;
}
3.整数的按权展开
本题目要求读入一个三位整数,然后写成按权展开的形式。
#include<stdio.h>
int main()
{
int n,a,b,c;
scanf("%d",&n);
a=n/100;
n%=100;
b=n/10;
c=n%10;
printf("%d=%d+%d+%d",a*100+b*10+c,a*100,b*10,c);
return 0;
}
4.判断输入字符类型
题目要求读入一个英文字母,然后判断其如果是大写字母则转换为对应的小写字母,如果是小写字母则无需转换;最后输出结果。 如果输入的是非英文字符则输出“Non-English Characters”提示。
#include<stdio.h>
int main()
{
char c;
scanf("%c",&c);
if(c<='z'&&c>='a'){
printf("%c",c);
}else if(c>='A'&&c<='Z'){
printf("%c",c+32);
}else{
printf("Non-English Characters");
}
return 0;
}
5.判断闰年
已知能被 4 整除但不能被 100 整除或者能被 400 整除的年份是闰年。请编程判断一个年份是否是闰年。
#include<stdio.h>
int main()
{
int year;
scanf("%d",&year);
int n=0;
if(year%100==0){
if(year%400==0){
n=1;
}
}else if(year%4==0){
n=1;
}
if(n==1){
printf("%d is a leap year.",year);
}else{
printf("%d is not a leap year.",year);
}
return 0;
}
6.计算加油费

#include<stdio.h>
int main()
{
int N;
double L,price;
scanf("%d %lf",&N,&L);
switch(N){
case 92:price=L*6.86;
printf("%.2lf",price);
break;
case 95:price=L*7.45;
printf("%.2lf",price);
break;
case 98:price=L*8.16;
printf("%.2lf",price);
break;
default:printf("Not available!");
}
return 0;
}
7.输入两个整数a和b,编程求a到b的所有数字之和?

#include<stdio.h>
int main()
{
int a,b,min,max,sum;
scanf("%d %d",&a,&b);
if(a<b){
min=a;
max=b;
}else{
min=b;
max=a;
}
for(sum=0;min<=max;min++){
sum+=min;
}
printf("%d",sum);
return 0;
}
8.编程求1到n中的所有能同时被3和5整除的数之和?

#include<stdio.h>
int main()
{
int n,sum;
scanf("%d",&n);
for(sum=0;n>=15;n--){
if(n%15==0){
sum+=n;
}
}
printf("%d",sum);
return 0;
}
9.整数的位数

#include<stdio.h>
int main()
{
int n,cnt;
scanf("%d",&n);
for(cnt=1;n>=10;cnt++){
n/=10;
}
printf("%d",cnt);
return 0;
}
还有一种方法:
#include <stdio.h>
#include <math.h>
int main()
{
int n,cnt;
scanf("%d",&n);
cnt=log10(n)+1;
printf("%d",cnt);
return 0;
}
10.输出图形
输入一个正整数n,输出一个按以下规律变化的n行的直角三角形,每个数据都采用6个域宽左对齐的方式显示。
#include<stdio.h>
int main()
{
int n,m,x,y,cnt;
scanf("%d",&n);
m=n;
for(y=1;y<=n;y++){
for(x=1;x<=y;x++){
printf("%-6d",x*y);
}
printf("\n");
}
return 0;
}
版权声明:本文为MX_1122原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。