实验三 选择结构基础(2学时)
This commit is contained in:
parent
b6f70b9f40
commit
48e7778b82
1
.gitignore
vendored
1
.gitignore
vendored
@ -50,3 +50,4 @@ modules.order
|
|||||||
Module.symvers
|
Module.symvers
|
||||||
Mkfile.old
|
Mkfile.old
|
||||||
dkms.conf
|
dkms.conf
|
||||||
|
.idea/
|
||||||
|
20
03/1/1.c
Normal file
20
03/1/1.c
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int sign(int x){
|
||||||
|
if (x < 0)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
if (x > 0)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
|
||||||
|
int x;
|
||||||
|
|
||||||
|
printf("Enter x: ");
|
||||||
|
scanf("%d", &x);
|
||||||
|
printf("\nsign(%d)=%d",x,sign(x));
|
||||||
|
}
|
BIN
03/1/1.png
Normal file
BIN
03/1/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
44
03/1/README.md
Normal file
44
03/1/README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
【问题描述】 输入x,计算并输出下列分段函数sign(x)的值。要求定义和调用函数sign(x) 实现该分段函数。
|
||||||
|
|
||||||
|
![1](1.png)
|
||||||
|
|
||||||
|
【输入形式】从键盘输入整数x
|
||||||
|
【输入输出样例1】(下划线部分表示输入)
|
||||||
|
|
||||||
|
Enter x: <u>10</u>
|
||||||
|
|
||||||
|
sign(10)=1
|
||||||
|
|
||||||
|
【输入输出样例2】(下划线部分表示输入)
|
||||||
|
|
||||||
|
Enter x: <u>-5</u>
|
||||||
|
|
||||||
|
sign(-5)=-1
|
||||||
|
|
||||||
|
【输入输出样例3】(下划线部分表示输入)
|
||||||
|
|
||||||
|
Enter x: <u>0</u>
|
||||||
|
|
||||||
|
sign(0)=0
|
||||||
|
|
||||||
|
【样例说明】
|
||||||
|
|
||||||
|
输入提示符后要加一个空格。例如Enter x:,其中:后要加一个且只能一个空格。
|
||||||
|
|
||||||
|
输出语句的=两边无空格。
|
||||||
|
|
||||||
|
英文字母区分大小写。必须严格按样例输入输出。
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:3
|
||||||
|
平均占用内存:1.943K
|
||||||
|
平均CPU时间:0.00549S
|
||||||
|
平均墙钟时间:0.00548S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
26
03/2/2.c
Normal file
26
03/2/2.c
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
float a,b;
|
||||||
|
char c;
|
||||||
|
scanf("%f %c %f",&a,&c,&b);
|
||||||
|
switch (c) {
|
||||||
|
case '+':
|
||||||
|
printf("=%.2f",a+b);
|
||||||
|
break;
|
||||||
|
case '-':
|
||||||
|
printf("=%.2f",a-b);
|
||||||
|
break;
|
||||||
|
case '*':
|
||||||
|
printf("=%.2f",a*b);
|
||||||
|
break;
|
||||||
|
case '/':
|
||||||
|
printf("=%.2f",a/b);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf("无效运算符");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
31
03/2/README.md
Normal file
31
03/2/README.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
【问题描述】 编程题:输入一个形式如“操作数 运算符 操作数”的四则运算表达式,输出运算结果。
|
||||||
|
|
||||||
|
【输入形式】 “操作数 运算符 操作数”,三者之间没有任何符号,操作数可以是整数或小数,运算符为“+ - * /”共4种情况,若为其他运算符,则不计算,直接输出“无效运算符”
|
||||||
|
|
||||||
|
【输出形式】 有效运算符,输出“=结果”,结果保留2位小数;其他运算符直接输出“无效运算符”
|
||||||
|
|
||||||
|
【样例输入1】3.5+4.5
|
||||||
|
|
||||||
|
【样例输出1】=8.00
|
||||||
|
|
||||||
|
【样例输入2】5/3
|
||||||
|
|
||||||
|
【样例输出2】=1.67
|
||||||
|
|
||||||
|
【样例输入3】3^4
|
||||||
|
|
||||||
|
【样例输出3】无效运算符
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:3
|
||||||
|
平均占用内存:1.982K
|
||||||
|
平均CPU时间:0.00460S
|
||||||
|
平均墙钟时间:0.00459S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
52
03/3/3.c
Normal file
52
03/3/3.c
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int number(int num){
|
||||||
|
|
||||||
|
int a = num % 3,b = num % 5,c = num % 7;
|
||||||
|
|
||||||
|
if (a == 0) {
|
||||||
|
if (b == 0) {
|
||||||
|
if (c == 0) {
|
||||||
|
printf("Can be divisible by 3,5,7.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Can be divisible by 3,5.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (c == 0) {
|
||||||
|
printf("Can be divisible by 3,7.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Can be divisible by 3.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (b == 0) {
|
||||||
|
if (c == 0) {
|
||||||
|
printf("Can be divisible by 5,7.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Can be divisible by 5.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (c == 0) {
|
||||||
|
printf("Can be divisible by 7.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Can not be divisible by 3,5,7.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int num;
|
||||||
|
scanf("%d",&num);
|
||||||
|
number(num);
|
||||||
|
return 0;
|
||||||
|
}
|
44
03/3/README.md
Normal file
44
03/3/README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
【问题描述】 编程,从键盘输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:
|
||||||
|
|
||||||
|
⑴ Can be divisible by 3,5,7.
|
||||||
|
|
||||||
|
即能同时被3,5,7整除;
|
||||||
|
|
||||||
|
⑵ Can be divisible by ?,?. (其中?为3,5,7之一)
|
||||||
|
|
||||||
|
即能被其中两个数(要指出哪两个)整除;
|
||||||
|
|
||||||
|
⑶ Can be divisible by ?. (其中?为3,5,7之一)
|
||||||
|
|
||||||
|
即能被其中一个数(要指出哪一个)整除;
|
||||||
|
|
||||||
|
⑷ Can not be divisible by 3,5,7.
|
||||||
|
|
||||||
|
即不能被3,5,7任一个整除。
|
||||||
|
|
||||||
|
【输入形式】 从键盘输入一个整数。
|
||||||
|
|
||||||
|
【输出形式】 按题目要求及样例,输出该整数能否被3,5,7整除。
|
||||||
|
|
||||||
|
【样例输入1】 441
|
||||||
|
|
||||||
|
【样例输出1】 Can be divisible by 3,7.
|
||||||
|
|
||||||
|
【样例输入2】 1024
|
||||||
|
|
||||||
|
【样例输出2】 Can not be divisible by 3,5,7.
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:4
|
||||||
|
平均占用内存:1.935K
|
||||||
|
平均CPU时间:0.00395S
|
||||||
|
平均墙钟时间:0.00394S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
||||||
|
测试数据4 完全正确
|
25
03/README.md
Normal file
25
03/README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# 实验三 选择结构基础(2学时)
|
||||||
|
|
||||||
|
> 作业时间: 2021-10-24 22:32:00 至 2021-10-31 23:55:00
|
||||||
|
|
||||||
|
# 实验目的
|
||||||
|
|
||||||
|
1. 学会正确使用逻辑运算符和逻辑表达式。
|
||||||
|
2. 了解条件与程序流程的关系。
|
||||||
|
3. 熟练掌握if语句和switch语句。
|
||||||
|
|
||||||
|
# 实验器材
|
||||||
|
|
||||||
|
计算机硬件环境:`PIII 667以上计算机;软件环境:Dev C++, Visual C++。`
|
||||||
|
|
||||||
|
# 技能要点
|
||||||
|
|
||||||
|
1. if语句三种形式的使用;
|
||||||
|
2. switch语句的格式以及控制流程;
|
||||||
|
3. 在switch中break语句的作用;
|
||||||
|
4. 缩进格式程序的编写。
|
||||||
|
|
||||||
|
# 思考题
|
||||||
|
|
||||||
|
1. 分支结构中,决定分支的条件一般是什么表达式?
|
||||||
|
2. 在C语言中如何判断逻辑真、假,又如何表示逻辑真、假?
|
@ -24,3 +24,7 @@ A repo to record my study life.
|
|||||||
- [4. 时间换算](https://github.com/xtaodada/C-study/tree/master/02-1/4)
|
- [4. 时间换算](https://github.com/xtaodada/C-study/tree/master/02-1/4)
|
||||||
- [5. 求复数之积](https://github.com/xtaodada/C-study/tree/master/02-1/5)
|
- [5. 求复数之积](https://github.com/xtaodada/C-study/tree/master/02-1/5)
|
||||||
- [6. 计算时间差](https://github.com/xtaodada/C-study/tree/master/02-1/6)
|
- [6. 计算时间差](https://github.com/xtaodada/C-study/tree/master/02-1/6)
|
||||||
|
- [实验三 选择结构基础(2学时)](https://github.com/xtaodada/C-study/tree/master/03)
|
||||||
|
- [1. 求分段函数的值](https://github.com/xtaodada/C-study/tree/master/03/1)
|
||||||
|
- [2. 求解四则运算表达式](https://github.com/xtaodada/C-study/tree/master/03/2)
|
||||||
|
- [3. 能否被3,5,7整除](https://github.com/xtaodada/C-study/tree/master/03/3)
|
||||||
|
Loading…
Reference in New Issue
Block a user