你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题。

题目1:请画出例 5.6 中给出的3个程序段的流程图。

解∶下面分别是教材第5章例5.6给出的程序,据此画出流程图。

(1)程序1:

#include <stdio.h>
int main()
{int i, j, n = 0;for (i = 1; i <= 4; i++) // n用来累计输出数据的个数for (j = 1; j <= 5; j++, n++){if (n % 5 == 0)printf("\n"); //控制在输出5个数据后换行printf("%d\t", i * j);}printf("\n");return 0;
}

运行结果:

其对应的流程图见图5. 1。

(2)程序2:

#include <stdio.h>
int main()
{int i, j, n = 0;for (i = 1; i <= 4; i++)for (j = 1; j <= 5; j++, n++){if (n % 5 == 0)printf("\n"); //控制在输出5个数据后换行if (i == 3 && j == 1)break; //遇到第3行第1列,结束内循环printf("%d\t", i * j);}printf("\n");return 0;
}

运行结果:

遇到第3行第1列时,执行 break,结束内循环,进行第 4 次外循环。

其对应的流程图见图 5.2 。

(3)程序 3:

#include <stdio.h>
int main()
{int i, j, n = 0;for (i = 1; i <= 4; i++)for (j = 1; j <= 5; j++, n++){if (n % 5 == 0)printf("\n"); //控制在输出5个数据后换行if (i == 3 && j == 1)continue; //遇到第3行第1列,终止本次内循环printf("%d\t", i * j);}printf("\n");return 0;
}

运行结果:

遇到第3行第1列时,执行continue,只是提前结束本次内循环,不输出原来的第3行第1列的数3,而进行下一次内循环,接着在该位置上输出原来的第 3行第 2列的数6。

请仔细区分 break 语句和 continue 语句。

其对应的流程图见图 5.3。

题目2:请补充例 5.7 程序,分别统计当" fabs(t)>=1e-6"和"fabs(t)>=1e-8" 时执行循环体的次数。

解:

例5.7 程序是用
π4≈1−13+15−17+...\frac{\pi}{4}\approx 1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+... 4π​≈1−31​+51​−71​+...

公式求 π 的近似值,直到发现某一项的绝对值小于 10-6 为止。根据本题要求,分别统计当 fabs(t)>=1e-6 和 fabs(t)>=1e-8 时,执行循环体的次数。

(1)采用fabs(t)>=le-6作为循环终止条件的程序补充修改如下∶

#include <stdio.h>
#include <math.h> //程序中用到数学函数 fabs,应包含头文件math.h
int main()
{int sign = 1, count = 0;           // sign 用来表示数值的符号,count 用来累计循环次数double pi = 0.0, n = 1.0, term = 1.0; // pi开始代表多项式的值,最后代表π的值,,n代表分母,// term 代表当前项的值while (fabs(term) >= 1e-6)             //检查当前项 term 的绝对值是否大于或等于10的(-6)次方{pi = pi + term;  //把当前项 term 累加到 pi中n = n + 2;         // n+2是下一项的分母sign = -sign;    // sign代表符号,下一项的符号与上一项符号相反term = sign / n; //求出下一项的值 termcount++;         // count 累加1}pi = pi * 4;              //多项式的和pi乘以4,才是π的近似值printf("pi=%10.8f\n", pi);   //输出π的近似值printf("count=%d\n", count); //输出count的值return 0;
}

运行结果:

执行50万次循环。

(2) 采用fabs(t)>= 1e-8作为循环终止条件的程序,只需把上面程序的第8行如下修改即可:

while (fabs(term) >= 1e-8)

运行结果:

执行5000万次循环。

题目3:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。

解:

答案代码:

#include <stdio.h>
int main()
{int p, r, n, m, temp;printf("请输入两个正整数n.m∶");scanf("%d,%d,", &n, &m);if (n < m){temp = n;n = m;m = temp;}p = n * m;while (m != 0){r = n % m;n = m;m = r;}printf("它们的最大公约数为∶%d\n", n);printf("它们的最小公倍数为∶%d\n", p / n);return 0;
}

运行结果:

题目4:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

解:

答案代码:

#include <stdio.h>
int main()
{char c;int letters = 0, space = 0, digit = 0, other = 0;printf("请输人一行字符:\n");while ((c = getchar()) != '\n')if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')letters++;else if (c == ' ')space++;else if (c >= '0' && c <= '9')digit++;elseother++;printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n", letters, space, digit, other);return 0;
}

运行结果:

题目5:求 $ S_n=a+aa+aaa+\dots+\overbrace{aa\dots a}^{\text{n个a}} $ 之值,其中a是一个数字,n表示a的位数,n由键盘输入。例如:2+22+222+2222+22222 (此时 n=5)

解:

答案代码:

#include <stdio.h>
int main()
{int a, n, i = 1, sn = 0, tn = 0;printf("a,n=:");scanf("%d, %d", &a, &n);while (i <= n){tn = tn + a;  //赋值后的tn为i个a组成数的值sn = sn + tn; //赋值后的 sn为多项式前i项之和a = a * 10;++i;}printf("a十aa十aa十...=%d\n", sn);return 0;
}

运行结果:

题目6:求 $ \sum_{n=1}^{20}{n!} $ (即求1!+2!+3!+4!+…+20!)。

解:

答案代码:

#include <stdio.h>
int main()
{double s = 0, t = 1;int n;for (n = 1; n <= 20; n++){t = t * n;s = s + t;}printf("1!+2!+...+20!=%22.15e\n", s);return 0;
}

运行结果:

请注意:s 不应定义为 int 型或 long 型,因为在用 Turbo C 或 Turbo C++ 等编译系统时,int 型数据在内存占 2个字节,整数的范围为-32768~32767,long 数据在内存占 4 个字节,整数的范围为 -21亿~21亿。用Visual C++ 6.0 时,int 型和 long 型数据在内存都占4 个字节,数据的范围为-21亿~21 亿。无法容纳求得的结果。今将 s 定义为 double 型,以得到更多的精度。在输出时,用 22.15e 格式,使数据宽度为 22,数字部分中小数位数为15位。

题目7:求 $ \sum_{k=1}{100}k+\sum_{k=1}{50}k2+\sum_{k=1}{10}\frac{1}{k} $ 。

解:

答案代码:

#include <stdio.h>
int main()
{int nl = 100, n2 = 50, n3 = 10;double k, s1 = 0, s2 = 0, s3 = 0;for (k = 1; k <= nl; k++) //计算1~100的和{s1 = s1 + k;}for (k = 1; k <= n2; k++) //计算1~50各数的平方和{s2 = s2 + k * k;}for (k = 1; k <= n3; k++) //计算 1~10 的各倒数和{s3 = s3 + 1 / k;}printf("sum=%15.6f\n", s1 + s2 + s3);return 0;
}

运行结果∶

题目8:输出所有的"水仙花数",所谓"水仙花数"是指—个 3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为 $ 153=13+53+3^3 $ 。

解:

答案代码:

#include <stdio.h>
int main()
{int i, j, k, n;printf("parcissus numbers are ");for (n = 100; n < 1000; n++){i = n / 100;j = n / 10 - i * 10;k = n % 10;if (n == i * i * i + j * j * j + k * k * k)printf("%d ", n);}printf("\n");return 0;
}

运行结果:

题目9:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1,2,3,而 6=1+2+3 ,因此 6 是"完数"。编程序找出 1000 之内的所有完数,并按下面格式输出其因子:

6 its factors are 1,2,3

解:方法一。

答案代码:

#include <stdio.h>
#define M 1000 //定义寻找范围
int main()
{int k1, k2, k3, k4, k5, k6, k7, k8, k9, k10;int i, a, n, s;for (a = 2; a <= M; a++) // a是2~1000的整数,检查它是否完数{n = 0;                    // n 用来累计 a的因子的个数s = a;                    // s用来存放尚未求出的因子之和,开始时等于afor (i = 1; i < a; i++) //检查i是否 a的因子if (a % i == 0)      //如果i是 a的因子{n++;     // n加1,表示新找到一个因子s = s - i; // s减去已找到的因子,s的新值是尚未求出的因子之和switch (n) //将找到的因子赋给k1~k9,或 k10{case 1:k1 = i; //找出的第1个因子赋给 k1break;case 2:k2 = i; //找出的第2个因子赋给 k2break;case 3:k3 = i; //找出的第3个因子赋给 k3break;case 4:k4 = i; //找出的第 4个因子赋给k4break;case 5:k5 = i; //找出的第5个因子赋给 k5break;case 6:k6 = i; //找出的第6个因子赋给 k6break;case 7:k7 = i; //找出的第7个因子赋给 k7break;case 8:k8 = i; //找出的第 8个因子赋给 k8break;case 9:k9 = i; //找出的第9个因子赋给 k9break;case 10:k10 = i; //找出的第 10个因子赋给k10break;}}if (s == 0){printf("%d ,Its factors are", a);if (n > 1)printf("%d,%d", k1, k2); // n > 1表示a至少有2个因子if (n > 2)printf(",%d", k3); // n>2表示至少有3个因子,故应再输出一个因子if (n > 3)printf(",%d", k4); // n>3表示至少有4个因子,故应再输出一个因子if (n > 4)printf(",%d", k5); //以下类似if (n > 5)printf(",%d", k6);if (n > 6)printf(",%d", k7);if (n > 7)printf(",%d", k8);if (n > 8)printf(",%d", k9);if (n > 9)printf(",%d", k10);printf("\n");}}return 0;
}

运行结果:

方法二。

答案代码:

#include <stdio.h>
int main()
{int m, s, i;for (m = 2; m < 1000; m++){s = 0;for (i = 1; i < m; i++)if ((m % i) == 0)s = s + i;if (s == m){printf("%d,its factors are", m);for (i = 1; i < m; i++)if (m % i == 0)printf("%d ", i);printf("\n");}}return 0;
}

运行结果:

题目10:有一个分数序列

21,32,53,85,138,2113...\frac{2}{1},\frac{3}{2},\frac{5}{3},\frac{8}{5},\frac{13}{8},\frac{21}{13}... 12​,23​,35​,58​,813​,1321​...

求出这个数列的前20项之和。

解∶

答案代码:

#include <stdio.h>
int main()
{int i, n = 20;double a = 2, b = 1, s = 0, t;for (i = 1; i <= n; i++){s = s + a / b;t = a, a = a + b, b = t;}printf("sum=%16.10f\n", s);return 0;
}

运行结果∶

题目11:一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第 10 次落地时共经过多少米,第 10次反弹多高。

解∶

答案代码;

#include <stdio.h>
int main()
{double sn = 100, hn = sn / 2;int n;for (n = 2; n <= 10; n++){sn = sn + 2 * hn; //第 n次落地时共经过的米数hn = hn / 2;   //第n次反跳高度}printf("第10次落地时共经过%f米\n", sn);printf("第10次反弹%f米\n", hn);return 0;
}

运行结果∶

题目12:猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第 2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子。

解:

答案代码:

#include <stdio.h>
int main()
{int day, x1, x2;day = 9;x2 = 1;while (day > 0) //第1天的桃子数是第2天桃子数加1后的2倍{x1 = (x2 + 1) * 2;x2 = x1;day--;}printf("total=%d\n", x1);return 0;
}

运行结果∶

题目13:用迭代法求 $ x=\sqrt{a} $ 。求平方根的迭代公式为

xn+1=12(xn)+axnx_{n+1} = \frac{1}{2}(x_n)+\frac{a}{x_n} xn+1​=21​(xn​)+xn​a​

要求前后两次求出的 $ x $ 的差的绝对值小于 $ 10^{-5} $ 。

解:

用迭代法求平方根的算法如下∶

(1)设定一个 $ x $ 的初值 $ x_0 $ ;

(2)用以上公式求出 $ x $ 的下一个值 $ x_1 $ ;

(3)再将 $ x_1 $ 代入以上公式右侧的 $ x_n $ ,求出 $ x $ 的下一个值 $ x_2 $ ;

(4)如此继续下去,直到前后两次求出的 $ x $ 值( $ x $ 和 $ x_n+1 $ )满足以下关系:
∣xn+1−xn∣<10−5|x_{n+1} - x_n | \lt 10^{-5} ∣xn+1​−xn​∣<10−5

为了便于程序处理,今只用 $ x_0 $ 和 $ x_1 $ ,先令 $ x $ 的初值 $ x_0=a/2 $ (也可以是另外的值),求出 $ x_1 $ ;如果此时 $ |x_1 - x_0| \ge 10^{-5} $ 就使 $ x_1 \Rightarrow x_0 $ ,然后用这个新的 $ x_0 $ 求出下一个 $ x_1 $ ;如此反复,直到 $ |x_1-x_0| \lt 10^{-5} $ 为止。

答案代码:

#include <stdio.h>
#include <math.h>
int main()
{float a, x0, x1;printf("enter a positive number:");scanf("%f", &a);x0 = a / 2;x1 = (x0 + a / x0) / 2;do{x0 = x1;x1 = (x0 + a / x0) / 2;} while (fabs(x0 - x1) >= 1e-5);printf("The square root of %5.2f is %8.5f\n", a, x1);return 0;
}

运行结果∶

题目14:用牛顿迭代法求下面方程在1.5附近的根:
2x3−4x2+3x−6=02x^3-4x^2+3x-6=0 2x3−4x2+3x−6=0

解:

牛顿迭代法又称牛顿切线法,它采用以下的方法求根:先任意设定一个与真实的根接近的值 $ x_0 $ 。作为第 1 次近似根,由 $ x_0 $ 求出 $ f(x_0) $ ,过 $ (x_0, f(x_0)) $ 点做 $ f(x) $ 的切线,交 $ x $ 轴于 $ x_1 $ ,把 $ x_1 $ 作为第 2 次近似根,再由 $ x_1 $ 求出 $ f(x_1) $ ,过 $ (x_1, f(x_1)) $ 点做 $ f(x) $ 的切线,交 $ x $ 轴于 $ x_2 $ ,再求出 $ f(x_2) $ ,再作切线……如此继续下去,直到足够接近真正的根 $ x^* $ 为止,见图5.4。

从图5.4可以看出:
f′(x0)=f(x0)x1−x0f'(x_0)=\frac{f(x_0)}{x_1-x_0} f′(x0​)=x1​−x0​f(x0​)​

因此
x1=x0−f(x0)f′(x0)x_1=x_0-\frac{f(x_0)}{f'(x_0)} x1​=x0​−f′(x0​)f(x0​)​

这就是牛顿迭代公式。可以利用它由 $ x_0 $ 求出 $ x_1 $ ,然后由 $ x_1 $ 求出 $ x_2 $ ……

在本题中:
f(x)=2x3−4x2+3x−6f(x)=2x^3-4x^2+3x-6 f(x)=2x3−4x2+3x−6

可以写成以下形式:
f(x)=((2x−4)x+3)x−6f(x)=((2x-4)x+3)x-6 f(x)=((2x−4)x+3)x−6

同样,$ f’(x) $ 可写成:
f′(x)=6x2−8x+3=(6x−8)x+3f'(x)=6x^2-8x+3=(6x-8)x+3 f′(x)=6x2−8x+3=(6x−8)x+3

用这种方法表示的表达式在运算时可节省时间。例如,求 $ f(x) $ 只需要进行 3 次乘法和 3 次加法,而原来的表达式要经过多次指数运算、对数运算和乘法、加法运算,花费时间较多。

但是由于计算机的运算速度越来越快,这点时间开销是微不足道的。这是以前计算机的运算速度较慢时所提出的问题。由于过去编写的程序往往采用了这种形式,所以在此也顺便介绍一下,以便在阅读别人所写的程序时知其所以然。

答案代码:

#include <stdio.h>
#include <math.h>
int main()
{double x1, x0, f, f1;x1 = 1.5;do{x0 = x1;f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;f1 = (6 * x0 - 8) * x0 + 3;x1 = x0 - f / f1;} while (fabs(x1 - x0) >= 1e-5);printf("The root of equation is %5.2f\n", x1);return 0;
}

运行结果∶

为了便于循环处理,程序中只设了变量 x0 和 x1,x0 代表前一次的近似根,x1代表后一次的近似根。在求出一个x1 后,把它的值赋给x0,然后用它求下一个x1。由于第1次执行循环体时,需要对 x0 赋值,故在开始时应先对 x1 赋一个初值(今为1.5,也可以是接近真实根的其他值)。

题目15:用二分法求下面方程在(-10,10)的根:
2x3−4x2+3x−6=02x^3-4x^2+3x-6=0 2x3−4x2+3x−6=0

解:

二分法的思路为∶先指定一个区间 $ [x_1,x_2] $ ,如果函数 $ f(x) $ 在此区间是单调变化,可以根据 $ f(x_1) $ 和 $ f(x_2) $ 是否同符号来确定方程 $ f(x)=0 $ 在 $ [x_1,x_2] $ 区间是否有一个实根。若 $ f(x_1) $ 和 $ f(x_2) $ 不同符号,则 $ f(x)=0 $ 在 $ [x_1,x_2] $ 区间必有一个(且只有一个)实根; 如果 $ f(x_1) $ 和 $ f(x_2) $ 同符号,说明在$ [x_1,x_2] $ 区间无实根,要重新改变 $ x_1 $ 和 $ x_2 $ 的值。当确定 $ [x_1,x_2] $ 有一个实根后,采取二分法将 $ [x_1,x_2] $ 区间一分为二,再判断在哪一个小区间中有实根。
如此不断进行下去,直到小区间足够小为止,见图5.5。

算法如下:

(1)输入 $ x_1 $ 和 $ x_2 $ 的值。

(2)求出 $ f(x_1) $ 和 $ f(x_2) $ 。

(3)如果 $ f(x_1) $ 和 $ f(x_2) $ 同符号,说明在
 $ [x_1,x_2] $ 区间无实根,返回(1),重新输入 $ x_1 $ 和 $ x_2 $ 的值; 若 $ f(x_1) $ 和 $ f(x_2) $ 不同符号,则在 $ [x_1,x_2] $ 区间必有一个实根,执行(4)。

(4)求 $ x_1 $ 和 $ x_2 $ 间的中点:$ x_0=\frac{x_1+x_2}{2} $ 。

(5)求出 $ f(x_0) $ 。

(6)判断 $ f(x_0) $ 和 $ f(x_1) $ 是否同符号。

​ ①如同符号,则应在 $ [x_0,x_2] $ 中去找根,此
时 $ x_1 $ 已 不起作用,用 $ x_0 $ 代替 $ x_1 $,用 $ f(x_0) $ 代替 $ f(x_1) $ 。

​ ②如用 $ f(x_0) $ 与 $ f(x_1) $ 不同符号,说明应在 $ [x_1,x_0] $ 中去找根,此时 $ x_2 $ 已不起作用,用 $ x_0 $ 代替 $ x_2 $ ,用 $ f(x_0) $ 代替 $ f(x_2) $ 。

(7)判断 $ f(x_0) $ 的绝对值是否小于某一个指定的值(例如 $ 10^{-5}$ )。若不小于 $ 10^{-5}$ ,就返回(4),重复执行(4)、(5)、(6);若小于 $ 10^{-5}$ ,则执行(8)。

(8)输出 $ x_0 $ 的值,它就是所求出的近似根。

N-S图见图5.6。

答案代码:

#include <stdio.h>
#include <math.h>
int main()
{float x0, x1, x2, fx0, fx1, fx2;do{printf("enter x1 & x2:");scanf("%f,%f", &x1, &x2);fx1 = x1 * ((2 * x1 - 4) * x1 + 3) - 6;fx2 = x2 * ((2 * x2 - 4) * x2 + 3) - 6;} while (fx1 * fx2 > 0);do{x0 = (x1 + x2) / 2;fx0 = x0 * ((2 * x0 - 4) * x0 + 3) - 6;if ((fx0 * fx1) < 0){x2 = x0;fx2 = fx0;}else{x1 = x0;fx1 = fx0;}} while (fabs(fx0) >= 1e-5);printf("x=%6.2f\n", x0);return 0;
}

运行结果:

题目16:输出以下图案:

   *********
****************

解:

答案代码:

#include <stdio.h>
int main()
{int i, j, k;for (i = 0; i <= 3; i++){for (j = 0; j <= 2 - i; j++)printf(" ");for (k = 0; k <= 2 * i; k++)printf("*");printf("\n");}for (i = 0; i <= 2; i++){for (j = 0; j <= i; j++)printf(" ");for (k = 0; k <= 4 - 2 * i; k++)printf("*");printf("\n");}return 0;
}

运行结果:

题目17:两个乒乓球队进行比赛,各出3人。甲队为A,B,C3人,乙队为X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和 X 比,C说他不和 X,Z比,请编程序找出3对赛手的名单。

解:

先分析题目。按题意,画出图5.7的示意图。

图5.7中带 $ \times $ 符号的虚线表示不允许的组合。从图中可以看到∶①X既不与 A比赛,又不与C比赛,必然与B比赛。②C既不与X比赛,又不与Z比赛,必然与Y比赛。③剩下的只能是A与Z比赛,见图5.8。

以上是经过逻辑推理得到的结论。用计算机程序处理此问题时,不可能立即就得出结论,而必须对每一种成对的组合一一检验,看它们是否符合条件。
开始时,并不知道A,B,C与X,Y,Z中哪一个比赛,可以假设∶A与i比赛,B与j比赛,C与k 比赛,即∶

A—i,

B—j,

C—k

i,j,k分别是X,Y,Z之一,且i,j,k 互不相等(一个队员不能与对方的两人比赛),见图5.9。

外循环使 i 由 ‘X’ 变到 ‘Z’ ,中循环使 j 由 ‘X’ 变到 ‘Z’(但 i 不应与 j 相等)。然后对每一组 i、j 的值,找符合条件的k 值。k 同样也可能是 ‘X’、‘Y’、‘Z’ 之一,但 k 也不应与 i 或 j 相等。在 i≠j≠k 的条件下,再把 i≠’X’ 和 k≠’X’ 以及k≠’Z’ 的 i,j,k的值输出即可。

答案代码:

#include <stdio.h>
int main()
{char i, j, k; // i是a的对手;j是b的对手;k是c的对手for (i = 'x'; i <= 'z'; i++)for (j = 'x'; j <= 'z'; j++)if (i != j)for (k = 'x'; k <= 'z'; k++)if (i != k && j != k)if (i != 'x' && k != 'x' && k != 'z')printf("A--%c\nB--%c\nC--%c\n", i, j, k);return 0;
}

运行结果∶

说明:

(1)整个执行部分只有一个语句,所以只在语句的最后有一个分号。请读者弄清楚循环和选择结构的嵌套关系。
(2)分析最下面一个if语句中的条件;i≠’X’,k≠’X’,k≠’Z’,因为已事先假定 A—i,B—j,C—k,由于题目规定 A不与X对抗,因此i不能等于’X’,同理,C不与X,Z对抗,因此k 不应等于’X’和’Z’。

(3)题目给的是 A,B,C,X,Y,Z,而程序中用了加撇号的字符常量’X’,‘Y’,‘Z’,这是为什么?这是为了在运行时能直接输出字符A,B,C,X,Y,Z,以表示 3组对抗的情况。

《C语言程序设计》(谭浩强第五版) 第5章 循环结构程序设计 习题解析与答案相关推荐

  1. 《C语言程序设计》(谭浩强第五版) 第8章 善于利用指针 习题解析与答案

    你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题. 本章习题均要求用指针方法处理. 题目1:输入3个整数,按由小到大的顺序输 ...

  2. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂

    <C语言程序设计>(谭浩强第五版) 第2章 算法--程序的灵魂 习题解析与答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解 ...

  3. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  4. C程序设计(谭浩强第五版)总结

    C程序设计(谭浩强第五版)总结 本篇文章主要是总结谭浩强第五版C语言书上的重点和易漏点的知识点,其目的主要是给高校期末考试的同学们点参考.本文所参考的书籍是谭浩强的<C程序设计(第五版)> ...

  5. C语言程序设计谭浩强第五版复习梳理2

    第2章 算法--程序的灵魂 前言:前两章都是c语言基础知识,软考还有考研笔试可能会考,下一章开始学的才是真正的编程. 2.1程序=算法+数据结构 算法+数据结构=程序 数据结构: 对数据的描述.在程序 ...

  6. 《C语言程序设计》(谭浩强第五版) 第6章 利用数组处理批量数据 习题解析与答案

    你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题. 题目1:用筛选法求100 之内的素数. 解: 所谓"筛选法&q ...

  7. C语言程序设计(谭浩强第五版)——习题

    C语言程序设计(谭浩强第五版)--习题 第3章 最简单的C程序设计--顺序程序设计 第4章 选择结构程序设计 第5章 循环结构程序设计 第6章 利用数组处理批量数据 第3章 最简单的C程序设计--顺序 ...

  8. 《C语言程序设计》谭浩强 第五版 编程10题解答2

    <C语言程序设计>谭浩强 第五版 编程10题解答2 11.素数计算 编写程序计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减.加之和,即第1个素数- ...

  9. 自学c程序设计之路,谭浩强第五版,(一)程序设计与c语言

    由于本人提升技能需求,开始自学c语言程序设计,教材为<c程序设计>第五版谭浩强著.该系列为本人的学习笔记,记录的是知识点与例题,学到哪里,更到哪里.也希望能对正在学c程序设计的朋友有帮助. ...

  10. C语言(谭浩强第5版)课后习题知识总结

    目录 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第一章 1.程序:就是一组计算机能够识别和执行的指令集合,每一条指令使计算机执行特定操作. 程序设计:从确定任务到 ...

最新文章

  1. Matlab编程与数据类型 -- 单元数组
  2. Spring中的Controller ,Service,Dao是不是线程安全的?
  3. GIT:本地有更改,但强制作远程仓库里作更新
  4. Hibernate之HQL数据库操作
  5. python如何为饼图添加标题_python – Matplotlib子图标题,图标题格式
  6. oracle将千万行查询优化到一秒内,oracle下一条SQL语句的优化过程(比较详细)
  7. 华为机试——取近似值
  8. 结构设计模式 - 装饰器设计模式
  9. pktgen:DPDK流量生成器
  10. 程序员的基础和解决问题的思维很重要
  11. Ubuntu 16.04重启Nautilus
  12. 用于预测的神经网络模型,神经网络模型可解释性
  13. RestFul资源架构设计详解
  14. VC学习路线书籍+视频
  15. ACPC2015 K 树的直径
  16. 启动tomcat闪退如何获取报错信息
  17. 极验第四代滑块验证码破解(四):请求分析及加密参数破解
  18. 《炬丰科技-半导体工艺》硅片湿法清洗槽中兆声波下的水和气泡运动
  19. 用httpUrlConnection实现文件上传
  20. 2.14 一个特别的日子

热门文章

  1. CentOS 下编译安装AliSQL
  2. 啊哈算法—解救小哈(深度优先搜索)
  3. mysql上传spc数据慢_SPC实施篇:控制图数据处理这8个细节要注意!
  4. RF接口测试设计时需要考虑的事(robotframework框架)
  5. 关于MCNS/DOCSIS兼容RF接口的RF接口MIB
  6. 使用Android 实现计算器功能
  7. ~~遗传算法最最最最简单的实例~~
  8. 查看微信公众号文章发布时间
  9. Python练习题总结摘要
  10. 高通路由器(WIFI)芯片处理器IPQ4029介绍