2021级C语言第一次过程考核
2021级C语言第一次过程考核
- 1.字符转换
- 2.两个数交换
- 3.整数的按权展开
- 4.判断输入字符类型
- 5.判断闰年
- 6.计算加油费
- 7.输入两个整数a和b,编程求a到b的所有数字之和?
- 8.编程求1到n中的所有能同时被3和5整除的数之和?
- 9.整数的位数
- 10.输出图形
1.字符转换
从键盘输入一个小写字母,把它转换成相应的大写字母,最后输出转换之后的字符及其十进制ASCII码。

#include
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
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
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
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
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
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
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
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
int main()
{int n,cnt;scanf("%d",&n);for(cnt=1;n>=10;cnt++){n/=10;}printf("%d",cnt);return 0;
}
还有一种方法:
#include
#include
int main()
{int n,cnt;scanf("%d",&n);cnt=log10(n)+1;printf("%d",cnt);return 0;
}
10.输出图形
输入一个正整数n,输出一个按以下规律变化的n行的直角三角形,每个数据都采用6个域宽左对齐的方式显示。

#include
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;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
