实验六 函数(2学时)
This commit is contained in:
parent
b80a5b9ef4
commit
20d9330fe4
16
06/1/1.c
Normal file
16
06/1/1.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int sign(float x){
|
||||
if(x<0)return -1;
|
||||
if(x>0)return 1;
|
||||
return 0;
|
||||
}
|
||||
int main(){
|
||||
float x;
|
||||
|
||||
while(scanf("%f", &x)!=EOF){
|
||||
printf("%d ", sign(x));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
43
06/1/README.md
Normal file
43
06/1/README.md
Normal file
@ -0,0 +1,43 @@
|
||||
【问题描述】
|
||||
|
||||
输入一个实数x,计算并输出下列分段函数sign(x)的值。要求定义函数sign(x),其中x>0时,函数值为1;x=0时,函数值为0;x<0时,函数值为-1;实现该分段函数。
|
||||
|
||||
【输入形式】
|
||||
|
||||
一行输入多个实数,实数间用空格间隔;
|
||||
|
||||
【输出形式】
|
||||
|
||||
一行输出与输入值对应的多个sign(x)函数值,函数值间用空格间隔;
|
||||
|
||||
【样例输入】
|
||||
|
||||
```
|
||||
-2.8 0 3.6
|
||||
```
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
-1 0 1
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:5
|
||||
平均占用内存:1.977K
|
||||
平均CPU时间:0.00474S
|
||||
平均墙钟时间:0.00475S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
||||
测试数据4 完全正确
|
||||
测试数据5 完全正确
|
26
06/2/2.c
Normal file
26
06/2/2.c
Normal file
@ -0,0 +1,26 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
int a[10],temp;
|
||||
|
||||
printf("Please input score:\n");
|
||||
for(int i=0;i<10;i++){
|
||||
scanf("%d", &a[i]);
|
||||
}
|
||||
|
||||
for(int i=0;i<10;i++){
|
||||
for(int j=i;j<10;j++){
|
||||
if(a[i]<a[j]){
|
||||
temp = a[i];
|
||||
a[i] = a[j];
|
||||
a[j] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(int i=0;i<10;i++){
|
||||
printf("%d\t", a[i]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
47
06/2/README.md
Normal file
47
06/2/README.md
Normal file
@ -0,0 +1,47 @@
|
||||
【问题描述】
|
||||
|
||||
考试结束了,学委小淘要对考试成绩进行统计,得到最高分,最低分和平均分,将成绩按照从大到小的顺序输出,间隔为TAB,假设共有10名同学,请帮助小淘编写程序完成上述要求。
|
||||
|
||||
【输入形式】
|
||||
|
||||
```
|
||||
Please input score:
|
||||
|
||||
98 100 97 88 75 95 77 66 63 82
|
||||
```
|
||||
|
||||
【输出形式】
|
||||
|
||||
```
|
||||
Please input score:
|
||||
|
||||
100 98 97 95 88 82 77 75 66 63
|
||||
```
|
||||
|
||||
【样例输入】
|
||||
|
||||
```
|
||||
98 100 97 88 75 95 77 66 63 82
|
||||
```
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
100 98 97 95 88 82 77 75 66 63
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:1
|
||||
平均占用内存:1.957K
|
||||
平均CPU时间:0.00666S
|
||||
平均墙钟时间:0.00664S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
47
06/3/README.md
Normal file
47
06/3/README.md
Normal file
@ -0,0 +1,47 @@
|
||||
【问题描述】
|
||||
|
||||
编写一个函数isprime(n).判断整数n是否为素数.编写程序使用此函数,当输入一个整数时,对它进行判断,当为素数时,输出1.否则,输出0.
|
||||
|
||||
【输入形式】
|
||||
|
||||
控制台输入一个整数.
|
||||
|
||||
【输出形式】
|
||||
|
||||
控制台输出判断结果0或者1.
|
||||
|
||||
【样例输入】
|
||||
|
||||
```
|
||||
45
|
||||
```
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
0
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
45非素数,故输出为0
|
||||
|
||||
【评分标准】
|
||||
|
||||
该题要求输出一个字符,答对得满分10分,否则得0分.上传C语言文件名为 `isprime.c` 。
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:5
|
||||
平均占用内存:1.945K
|
||||
平均CPU时间:0.00455S
|
||||
平均墙钟时间:0.00455S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
||||
测试数据4 完全正确
|
||||
测试数据5 完全正确
|
16
06/3/isprime.c
Normal file
16
06/3/isprime.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int isprime(int n){
|
||||
int i;
|
||||
for(i=2;i<=n/2;i++){
|
||||
if(n%i==0) return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
int main(){
|
||||
int n;
|
||||
scanf("%d", &n);
|
||||
printf("%d", isprime(n));
|
||||
|
||||
return 0;
|
||||
}
|
52
06/4/README.md
Normal file
52
06/4/README.md
Normal file
@ -0,0 +1,52 @@
|
||||
【问题描述】
|
||||
|
||||
编写一个函数sum(i),将输入的整形参数i(i≥0)的各位求和,返回求和结果。在main()函数中测试此函数,从键盘输入整数n(n∈[1,20]),然后再输入n个非负整数,对于每一个非负整数调用sum函数求各位数和,将结果输出到屏幕。
|
||||
|
||||
【输入形式】
|
||||
|
||||
从键盘输入一个正整数n,然后再输入n个非负整数。
|
||||
|
||||
【输出形式】
|
||||
|
||||
在屏幕上分别输出n个非负整数的各位之和,并用一个空格隔开各个整数的和。
|
||||
|
||||
【输入样例】
|
||||
|
||||
```
|
||||
4
|
||||
234567
|
||||
0
|
||||
999999
|
||||
000432
|
||||
```
|
||||
|
||||
【输出样例】
|
||||
|
||||
```
|
||||
27#0#54#9
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
整数234567、0、999999和000432各位之和(个位、十位、百位……相加)分别为:27、0、54和9,故在屏幕上打印输出:27#0#54#9
|
||||
注:"#"代表空格,结果之间用一个空格隔开。
|
||||
|
||||
【评分标准】
|
||||
|
||||
结果完全正确得20分,每个测试点4分,提交程序文件名称为 `c31.c` 。
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:5
|
||||
平均占用内存:1.947K
|
||||
平均CPU时间:0.00535S
|
||||
平均墙钟时间:0.00538S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
||||
测试数据4 完全正确
|
||||
测试数据5 完全正确
|
23
06/4/c31.c
Normal file
23
06/4/c31.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int sum(int i){
|
||||
int n=0;
|
||||
while(i){
|
||||
n+=i%10;
|
||||
i/=10;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
int main(){
|
||||
int a[20],n;
|
||||
|
||||
scanf("%d",&n);
|
||||
for(int i=0;i<n;i++){
|
||||
scanf("%d",&a[i]);
|
||||
}
|
||||
|
||||
for(int i=0;i<n;i++){
|
||||
printf("%d ",sum(a[i]));
|
||||
}
|
||||
return 0;
|
||||
}
|
25
06/README.md
Normal file
25
06/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# 实验六 函数(2学时)
|
||||
|
||||
> 作业时间: 2021-11-21 10:02:00 至 2021-12-18 10:05:00
|
||||
|
||||
# 实验目的
|
||||
|
||||
1. 掌握函数的定义和调用。
|
||||
2. 理解函数调用时参数传递过程。
|
||||
3. 熟练掌握函数的模块化设计方法。
|
||||
|
||||
# 实验器材
|
||||
|
||||
计算机硬件环境:PIII 667以上计算机;软件环境:Visual C,Devc++。
|
||||
|
||||
# 技能要点
|
||||
|
||||
1. 函数的定义、调用和声明;
|
||||
2. 函数的产生传递;
|
||||
3. 数组作为函数参数传递;
|
||||
4. 模块化程序编写。
|
||||
|
||||
# 思考题
|
||||
|
||||
1. 变量的作用域,同名变量不同函数中的作用域?
|
||||
2. 全局变量和局部变量的不同点?
|
@ -1,11 +1,13 @@
|
||||
add_executable(CMakeLists CMakeLists.txt)
|
||||
add_executable(1 05/1/1.c)
|
||||
add_executable(2 05/2/2.c)
|
||||
add_executable(no 05/3/no.c)
|
||||
add_executable(c0604 05/4/c0604.c)
|
||||
add_executable(c12 05-1/1/c12.c)
|
||||
add_executable(exam1b 05-1/2/exam1b.c)
|
||||
add_executable(example1b 05-1/2/example1b.c)
|
||||
add_executable(example2b 05-1/3/example2b.c)
|
||||
add_executable(4 05-1/4/4.c)
|
||||
add_executable(5 05-1/5/5.c)
|
||||
add_executable(exam1 05-1/6/exam1.c)
|
||||
add_executable(1 06/1/1.c)
|
||||
add_executable(2 06/2/2.c)
|
||||
add_executable(isprime 06/3/isprime.c)
|
||||
add_executable(c31 06/4/c31.c)
|
@ -56,3 +56,8 @@ A repo to record my study life.
|
||||
- [4. 统计“单词”数](https://github.com/xtaodada/C-study/tree/master/05-1/4)
|
||||
- [5. 使用数组编程计算fibonacci数列的前30个数](https://github.com/xtaodada/C-study/tree/master/05-1/5)
|
||||
- [6. 比较两组整数(新)](https://github.com/xtaodada/C-study/tree/master/05-1/6)
|
||||
- [实验六 函数(2学时)](https://github.com/xtaodada/C-study/tree/master/06)
|
||||
- [1. 实验9——函数基础——分段函数](https://github.com/xtaodada/C-study/tree/master/06/1)
|
||||
- [2. 统计学生成绩,再将成绩按照从大到小的顺序输出](https://github.com/xtaodada/C-study/tree/master/06/2)
|
||||
- [3. 素数判断](https://github.com/xtaodada/C-study/tree/master/06/3)
|
||||
- [4. 整数各位数求和](https://github.com/xtaodada/C-study/tree/master/06/4)
|
||||
|
Loading…
Reference in New Issue
Block a user