实验三 顺序结构的程序设计
2024-01-01 11:23:53
目录
实验三 顺序结构的程序设计
记得回来@@@3.2提高实验任务【X】 1.计时工资【???】
3.1基本实验任务
任务1:阅读程序
1.在ASCII码表中,大写字母和小写字母之间相差32
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个字符:\n");
ch = getchar();
putchar('\n');
putchar(ch);
putchar('\n');
ch = 'A';
ch = ch + 32;//在ASCII码表中,大写字母和小写字母之间相差32
putchar(ch);
return 0;
}
2.输出:连续处理多个占位符,不会过滤空白字符
#include <stdio.h>
int main()
{
int a = 5, b = 8;
printf("%d%d%d\n", a, b, a + b);
printf("%d %d %d\n", a, b, a + b);
printf("%d,%d,%d\n", a, b, a + b);
printf("a=%d,b=%d,a+b=%d\n", a, b, a + b);
return 0;
}
3.输入:连续处理多个占位符,自动过滤空白字符
#include <stdio.h>
int main()
{
int a, b;
char c;
scanf("%d%c%d", &a, &c, &b);
printf("a=%d,b=%d,c=%c\n", a, b, c);
scanf("%d,%c,%d", &a, &c, &b);
printf("a=%d,b=%d,c=%c\n", a, b, c);
return 0;
}
任务2:完成程序
1.交换水杯中的液体【基本思想】创建新变量,形成回环
#include <stdio.h>
int main()
{
int cup1, cup2;
int temp;
cup1 = 10;
cup2 = 32;
printf("cup1中液体的体积是%d\n", cup1);
printf("cup2中液体的体积是%d\n", cup2);
temp = cup1;
cup1 = cup2;
cup2 = temp;
printf("cup1中液体的体积是%d\n", cup1);
printf("cup2中液体的体积是%d\n", cup2);
return 0;
}
2.求一元二次方程的根,记得调用数学库
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, x1,x2=0.0;
scanf("%lf %lf %lf", &a, &b, &c);
x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
x1 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
printf("x1=%.1lf\nx2=.1%lf\n", x1, x2);
return 0;
}
任务3:编写程序,实现题目要求
1.【好】前导后继字符(if else)
#include <stdio.h>
int main()
{
char input = 0;
printf("请输入任意一个大写英文字符('B'-'Y'):");
scanf("%c", &input);
if (input >= 'B' && input <= 'Y')
{
printf("前导字符为:%c\n", input - 1);
printf("字符本身为:%c\n", input );
printf("后继字符为:%c\n", input + 1);
}
else
{
printf("输入的字符不在区间内");
}
return 0;
}
2.【好】反向整数 (while+取模+除法运算)
#include <stdio.h>
int main()
{
int num = 0;
int fx = 0;
printf("请输入一个整数:");
scanf("%d", &num);
printf("反向整数:");
//分离整数
//求反向整数,直接打印即可
while (num)
{
fx = num % 10;
printf("%d", fx);
num /= 10;
}
return 0;
}
3.环形换位【XXT】
#include <stdio.h>
int main()
{
int a, b, c, temp;
scanf("%d %d %d", &a, &b, &c);
printf("交换前a=%d b=%d c=%d\n", a, b, c);
temp = a;
a = c;
c = b;
b = temp;
printf("交换后a=%d b=%d c=%d\n", a, b, c);
return 0;
}
3.2提高实验任务【XXT】
1.计时工资【优化输入,清除输入缓冲区】
这个程序首先从用户那里获取两个输入:工作小时数(hour)和每小时的工资(salaryhour)。
然后,它根据这些输入计算总工资(salary),但同时从总工资中扣除10%作为某种费用或税收。
必须按scanf的输入格式字符输入数据,虽然说它会自动过滤空白字符,但只是在内部处理时
#include <stdio.h>
int main() {
int hour;
double salary, salaryhour;
printf("请输入小时数和每小时工资,格式为:小时数,每小时工资\n");
while (scanf("%d,%lf", &hour, &salaryhour) != 2 || hour < 0 || salaryhour < 0) {
printf("无效输入,请输入非负数值。\n");
printf("请输入小时数和每小时工资,格式为:小时数,每小时工资\n");
// 清空输入缓冲区
while (getchar() != '\n');
}
salary = hour * salaryhour - hour * salaryhour * 0.1;
printf("总工资为:%.2lf\n", salary);
return 0;
}
2.四舍五入:【限定宽度及位数】
#include <stdio.h>
int main()
{
double x;
scanf("%lf", &x);
printf("%6.2lf\n", x);
return 0;
}
文章来源:https://blog.csdn.net/2301_78685035/article/details/135309661
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!