C语言实验03_判断语句
作者:互联网
C语言实验03_判断语句
实验03(01)求分段函数的值
题目描述
有一函数如下:
当 x<1 时,y 的值为:lgx;
当 1=<x<6 时,y 的值为:(2x+3)的 1/2 次方;
当 x>=6 时,y 的值为:(x 的 5 次方)+(x 的 3 次方)* 3
用 scanf 函数从键盘输入 x 的值,求 y 的值。
输入描述
从键盘输入一个 x 的值
输出描述
根据函数关系,输出 y 的值
输入样例
//以下为多数组测试数据
0
0.5
1
6
输出样例
//以下为多组数据的对应测试结果
error!(英文符号)
y=-0.3010
y=2.2361
y=8424.0000
#include <math.h>
int main()
{
double x, y;
scanf("%lf", &x);txt
if (x <= 0)
{
printf("error!\n");
}
else
{
if (x < 1)
{
y = log10(x);
}
else if (x >= 1 && x < 6)
{
y = pow(2 * x + 3, 1.0 / 2);
}
else if (x >= 6)
{
y = pow(x, 5) + 3 * pow(x, 3);
}
printf("y=%0.4lf\n", y);
}
return 0;
}
实验03(02)简单计算器程序
题目描述
简单计算器程序。要求根据用户从键盘输入的表达式:
操作数 1 运算符 OP 操作数 2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(* )、除(/),
输出计算结果。要求 用 switch 语句实现以上功能。
如,输入: 3+2↙
输出:5
输入描述
操作数 1 运算符 OP 操作数 2
指定的算术运算符为加(+)、减(-)、乘(* )、除(/)
如输入:3+2↙
提示:操作数定义为实型数据
输出描述
输出表达式的值,如:3.00+2.00=5.0000
输入样例
//以下为多组测试数据
4+90
78-54
78* 3
50/3
50/0
3a4
输出样例
//以下为多组测试数据对应的输出结果
4.00+90.00=94.0000
78.00-54.00=24.0000
78.00* 3.00=234.0000
50.00/3.00=16.6667
出错,除数为零?(中文符号)
不是四则运算式
#include <stdio.h>
int main()
{
double a, b, sum;
char c;
scanf("%lf%c%lf", &a, &c, &b);
if (c == '+' || c == '-' || c == '*' || c == '/')
{
switch (c)
{
case '+':
sum = a + b;
printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
break;
case '-':
sum = a - b;
printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
break;
case '*':
sum = a * b;
printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
break;
case '/':
{
if (b == 0)
{
printf("出错,除数为零?\n");
}
else
{
sum = 1.0 * a / b;
printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
break;
}
}
default:
break;
}
}
else
{
printf("不是四则运算式\n");
}
return 0;
}
实验03(03)输入一个正整数,判断为星期几
题目描述
用 scanf 函数输入一个天数(正整数),根据这个天数与 7 的余数来判断属于星期几。余数 1
为星期一,2 为星期二,3 为星期三,4 为星期四,5 为星期五,6 为星期六,0 为星期日,
当输入的数字小于等于 0 提示“错误!请重新运行程序!”。
输入描述
用 scanf 函数从键盘输入一个天数
输出描述
输出星期几
输入样例
//以下为多组测试数据
-1
8
0
14
输出样例
//以下为多组数据对应的测试结果
错误!请重新运行程序! (英文符号)
星期一
错误!请重新运行程序! (英文符号)
星期日
#include <stdio.h>
int main()
{
int a, b;
scanf("%d", &a);
if (a <= 0)
{
printf("错误!请重新运行程序!\n");
}
else
{
b = a % 7;
switch (b)
{
case 0:
printf("星期日\n");
break;
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
default:
break;
}
}
return 0;
}
实验03(04)输入年份,判断该年是否为闰年
题目描述
输入年号,判断并输出该年是否为闰年。
输入描述
从键盘输入一个整数
输出描述
判断是否为闰年
输入样例
//以下为多组测试数据
1990
2004
输出样例
//以下为多组数据对应的输出结果
1990 年不是闰年
2004 年是闰年
#include <stdio.h>
int main()
{
int year, leap;
scanf("%d", &year);
if (year % 400 == 0)
{
leap = 1;
}
else
{
if (year % 4 == 0 && year % 100 != 0)
{
leap = 1;
}
else
{
leap = 0;
}
}
if (leap == 1)
{
printf("%d 年是闰年\n", year);
}
else
{
printf("%d 年不是闰年\n", year);
}
return 0;
}
实验03(05)三个整数按由小到大排序
题目描述
从键盘输入 3 个整数,要求按由小到大输出
输入描述
三个整数
输出描述
由小到大排列的三个整数
输入样例
45,73,90(英文逗号)
输出样例
从小到大的顺序:45,73,90(英文标点)
#include <stdio.h>
int main()
{
int a, b, c, t;
scanf("%d,%d,%d", &a, &b, &c);
if (a < b)
{
t = a;
a = b;
b = t;
}
if (a < c)
{
t = a;
a = c;
c = t;
}
if (b < c)
{
t = b;
b = c;
c = t;
}
printf("从小到大的顺序:%d,%d,%d\n", c, b, a);
return 0;
}
实验03(06)高速公路超速处罚
题目描述
按照规定,在高速公路上行驶的小型车,超出本车道限速 10%以下的(不包括 10%,下同),
处警告; 超速 10%低于 20%的,罚款 200 元,扣 3 分; 超速 20%低于 50%的,罚款 500 元,
扣 6 分; 超速 50%的,罚款 1000 元,一律吊销机动车驾驶证。
请编程判断如何对驾驶员进行处罚。
输入:高速公路上机动车车速与车道限速值,根据超速情况输出“正常车速”、“警告,你已
超速”、“超速,罚款 200 元,扣 3 分”、“超速,罚款 500 元,扣 6 分”、“超速,罚款 1000
元,吊销驾驶证”
提示:超速百分比=(车速-限速值)/限速值×100
输入描述
高速公路上机动车车速与车道限速值
输出描述
根据超速情况输出相应的处理
输入样例
120,80(英文逗号)
输出样例
超速,罚款 1000 元,吊销驾驶证
#include <stdio.h>
int main()
{
int a, b;
double x;
scanf("%d,%d", &a, &b);
x = 1.0 * (a - b) / b;
if (a < b)
{
printf("正常车速\n");
}
else
{
if (x > 0 && x < 0.1)
{
printf("警告,你已超速\n");
}
else if (x < 0.2)
{
printf("超速,罚款 200 元,扣 3 分\n");
}
else if (x < 0.5)
{
printf("超速,罚款 500 元,扣 6 分\n");
}
else
{
printf("超速,罚款 1000 元,吊销驾驶证\n");
}
}
return 0;
}
标签:语句,03,输出,样例,C语言,break,超速,printf,else 来源: https://blog.csdn.net/weixin_44179485/article/details/112715486