第四章 循环结构
This commit is contained in:
parent
9dd4e96f20
commit
2435d6890a
14
04-0/1/1.c
Normal file
14
04-0/1/1.c
Normal file
@ -0,0 +1,14 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
int sum=0,a=0;
|
||||
|
||||
do{
|
||||
sum+=a;
|
||||
a++;
|
||||
}while(a<=1000);
|
||||
|
||||
printf("sum=%d",sum);
|
||||
|
||||
return 0;
|
||||
}
|
29
04-0/1/README.md
Normal file
29
04-0/1/README.md
Normal file
@ -0,0 +1,29 @@
|
||||
【问题描述】
|
||||
|
||||
用do---while语句实现循环,计算1+2+3+…+1000 。
|
||||
|
||||
【输入形式】
|
||||
|
||||
【输出形式】
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
sum=*******
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:1
|
||||
平均占用内存:1.898K
|
||||
平均CPU时间:0.00710S
|
||||
平均墙钟时间:0.00717S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
14
04-0/2/2.c
Normal file
14
04-0/2/2.c
Normal file
@ -0,0 +1,14 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
float sum=0,a=1;
|
||||
|
||||
for(;a<=100;a++){
|
||||
sum+=1/a;
|
||||
}
|
||||
|
||||
printf("sum=%.4f",sum);
|
||||
|
||||
return 0;
|
||||
}
|
33
04-0/2/README.md
Normal file
33
04-0/2/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
【问题描述】
|
||||
|
||||
用for语句实现循环,计算1+1/2+1/3+1/4+...1/100 的和。
|
||||
|
||||
【输入形式】
|
||||
|
||||
【输出形式】
|
||||
|
||||
小数部分保留4位
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
sum=**.****
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:1
|
||||
平均占用内存:1.938K
|
||||
平均CPU时间:0.00533S
|
||||
平均墙钟时间:0.00530S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
16
04-0/3/3.c
Normal file
16
04-0/3/3.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
int num1=0,num2=0;
|
||||
for(int i=100;i<=200;i++){
|
||||
if(i%3==0)continue;
|
||||
num1++;
|
||||
}
|
||||
for(int i=100;i<=200;i++){
|
||||
if(i%3==0)continue;
|
||||
num2++;
|
||||
if(num2<=10||num2>=num1-9)printf("%d ",i);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
31
04-0/3/README.md
Normal file
31
04-0/3/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
【问题描述】
|
||||
|
||||
要求输出100~200之间的不能被3整除的前10个和最后10个数。
|
||||
|
||||
对100到200之间的每一个整数进行检查,如果不能被3整除,输出,否则不输出,
|
||||
|
||||
无论是否输出此数,都要接着检查下一个数(直到200为止)。
|
||||
|
||||
【输入形式】
|
||||
|
||||
【输出形式】
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:1
|
||||
平均占用内存:1.898K
|
||||
平均CPU时间:0.00707S
|
||||
平均墙钟时间:0.00708S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
11
04-0/4/4.c
Normal file
11
04-0/4/4.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
for(int i=1;i<=4;i++){
|
||||
for(int j=1;j<=5;j++){
|
||||
printf("%d\t",i*j);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
41
04-0/4/README.md
Normal file
41
04-0/4/README.md
Normal file
@ -0,0 +1,41 @@
|
||||
【问题描述】
|
||||
|
||||
用循环的嵌套来 输出以下 `4*5` 的矩阵。
|
||||
|
||||
```
|
||||
1 2 3 4 5
|
||||
2 4 6 8 10
|
||||
3 6 9 12 15
|
||||
4 8 12 16 20
|
||||
```
|
||||
|
||||
【输入形式】
|
||||
|
||||
【输出形式】
|
||||
|
||||
```
|
||||
1 2 3 4 5
|
||||
2 4 6 8 10
|
||||
3 6 9 12 15
|
||||
4 8 12 16 20
|
||||
```
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:1
|
||||
平均占用内存:1.902K
|
||||
平均CPU时间:0.00506S
|
||||
平均墙钟时间:0.00504S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
16
04-0/5/5.c
Normal file
16
04-0/5/5.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
int n,zc=0;
|
||||
|
||||
scanf("%d",&n);
|
||||
|
||||
for(int i=2;i<=n-1;i++){
|
||||
if(n%i==0){zc=1;break;}
|
||||
}
|
||||
|
||||
if(zc)printf("%d is not prime.",n);
|
||||
else printf("%d is prime.",n);
|
||||
|
||||
return 0;
|
||||
}
|
43
04-0/5/README.md
Normal file
43
04-0/5/README.md
Normal file
@ -0,0 +1,43 @@
|
||||
【问题描述】
|
||||
|
||||
输入一个大于3的整数n,判定它是否素数(prime,又称质数)。
|
||||
|
||||
让n被i整除(i的值从2变到n-1)
|
||||
|
||||
如果n能被2~(n-1)之中任何一个整数整除,则表示n肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环
|
||||
|
||||
【输入形式】
|
||||
|
||||
100,131,179
|
||||
|
||||
【输出形式】
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
【样例输入】
|
||||
|
||||
【样例输出】
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:3
|
||||
平均占用内存:1.942K
|
||||
平均CPU时间:0.00518S
|
||||
平均墙钟时间:0.00516S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
3
04-0/README.md
Normal file
3
04-0/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# 第四章 循环结构
|
||||
|
||||
> 作业时间: 2021-11-03 22:56:00 至 2021-11-26 23:55:00
|
17
04/1/1.c
Normal file
17
04/1/1.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include<stdio.h>
|
||||
#include<math.h>
|
||||
|
||||
int main(){
|
||||
int n,a=0,sum=0;
|
||||
|
||||
scanf("%d",&n);
|
||||
|
||||
for(int i=1;i<=n;i++){
|
||||
a=a*10+i;
|
||||
sum+=a;
|
||||
}
|
||||
|
||||
printf("%d",sum);
|
||||
|
||||
return 0;
|
||||
}
|
49
04/1/README.md
Normal file
49
04/1/README.md
Normal file
@ -0,0 +1,49 @@
|
||||
【问题描述】
|
||||
|
||||
编程题:求Sn=1+12+123+1234+… 之值,其中,项数n从键盘输入。
|
||||
|
||||
【输入形式】
|
||||
|
||||
3
|
||||
|
||||
【输出形式】
|
||||
|
||||
136
|
||||
|
||||
【样例输入】
|
||||
|
||||
4
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
****
|
||||
```
|
||||
|
||||
【样例输入】
|
||||
|
||||
10
|
||||
|
||||
【样例输出】
|
||||
|
||||
```
|
||||
**********
|
||||
```
|
||||
|
||||
【样例说明】
|
||||
|
||||
【评分标准】
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:3
|
||||
平均占用内存:1.941K
|
||||
平均CPU时间:0.00448S
|
||||
平均墙钟时间:0.00447S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
18
04/2/2.c
Normal file
18
04/2/2.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int n,a,max=0,min=2147483647;
|
||||
|
||||
scanf("%d\n",&n);
|
||||
|
||||
for(int i=1;i<=n;i++){
|
||||
scanf("%d",&a);
|
||||
if(a>max)max=a;
|
||||
if(a<min)min=a;
|
||||
}
|
||||
|
||||
printf("%d %d",max,min);
|
||||
|
||||
return 0;
|
||||
}
|
75
04/2/README.md
Normal file
75
04/2/README.md
Normal file
@ -0,0 +1,75 @@
|
||||
【问题描述】
|
||||
|
||||
编写一个程序,用户输入若干整数,试找出其中的最大数和最小数。
|
||||
|
||||
【输入形式】
|
||||
|
||||
用户在第一行待输入数据个数,在第二行输入数据。
|
||||
|
||||
【输出形式】
|
||||
|
||||
程序在下一行输出数据的最大值和最小值
|
||||
|
||||
【样例输入】
|
||||
|
||||
```
|
||||
5
|
||||
89 62 96 74 52
|
||||
```
|
||||
|
||||
【样例输出】
|
||||
|
||||
96 52
|
||||
|
||||
【样例说明】
|
||||
|
||||
用户第一次输入的为数据个数,在下一行依次输入数据。输出为5个数中的最大值和最小值,输出时候两个数之间用空格分隔。
|
||||
|
||||
【5组测试数据,仅提供输入信息,其程序运行结果将与正确答案进行匹配来判分】
|
||||
|
||||
```
|
||||
9
|
||||
|
||||
1 2 78 5 8 6 6 9 7
|
||||
|
||||
|
||||
|
||||
5
|
||||
|
||||
89 62 96 74 52
|
||||
|
||||
|
||||
|
||||
1
|
||||
|
||||
5
|
||||
|
||||
|
||||
|
||||
2
|
||||
|
||||
3 5
|
||||
|
||||
|
||||
|
||||
6
|
||||
|
||||
123 456 769 0 -58 24
|
||||
```
|
||||
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:5
|
||||
平均占用内存:1.942K
|
||||
平均CPU时间:0.00491S
|
||||
平均墙钟时间:0.00490S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
||||
测试数据4 完全正确
|
||||
测试数据5 完全正确
|
17
04/3/3.c
Normal file
17
04/3/3.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int main(){
|
||||
int n;
|
||||
double a=1,sum=1;
|
||||
|
||||
scanf("%d",&n);
|
||||
|
||||
for(int i=1;i<=n;i++){
|
||||
a *= i;
|
||||
sum += 1/a;
|
||||
}
|
||||
|
||||
printf("%.10lf",sum);
|
||||
|
||||
return 0;
|
||||
}
|
49
04/3/README.md
Normal file
49
04/3/README.md
Normal file
@ -0,0 +1,49 @@
|
||||
【问题描述】
|
||||
|
||||
输入整数n(0<=n<=30),计算公式 1 + 1/1! + 1/2! +...+ 1/n!的值。
|
||||
|
||||
【输入形式】
|
||||
|
||||
从控制台输入整数n(0<=n<=30)。
|
||||
|
||||
【输出形式】
|
||||
|
||||
控制台输出公式结果:小数点后保留10位。
|
||||
|
||||
【样例输入】
|
||||
|
||||
12
|
||||
|
||||
【样例输出】
|
||||
|
||||
2.7182818283
|
||||
|
||||
【样例说明】
|
||||
|
||||
输入n为12,求得公式1 + 1/1! + 1/2! +... + 1/12!的值为2.7182818283,小数点后保留10位。
|
||||
|
||||
注意:为保证数据的准确性和一致性,请使用int或long类型保存阶乘的计算结果,用double数据类型计算和保存和的结果。
|
||||
|
||||
【测试数据,仅提供输入数据】
|
||||
|
||||
0
|
||||
|
||||
1
|
||||
|
||||
5
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:5
|
||||
平均占用内存:1.980K
|
||||
平均CPU时间:0.00572S
|
||||
平均墙钟时间:0.00573S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
||||
测试数据3 完全正确
|
||||
测试数据4 完全正确
|
||||
测试数据5 完全正确
|
27
04/4/4.c
Normal file
27
04/4/4.c
Normal file
@ -0,0 +1,27 @@
|
||||
#include<stdio.h>
|
||||
|
||||
int is(int number){
|
||||
int n,sum=0,old=number;
|
||||
while(1){
|
||||
n = number % 10;
|
||||
sum += n * n * n;
|
||||
number /= 10;
|
||||
if(number==0)break;
|
||||
}
|
||||
if(old==sum)return 1;
|
||||
else return 0;
|
||||
}
|
||||
int main(){
|
||||
int m,n;
|
||||
|
||||
printf("Input m: ");
|
||||
scanf("%d",&m);
|
||||
printf("Input n: ");
|
||||
scanf("%d",&n);
|
||||
|
||||
for(int i=m;i<=n;i++){
|
||||
if(is(i))printf("\n%d",i);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
36
04/4/README.md
Normal file
36
04/4/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
【问题描述】
|
||||
|
||||
输入2 个正整数m 和n(1<=m,n<=1000),输出 `m~n` 之间的所有水仙花数。
|
||||
|
||||
水仙花数是指一个正整数的每一位上的数值的立方之和等于该正整数的数。
|
||||
|
||||
要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。
|
||||
|
||||
【输入形式】
|
||||
|
||||
输入2个正整数m 和n(1<=m,n<=1000)
|
||||
|
||||
【输入输出样例1】(下划线部分表示输入)
|
||||
|
||||
Input m: 100
|
||||
|
||||
Input n: 400
|
||||
|
||||
153
|
||||
|
||||
370
|
||||
|
||||
371
|
||||
|
||||
# 运行结果
|
||||
|
||||
成功通过编译, 且无编译警告
|
||||
|
||||
共有测试数据:2
|
||||
平均占用内存:1.943K
|
||||
平均CPU时间:0.00575S
|
||||
平均墙钟时间:0.00576S
|
||||
|
||||
测试数据 评判结果
|
||||
测试数据1 完全正确
|
||||
测试数据2 完全正确
|
25
04/README.md
Normal file
25
04/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# 实验四 循环结构(2学时)
|
||||
|
||||
> 作业时间: 2021-11-03 22:55:00 至 2021-11-21 23:55:00
|
||||
|
||||
# 实验目的
|
||||
|
||||
1. 学会正确使用循环结构。
|
||||
2. 了解循环条件与程序流程的关系。
|
||||
3. 熟练掌握三类循环语句。
|
||||
|
||||
# 实验器材
|
||||
|
||||
计算机硬件环境:`PIII 667以上计算机;软件环境:Dev C++, Visual C++。`
|
||||
|
||||
# 技能要点
|
||||
|
||||
1. while和do-while语句的使用;
|
||||
2. for语句的使用;
|
||||
3. 在循环结构中continue和break语句的作用;
|
||||
4. 循环结构程序编写。
|
||||
|
||||
# 思考题
|
||||
|
||||
1. 循环结构中,循环结束条件如何设置?
|
||||
2. 多重循环中如何正确确定各重循环体?
|
11
README.md
11
README.md
@ -33,3 +33,14 @@ A repo to record my study life.
|
||||
- [2. 计算个人所得税](https://github.com/xtaodada/C-study/tree/master/03-1/2)
|
||||
- [3. 判断三角形](https://github.com/xtaodada/C-study/tree/master/03-1/3)
|
||||
- [4. 查询水果单价](https://github.com/xtaodada/C-study/tree/master/03-1/4)
|
||||
- [第四章 循环结构](https://github.com/xtaodada/C-study/tree/master/04-0)
|
||||
- [1. 【循环结构】用do---while语句实现循环,计算1+2+3+…+1000](https://github.com/xtaodada/C-study/tree/master/04-0/1)
|
||||
- [2. 【循环结构】用for语句实现循环,计算1+1/2+1/3+1/4+...1/100 的和](https://github.com/xtaodada/C-study/tree/master/04-0/2)
|
||||
- [3. 【循环结构】要求输出100~200之间的不能被3整除的前10个和最后10个整数](https://github.com/xtaodada/C-study/tree/master/04-0/3)
|
||||
- [4. 【循环结构】使用循环的嵌套来输出以下4*5的矩阵](https://github.com/xtaodada/C-study/tree/master/04-0/4)
|
||||
- [5. 【循环结构】输入一个大于3的整数n,判定它是否素数(prime,又称质数)](https://github.com/xtaodada/C-study/tree/master/04-0/5)
|
||||
- [实验四 循环结构(2学时)](https://github.com/xtaodada/C-study/tree/master/04-1)
|
||||
- [1. 【循环结构】求Sn=1+12+123+1234+… 之值,其中,累加项n从键盘输入](https://github.com/xtaodada/C-study/tree/master/04-1/1)
|
||||
- [2. 【循环结构】找最大最小整数](https://github.com/xtaodada/C-study/tree/master/04-1/2)
|
||||
- [3. 【循环结构】双重循环计算给定公式的值](https://github.com/xtaodada/C-study/tree/master/04-1/3)
|
||||
- [4. 【循环结构】求两个正整数之间的水仙花数](https://github.com/xtaodada/C-study/tree/master/04-1/4)
|
||||
|
Loading…
Reference in New Issue
Block a user