From 20d9330fe43fbb3b68af06b0240564b4e2a99e7d Mon Sep 17 00:00:00 2001 From: xtaodada Date: Sun, 21 Nov 2021 20:45:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E5=85=AD=20=E5=87=BD?= =?UTF-8?q?=E6=95=B0(2=E5=AD=A6=E6=97=B6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06/1/1.c | 16 ++++++++++++++++ 06/1/README.md | 43 +++++++++++++++++++++++++++++++++++++++++ 06/2/2.c | 26 +++++++++++++++++++++++++ 06/2/README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++ 06/3/README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++ 06/3/isprime.c | 16 ++++++++++++++++ 06/4/README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 06/4/c31.c | 23 ++++++++++++++++++++++ 06/README.md | 25 ++++++++++++++++++++++++ CMakeLists.txt | 10 ++++++---- README.md | 5 +++++ 11 files changed, 306 insertions(+), 4 deletions(-) create mode 100644 06/1/1.c create mode 100644 06/1/README.md create mode 100644 06/2/2.c create mode 100644 06/2/README.md create mode 100644 06/3/README.md create mode 100644 06/3/isprime.c create mode 100644 06/4/README.md create mode 100644 06/4/c31.c create mode 100644 06/README.md diff --git a/06/1/1.c b/06/1/1.c new file mode 100644 index 0000000..098361f --- /dev/null +++ b/06/1/1.c @@ -0,0 +1,16 @@ +#include + +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; +} diff --git a/06/1/README.md b/06/1/README.md new file mode 100644 index 0000000..613dd7a --- /dev/null +++ b/06/1/README.md @@ -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 完全正确 diff --git a/06/2/2.c b/06/2/2.c new file mode 100644 index 0000000..356a109 --- /dev/null +++ b/06/2/2.c @@ -0,0 +1,26 @@ +#include + +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] + +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; +} diff --git a/06/4/README.md b/06/4/README.md new file mode 100644 index 0000000..bc224c9 --- /dev/null +++ b/06/4/README.md @@ -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 完全正确 diff --git a/06/4/c31.c b/06/4/c31.c new file mode 100644 index 0000000..f2439db --- /dev/null +++ b/06/4/c31.c @@ -0,0 +1,23 @@ +#include + +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 作业时间: 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. 全局变量和局部变量的不同点? diff --git a/CMakeLists.txt b/CMakeLists.txt index 86ec090..badb6e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) \ No newline at end of file +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) \ No newline at end of file diff --git a/README.md b/README.md index 2dae4c4..f134a1a 100644 --- a/README.md +++ b/README.md @@ -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)