明解C语言
创建日期:2024-06-01 | 更新日期:2024-06-07
第1章 初识C语言
本章节的核心目标是熟悉 C 语言中的基本元素,包括常量、变量以及输出函数的应用。同时,练习基本的四则运算和掌握格式化输入输出的技巧。
Practic0101.c
题目1-1(p19): 编写一段程序,计算出15减去37的结果,并以“15减去37的结果是-22。”的格式进行显示。
C |
---|
| #include <stdio.h>
int main(void)
{
printf("15减去37的结果是%d。\n", 15 - 37);
return 0;
}
|
Practice0102.c
题目1-2(p21): 编写一段程序,调用一次printf函数,显示天\n地\n人\n(见输出)。
C |
---|
| #include <stdio.h>
int main(void)
{
printf("天\n地\n人\n");
return 0;
}
|
Practice0103.c
题目1-3(p21): 编写一段程序,调用一次printf函数,显示喂!\n\n您好!\n再见。\n(见输出)。
C |
---|
| #include <stdio.h>
int main(void)
{
printf("喂!\n\n您好!\n再见。\n");
return 0;
}
|
Practice0104.c
题目1-4(p26): 如果在 int 型变量的声明中为变量赋一个实数值的初始值(如3.14或5.7等)会怎样呢?
请试着生成程序并确认。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | #include <stdio.h>
int main(void)
{
int no, i;
for (i = 0; i < 1; i++)
{
// 使用循环输入并输出不同的no值
printf("请输入整数no: ");
scanf("%d", &no);
printf("您输入的no值为: %d\n", no);
}
return 0;
}
|
Text Only |
---|
| 请输入整数no: 3.14
您输入的no值为: 3
请输入整数no: 5.7
您输入的no值为: 5
|
恭喜🎉你,成功完成了这一章节的学习,是不是已经对C语言的编程熟悉了呢,这是一门适合初学者学习的面向过程的语言,今后在接触到面向过程的高级语言的时候,也别忘了回头复习一下!继续学吧,下一章节会接触到更多关于运算的知识,别怕!你一直都是最棒的!❤️
第2章 运算和数据类型
在本章中,重点探讨 C 语言中整型和浮点型数据类型之间的运算规则,以及如何通过 scanf
和 printf
函数实现数据的输入和输出。通过一系列实际的编程练习,深入分析不同数据类型在运算中的行为,并学习如何针对具体问题进行程序设计和调试。这些练习不仅强化了对基本算术运算的理解,还提高了解决实际问题时进行数据类型选择和操作的能力。
Practice0201.c
注意:Practice0205.c 由于效果和 Practice0201.c相同,故忽略。
题目2-1(p39): 编写一段程序,读取两个整数,显示整数1是整数2的百分之几。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | #include<stdio.h>
int main(void){
int vx,vy;
printf("请输入两个整数。\n");
printf("整数1: ");
scanf("%d",&vx);
printf("整数2: ");
scanf("%d", &vy);
// 百分比 = A / B * 100,要注意A或者B是 int 类型,先转化为double类型
// 同时,输出的时候用%f输出,可以保留两位小数(%.2f)
printf("%d 是 %d 的 %.2f%%。\n",vx,vy,(double)(vx)/vy*100);
return 0;
}
|
Text Only |
---|
| 请输入两个整数。
整数1: 54
整数2: 84
54 是 84 的 64.29%。
|
Practice0202.c
题目2-2(p39): 编写一段程序,读取两个整数,然后输出它们的和以及积。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | #include <stdio.h>
int main(void)
{
int vx, vy;
printf("请输入两个整数。\n");
printf("整数1: ");
scanf("%d", &vx);
printf("整数2: ");
scanf("%d", &vy);
printf("%d + %d = %d。\n", vx, vy, vx + vy);
printf("%d * %d = %d。\n", vx, vy, vx * vy);
return 0;
}
|
Text Only |
---|
| 请输入两个整数。
整数1: 54
整数2: 12
54 + 12 = 66。
54 * 12 = 648。
|
Practice0203.c
题目2-3(p46): 编写一段程序,读取输入的实数,然后输出它。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12 | #include <stdio.h>
int main(void)
{
double no;
printf("请输入一个实数: ");
scanf("%lf", &no); // 注意 double 类型输入要用 %lf
printf("您输入的实数为: %f\n", no); // double 类型的输出用 %f
return 0;
}
|
Text Only |
---|
| 请输入一个实数: 57.3
您输入的实数为: 57.300000
|
Practice0204.c
题目2-4(p48): 编写程序对整型常量、浮点数常量、int 型变量和 double 型变量进行乘除等各种运算,从而验证本节介绍的规则。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 | #include <stdio.h>
int main(void)
{
int n1, n2;
double k1, k2;
// 常量赋值
n1 = 6; // int 常量赋值
k1 = 3.14; // double 常量赋值
// 变量赋值
printf("请输入一个整数: ");
scanf("%d", &n2);
printf("请输入一个实数: ");
scanf("%lf", &k2);
printf("\n常量和变量的 加减法:\n");
printf("\n%d + %d = %d。\n", n1, n2, n1 + n2);
printf("%f + %f = %f。\n", k1, k2, k1 + k2);
printf("%d + %f = %f。\n", n1, k2, n1 + k2);
printf("%d + %f = %f。\n", n2, k1, n2 + k1);
printf("\n%d - %d = %d。\n", n1, n2, n1 - n2);
printf("%f - %f = %f。\n", k1, k2, k1 - k2);
printf("%d - %f = %f。\n", n1, k2, n1 - k2);
printf("%d - %f = %f。\n", n2, k1, n2 - k1);
printf("\n常量和变量的 乘除法:\n");
printf("\n%d * %d = %d。\n", n1, n2, n1 * n2);
printf("%f * %f = %f。\n", k1, k2, k1 * k2);
printf("%d * %f = %f。\n", n1, k2, n1 * k2);
printf("%d * %f = %f。\n", n2, k1, n2 * k1);
printf("\n%d / %d = %d。\n", n1, n2, n1 / n2);
printf("%f / %f = %f。\n", k1, k2, k1 / k2);
printf("%d / %f = %f。\n", n1, k2, n1 / k2);
printf("%d / %f = %f。\n", n2, k1, n2 / k1);
return 0;
}
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | 请输入一个整数: 3
请输入一个实数: 4.31
常量和变量的 加减法:
6 + 3 = 9。
3.140000 + 4.310000 = 7.450000。
6 + 4.310000 = 10.310000。
3 + 3.140000 = 6.140000。
6 - 3 = 3。
3.140000 - 4.310000 = -1.170000。
6 - 4.310000 = 1.690000。
3 - 3.140000 = -0.140000。
常量和变量的 乘除法:
6 * 3 = 18。
3.140000 * 4.310000 = 13.533400。
6 * 4.310000 = 25.860000。
3 * 3.140000 = 9.420000。
6 / 3 = 2。
3.140000 / 4.310000 = 0.728538。
6 / 4.310000 = 1.392111。
3 / 3.140000 = 0.955414。
|
注意,上述👆代码中并没有添加判断被除数不为0的限制,所以运行调试需要避开0值。
Practice0206.c
题目2-6(p52): 编写一段程序,读取 User 的身高数值(建议用 double),显示出标准体重的实数值。
\[Normal(Weight)= (Height - 100) \times 0.9 \]
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | #include <stdio.h>
int main(void)
{
double user_height, user_weight;
printf("请输入您的身高: ");
scanf("%lf", &user_height);
user_weight = (user_height - 100) * 0.9;
printf("您输入的身高为%.2fcm, 估计您的标准体重为%.2fkg。\n", user_height, user_weight);
return 0;
}
|
Text Only |
---|
| 请输入您的身高: 187
您输入的身高为 187.00cm, 估计您的标准体重为 78.30kg。
|
恭喜🎉你,成功完成了这一章节的学习,现在是不是可以随意拿捏🫴 int(整型)和 double(浮点型)的基本操作啦,下一章就要学习分支结构啦,继续加油⛽️吧。
第3章 分支结构程序
在这一章节中,将学习到如何使用分支语句来控制程序的执行路径。通过条件判断语句,可以根据不同的条件选择不同的执行路径,从而实现对程序逻辑的细分和控制。此外,还将学习到如何构建嵌套的分支结构,使得程序能够根据复杂条件做出决策,这有助于提高程序的灵活性和可读性。
Practice0301.c
题目3-1(p60):编写一段程序,输入两个整数(如A:17,B:5),如果后者是前者的约数,则显示“B是A的约数”。如果不是,则显示“B不是A的约数”。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 | #include <stdio.h>
int main(void)
{
int A, B;
puts("请输入两个整数:");
printf("整数A: ");
scanf("%d", &A);
printf("整数B: ");
scanf("%d", &B);
if (A % B == 0)
{
printf("B是A的约数。\n");
}
else
{
printf("B不是A的约数。\n");
}
return 0;
}
|
运行结果:
Text Only |
---|
| 请输入两个整数:
整数A: 17
整数B: 5
B不是A的约数。
|
Practice0302.c
题目3-2(p66): 请你考虑一下,如果把代码清单3-9最后的else变为else if(no < 0),结果会怎样呢?
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | #include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数: ");
scanf("%d", &no);
if (no == 0)
{
printf("该整数为0\n");
}
else if (no > 0)
{
printf("该整数是正数\n");
}
else if (no < 0) // 修改后的代码内容
{
printf("该整数是负数\n");
}
return 0;
}
|
Text Only |
---|
| 请输入一个整数: 0
该整数为0
请输入一个整数: 35
该整数是正数
请输入一个整数: -4
该整数是负数
|
可以发现,最后else语句的条件修改后,原来的条件判断并没有改变,只改变了程序的可读性
Practice0303.c
题目3-3(p67): 编程一段程序,输入一个整数值,输出它绝对值。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 | #include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int no;
int choose; // 选择不同的Method
printf("请输入一个整数:");
scanf("%d", &no);
printf("请选择方法(1)或 方法(2): ");
scanf("%d", &choose);
if (choose == 1)
{
printf("%d的绝对值为%d", no, abs(no));
}
else if (choose == 2)
{
if (no >= 0)
{
printf("%d的绝对值为%d", no, no);
}
else
{
printf("%d的绝对值为%d", no, -no);
}
}
return 0;
}
|
Text Only |
---|
| 请输入一个整数:-8
请选择方法(1)或 方法(2): 1
-8的绝对值为8
请输入一个整数:-8
请选择方法(1)或 方法(2): 2
-8的绝对值为8
|
Practice0304.c
题目3-4(p67): 编写一段程序,输入两个整数,如果两个数值相等,则显示“A和B相等”。如果A大于B,则显示“A大于B”。如果A小于B,则显示“A小于B”。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | #include <stdio.h>
int main(void)
{
int A, B;
printf("请输入两个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
if (A == B)
{
printf("A和B相等\n");
}
else if (A > B)
{
printf("A大于B\n");
}
else
{
printf("A小于B\n");
}
return 0;
}
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | 请输入两个整数。
整数A:54
整数B:12
A大于B
请输入两个整数。
整数A:10
整数B:20
A小于B
请输入两个整数。
整数A:0
整数B:0
A和B相等
|
Practice0305.c
题目3-5(p69): 编写程序,确认 相等运算符 和 关系运算符 的运算结果是 1 和 0。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | #include <stdio.h>
int main(void)
{
int A, B;
printf("请输入两个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
if (A == B)
// 相等运算符
{
printf("1\n"); // 1 表示条件成立
}
else if (A > B)
// 关系运算符
{
printf("1\n"); // 1 表示条件成立
}
else if (A < B)
// 关系运算符
{
printf("0\n"); // 0 表示条件不成立
}
return 0;
}
|
Text Only |
---|
| 请输入两个整数。
整数A:20
整数B:20
1
请输入两个整数。
整数A:19
整数B:20
0
|
Practice0306.c
题目3-6(p73): 编写一段程序,计算出输入的三个整数中的最小值并显示。
⚠️ 注意使用if语句。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | #include <stdio.h>
int main(void)
{
int A, B, C, min;
printf("请输入三个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
printf("整数C:");
scanf("%d", &C);
min = A; // 先假设整数A最小
if (min > B)
min = B;
if (min > C)
min = C;
printf("三个数中最小的为%d\n", min);
return 0;
}
|
Text Only |
---|
| 请输入三个整数。
整数A:0
整数B:-21
整数C:33
三个数中最小的为-21
|
Practice0307.c
题目3-7(p73): 编写一段程序,计算出输入的四个整数中的最大值并显示。
⚠️ 注意使用if语句。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 | #include <stdio.h>
int main(void)
{
int A, B, C, D, maxium;
printf("请输入四个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
printf("整数C:");
scanf("%d", &C);
printf("整数D:");
scanf("%d", &D);
maxium = A; // 先假设整数A为最大值
if (maxium < B)
maxium = B;
if (maxium < C)
maxium = C;
if (maxium < D)
maxium = D;
printf("四个数中最大的为%d\n", maxium);
return 0;
}
|
Text Only |
---|
| 请输入四个整数。
整数A:0
整数B:999
整数C:203
整数D:-10000
四个数中最大的为999
|
Practice0308.c
题目3-8(p73): 使用if语句替换代码清单3-15程序中的条件运算符。
⚠️ 清单3-15: 编写一段程序,计算出输入的两个整数的差值,使用条件运算符。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | #include <stdio.h>
int main(void)
{
int n1, n2, gap;
printf("请输入两个整数。\n");
printf("整数1: ");
scanf("%d", &n1);
printf("整数2: ");
scanf("%d", &n2);
// 👇使用当行if,要注意不是所有的分支语句都可以写成单行。
// 代码会自动判断两个整数大小,可以使用abs代替。
if (n1 > n2) gap = n1 - n2; else gap = n2 - n1;
printf("%d和%d的差值为%d\n", n1, n2, gap);
return 0;
}
|
Text Only |
---|
| 请输入两个整数。
整数1: 23
整数2: 18
23和18的差值为5
请输入两个整数。
整数1: -22
整数2: 30
-22和30的差值为52
|
Practice0309.c
Practice0306.c
题目3-9(p73): 使用条件运算符替换 Practice0306.c 的程序中的if语句,实现相同的功能。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | #include <stdio.h>
int main(void)
{
int A, B, C, min;
printf("请输入三个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
printf("整数C:");
scanf("%d", &C);
min = A; // 先假设整数A最小
min = (min > B) ? B : min;
min = (min > C) ? C : min;
printf("三个数中最小的为%d\n", min);
return 0;
}
|
Text Only |
---|
| 请输入三个整数。
整数A:0
整数B:-21
整数C:33
三个数中最小的为-21
|
Practice0310.c
题目3-10(p79): 编写一个程序,判断出输入的三个整数相等的三种情况。(方法任意)if语句+逻辑运算:
caseI:如果三个数值都相等,输出“三个值都相等”。
caseII:如果其中任意两个值相等,输出“有两个值相等”。
caseIII:如果上述两种情况都不满足,输出“三个值各不相同”。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 | #include <stdio.h>
int main(void)
{
int A, B, C;
puts("请输入三个整数。");
printf("整数1: ");
scanf("%d", &A);
printf("整数2: ");
scanf("%d", &B);
printf("整数3: ");
scanf("%d", &C);
if (A == B && B == C)
{
printf("三个值都相等。\n");
}
else if ((A == B && B != C) || (A != B && B == C) || (A == C && B != A))
{
printf("有两个值相等。\n");
}
else
{
printf("三个值各不相同。\n");
}
return 0;
}
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | 请输入三个整数。
整数1: 11
整数2: 11
整数3: 11
三个值都相等。
请输入三个整数。
整数1: 21
整数2: 0
整数3: 21
有两个值相等。
请输入三个整数。
整数1: 0
整数2: -1
整数3: 1
三个值各不相同。
|
Practice0311.c
题目3-11(p79): 编写一段程序,输入两个整数。
如果它们的差值小于等于10,显示“它们的差值小于等于10”。
否则,显示“它们的差值大于等于11”。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | #include <stdio.h>
int main(void)
{
int A, B, gap;
puts("请输入两个个整数。");
printf("整数1: ");
scanf("%d", &A);
printf("整数2: ");
scanf("%d", &B);
// 为了方便,直接使用条件判断运算符。
gap = (A > B) ? (A - B) : (B - A);
printf("%s", (gap < 11) ? "它们的差值小于等于10," : "它们的差值大于等于11。");
printf("差值为%d。", gap);
return 0;
}
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13 | 请输入两个个整数。
整数1: 12
整数2: 7
它们的差值小于等于10,差值为5。
请输入两个个整数。
整数1: -12
整数2: 23
它们的差值大于等于11。差值为35。
整数1: 0
整数2: 99
它们的差值大于等于11。差值为99。
|
Practice0312.c
题目3-12: 对代码清单3-4中的程序进行修改,不使用if语句,而是改用switch语句来实现。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | #include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数: ");
scanf("%d", &no);
switch (no % 2)
{
// 除2的余数只有1 或者 0,所以只给一个case即可
case 1:
printf("%d是奇数。\n", no);
break;
// 此处的default就是case 0 的情况!(给一个default是为了代码的健壮性)
default:
printf(" %d是偶数。\n", no);
break;
}
return 0;
}
|
Practice0313.c
题目3-13: 对代码清单3-17中的程序进行修改,不使用if语句,而是改用switch语句来实现。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 | #include <stdio.h>
int main(void)
{
int month;
printf("请输入当前月份: ");
scanf("%d", &month);
while (month < 1 || month > 12)
// 添加月份判断,如果输入错误需要重新输入
{
puts("您输入的月份无效!请重新输入。");
printf("您输入的月份: ");
scanf("%d", &month);
}
switch (month)
{
case 3:
case 4:
case 5:
printf("%d月是春季\n", month);
break;
case 6:
case 7:
case 8:
printf("%d月是夏季\n", month);
break;
case 9:
case 10:
case 11:
printf("%d月是秋季\n", month);
break;
default:
printf("%d月是冬季\n", month);
break;
}
return 0;
}
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | 请输入当前月份: 3
3月是春季
请输入当前月份: 6
6月是夏季
请输入当前月份: 9
9月是秋季
请输入当前月份: 12
12月是冬季
```$$
```terminal
请输入一个整数: 17
17是奇数。
请输入一个整数: 0
0是偶数。
|
恭喜🎉你,成功完成✅了这一阶段的学习,相信在接下去的第四章的内容学习中,🙆肯定可以继续完美拿捏🫴。
第4章 程序的循环控制
在本章节,会接触到循环的概念,从do-while到while再到for循环等不同的循环模式,在不同的实际应用中体会不同循环的妙用。
Practice0401.c
题目4-1(p95): 代码清单3-9是“判断输入的整数是0、正数还是负数”,请将其改写为可以将输入x,显示这一过程循环任意次。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 | #include <stdio.h>
int main(void)
{
int no; /* 输入的整数 */
int flag = 0; /* 定义一个判断变量 */
do
{
printf("\n请输入一个整数: ");
scanf("%d", &no);
if (no > 0)
{
printf("该整数是正数\n");
}else if(no < 0)
{
printf("该整数是负数\n");
}else{
flag = 1; /* 若输入的为0,则停止循环 */
}
} while (no);
// 读取到最后一次输入为 0
if (flag == 1)
{
printf("该整数为0\n");
}
return 0;
}
// 读取到最后一次输入为 0
|
Text Only |
---|
| 请输入一个整数: 199
该整数是正数
请输入一个整数: -99
该整数是负数
请输入一个整数: 0
该整数为0
|
Practice0402.c
题目4-2(p95): 编写一段程序,读取两个整数,分别为27和38,计算27到38之间到所有整数和,包括27和38本身。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 | #include <stdio.h>
int main(void)
{
int a1, a2; /* 定义两个整数 */
int ai; /* 用来装变动的数列每一项的值 */
int Sn = 0; /* 定义求和变量, 以等差数列Sn为求和变量 */
int count; /* 定义累加器 */
printf("请输入两个整数。\n");
printf("整数1: ");
scanf("%d", &a1);
printf("整数2: ");
scanf("%d", &a2);
ai = a1; /* 让ai从首项开始 */
// 先判断输入两个数的大小,然后计算一共要累加的数的数量。
/* 这里参考小学数学种树问题 */
count = (a1 > a2) ? a1 - a2 + 1 : a2 - a1 + 1; // 条件判断
do
{
Sn += a1; // 让sum从a1 + a1+1 + a1+2 + ... + a2
ai += 1; // 下个数变成 a1+1, a1+2,...,a2
count -= 1; // 每加了一个数,数列里的数就少一个。
} while (count); /* 当count==0时,累加结束,数列求和问题结束 */
// 这里的首项a1 和 尾项 an 都是通过条件判断得出的。
printf("首项为 %d, 公差为1, 尾项为 %d 的等差数列的 Sn = %d。\n", (a1 > a2) ? a2 : a1, (a1 > a2) ? a1 : a2, Sn);
return 0;
}
|
Text Only |
---|
| 请输入两个整数。
整数1: 38
整数2: 27
首项为 27, 公差为1, 尾项为 38 的等差数列的 Sn = 456。
|
Practice0403.c
题目4-3(p99): 从输入数开始到0,输出每一项,while语句版。当输入为负数,就不输出换行。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | #include <stdio.h>
int main(void)
{
int num; /* 定义一个整数 */
int k; /* 用来暂时存储 num,避免变量使用后数值变了 */
printf("请输入一个整数:");
scanf("%d", &num);
k = num; // 让k和num的值相等
while (k >= 0)
{
printf("%d ", k);
k--;
}
if (num >= 0)
{
printf("\n----我换行啦----\n"); // 为了显示出效果,增加一点符号
}
return 0;
}
|
Text Only |
---|
| 请输入一个整数:5
5 4 3 2 1 0
----我换行啦----
请输入一个整数:0
0
----我换行啦----
请输入一个整数:-1
|
Practice0404.c
题目4-4(p101): 从输入数开始递减,输出每一项,while语句版。1.当输入为负数,就不输出换行;2.递减到1而非0。
C |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 | #include <stdio.h>
int main(void)
{
int num; /* 定义一个整数 */
int k; /* 用来暂时存储 num,避免变量使用后数值变了 */
printf("请输入一个整数:");
scanf("%d", &num);
k = num; // 让k和num的值相等
while (k > 0) // 只需要修改此处即可以
{
printf("%d ", k--); // 这里可以合并到printf函数里面
}
if (num >= 0)
{
printf("\n----我换行啦----\n"); // 为了显示出效果,增加一点符号
}
return 0;
}
|
Text Only |
---|
| 请输入一个整数:5
5 4 3 2 1
----我换行啦----
请输入一个整数:0
----我换行啦----
请输入一个整数:-1
|