实验六 函数(2学时)

This commit is contained in:
xtaodada 2021-11-21 20:45:20 +08:00
parent b80a5b9ef4
commit 20d9330fe4
No known key found for this signature in database
GPG Key ID: EE4DC37B55E24736
11 changed files with 306 additions and 4 deletions

16
06/1/1.c Normal file
View 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
View File

@ -0,0 +1,43 @@
【问题描述】
输入一个实数x计算并输出下列分段函数signx的值。要求定义函数signx其中x>0时函数值为1x=0时函数值为0x<0时函数值为-1实现该分段函数
【输入形式】
一行输入多个实数,实数间用空格间隔;
【输出形式】
一行输出与输入值对应的多个signx函数值函数值间用空格间隔
【样例输入】
```
-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
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,52 @@
【问题描述】
编写一个函数sum(i),将输入的整形参数ii≥0的各位求和返回求和结果。在main()函数中测试此函数从键盘输入整数nn∈[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
View 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
View File

@ -0,0 +1,25 @@
# 实验六 函数(2学时)
> 作业时间: 2021-11-21 10:02:00 至 2021-12-18 10:05:00
# 实验目的
1. 掌握函数的定义和调用。
2. 理解函数调用时参数传递过程。
3. 熟练掌握函数的模块化设计方法。
# 实验器材
计算机硬件环境PIII 667以上计算机软件环境Visual CDevc++。
# 技能要点
1. 函数的定义、调用和声明;
2. 函数的产生传递;
3. 数组作为函数参数传递;
4. 模块化程序编写。
# 思考题
1. 变量的作用域,同名变量不同函数中的作用域?
2. 全局变量和局部变量的不同点?

View File

@ -1,11 +1,13 @@
add_executable(CMakeLists CMakeLists.txt) 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(no 05/3/no.c)
add_executable(c0604 05/4/c0604.c) add_executable(c0604 05/4/c0604.c)
add_executable(c12 05-1/1/c12.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(example2b 05-1/3/example2b.c)
add_executable(4 05-1/4/4.c) add_executable(4 05-1/4/4.c)
add_executable(5 05-1/5/5.c) add_executable(5 05-1/5/5.c)
add_executable(exam1 05-1/6/exam1.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)

View File

@ -56,3 +56,8 @@ A repo to record my study life.
- [4. 统计“单词”数](https://github.com/xtaodada/C-study/tree/master/05-1/4) - [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) - [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) - [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)