萌新写题第八天
代码总能更优化,本文仅供参考!
1、(数据输入输出)在C语言中是区分大小写的,利用ASCII码中大写字母和小写字母之间差值为32的特性,可以将小写字母转换为大写字母。在小写字母的基础上减去32,就得到了大写字母。运行程序,终端输入一个小写字母,按ENTER键,程序即可将该字母转换为大写字母,并输出大写字母的ASCII码值。
代码:
#include<stdio.h>
int main(){
char a_a, a_b;
for(int i = 0; i < 1; i++){
printf("请输入一个小写字母:");
scanf("%c", &a_a);
if(a_a < 'a' || a_a > 'z'){
printf("请重新输入!\n");
i--;
continue;
}
else{
a_b = a_a - 32;
printf("%c = %d\n", a_b, a_b);
}
}
}
运行结果:
2、(分支结构)编写一个程序,要求从键盘上输入某个学生的四科成绩,求出该学生的最高分和最低分。(90)
代码:
#include<stdio.h>
int main(){
float a[4];
for(int i = 0; i < 4; i++){
printf("请输入学生的成绩:");
scanf("%f", &a[i]);
}
float temp = a[0];
for(int j = 0; j < 4; j++){
for(int k = 0; k < 3; k++){
if(a[k] > a[k + 1]){
temp = a[k];
a[k] = a[k + 1];
a[k + 1] = temp;
}
}
}
printf("最低分为:%f,最高分为:%f\n", a[0], a[3]);
}
运行结果:
3、(分支结构)已知某公司员工的工资底薪为500元,员工销售的软件金额与提成方式如下:
销售额<=2000 没有提成
2000<销售额<=5000 提成8%
5000<销售额<=10000 提成10%
销售额>10000 提成12%
利用switch 语句编写程序,求员工的工资。
代码:
#include<stdio.h>
int main(){
int a, b;
double zixin;
printf("请输入销售的软件金额:");
scanf("%d", &a);
if(a <= 2000)
b = 1;
else if(a <= 5000 && a >2000)
b = 2;
else if(a <= 10000 && a > 5000)
b = 3;
else
b = 4;
switch(b){
case 1:
{
zixin = 500; break;
}
case 2:
{
zixin = 500 + a*0.08; break;
}
case 3: zixin = 500 + a * 0.1; break;
default: zixin = 500 + a * 0.12;
}
printf("员工的工资为:%f元!\n", zixin);
}
运行结果:
4、(分支结构)变成要求输入整数a和b,若a的平方加b的平方结果大于100,则输出a平方加b平方的值,否则输出a+b的结果(90)
代码:
#include<stdio.h>
int main(){
int a, b, c;
printf("请输入a和b的数:");
scanf("%d %d", &a, &b);
c = a * a + b * b;
if(c >100){
printf("a的平方加b的平方等于:%d\n",c);
}
else{
printf("a加b等于%d\n",a + b);
}
}
运行结果:
5、(循环)一农户在集市上卖西瓜,他总共有1020个西瓜,第一天卖掉一半多两个,第二天卖掉剩下的一半多两个,问照此规律卖下去,该农户几天能将所有的西瓜卖完。(116)
代码:
#include<stdio.h>
int main(){
int a, b = 1020, i, j, k;
for(i = 1; a > 0; i++){
if(i == 1){
a = b/2 - 2;
printf("第%d天剩余%d个西瓜!!!\n", i, a);
}
else{
a = a/2 - 2;
if(a < 0){
//i--;
break;
}
printf("第%d天剩余%d个西瓜!!!\n", i, a);
}
}
--i;
printf("农户%d天可以卖完西瓜!!!\n", i);
}
运行结果: