
C primer plus编程练习
fifachenfan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C Primer Plus6-16
/*16. Chuckie Lucky 赢了 100 万美元,他把它存入一个每年赢得 8%的帐户。在每年的最后一天,Chuckie 取出 10 万美元。编写一个程序,计算需要多少年 Chuckie 就会清空他的帐户。*/#include<stdio.h> #include<stdlib.h>int main() { double money = 100; int year =原创 2016-01-14 18:52:25 · 639 阅读 · 0 评论 -
C Primer Plus10-7
/*2.编写一个程序,初始化一个 double 数组,然后把数组内容复制到另外两个数组(3 个数组都需 要在主程序中声明)。制作第一份拷贝的函数使用数组符号。制作第二份拷贝的函数使用指针符号,并使用 指针的增量操作。把目标数组名和要复制的元素数目做为参数传递给函数。也就是说,如果给定了下列声 明,函数调用应该如下面所示: double source [5]={1.1, 2.2, 3.3, 4.4,转载 2016-01-27 17:22:17 · 235 阅读 · 0 评论 -
C Primer Plus10-6
/*6.编写一个程序,初始化一个二维 double 数组,并利用练习 2 中的任一函数来把这个数组复制 到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的函数来复制数组的每个子数组)。*/#include<stdio.h> #include<stdlib.h>void copy2(double *, double *, int); void copy1(double*, doub原创 2016-01-27 17:21:29 · 283 阅读 · 0 评论 -
C Primer Plus10-5
/*5.编写一个函数,返回一个 double 数组中最大的和最小的数之间的差值,并在一个简单的程序中测试这个函数。*/#include<stdio.h> #include<stdlib.h>double gap(double*, int);int main() { double a[6] = {11.34, 87.88, 98.76 , 98.77, 54.78, 9.77};原创 2016-01-27 17:20:36 · 362 阅读 · 0 评论 -
C Primer Plus10-4
/*4.编写一个函数,返回一个 double 数组中存储的最大数值的索引,并在一个简单程序中测试这个函数。*/#include<stdio.h> #include<stdlib.h>int maxs(double[], int); int main() { double a[] = {22.4, 29.87, 2.98, 29.88, 9.79, 7.98}; printf("原创 2016-01-27 17:19:56 · 295 阅读 · 0 评论 -
C Primer Plus10-3
/*3.编写一个函数,返回一个 int 数组中存储的最大数值,并在一个简单的程序中测试这个函数。*/#include<stdio.h> #include<stdlib.h>int max(int*, int);int main() { int a[6] = {88, 2, 999, 292, 1027, 8888}; printf("The max number is%d\n",原创 2016-01-27 17:19:22 · 251 阅读 · 0 评论 -
C Primer Plus10-2
/*2.编写一个程序,初始化一个 double 数组,然后把数组内容复制到另外两个数组(3 个数组都需 要在主程序中声明)。制作第一份拷贝的函数使用数组符号。制作第二份拷贝的函数使用指针符号,并使用 指针的增量操作。把目标数组名和要复制的元素数目做为参数传递给函数。也就是说,如果给定了下列声 明,函数调用应该如下面所示: double source [5]={1.1, 2.2, 3.3, 4.4,原创 2016-01-27 17:18:41 · 349 阅读 · 0 评论 -
C Primer Plus10-1
/*1.修改程序清单 10.7 中的程序 rain,使它不使用数组下标,而是使用指针进行计算(程序中仍然需要声明并初始化数组)。*/#include<stdio.h> #include<stdlib.h> #define MONTHS 12 #define YEARS 5int main() { const float rain[YEARS][MONTHS] = { {4.3原创 2016-01-27 17:18:08 · 847 阅读 · 0 评论 -
C Primer Plus5-8
/*8.编写一个程序,该程序要求用户输入一个华氏温度。程序以 double 类型读入温度值,并将它 作为一个参数传递给用户提供的函数 Temperatures()。该函数将计算相应的摄氏温度和绝对温度,并以小数点右边有两位数字的精度显示这三种温度。它应该用每个值所代表的温度刻度来标识这 3 个值。下面是将华氏温度转换成摄氏温度的方程: 通常用在科学上的绝对温度的刻度是 0 代表绝对零,是可能温度的下原创 2016-01-10 09:56:38 · 440 阅读 · 0 评论 -
C Primer Plus5-7
/*7.编写一个程序,该程序要求输入一个 float 型数并打印该数的立方值。使用您自己设计的函数 来计算该值的立方并且将它的立方打印出来。main()程序把输入的值传递给该函数。*/#include<stdio.h> #include<stdlib.h>float cube(float n); int main() { float a; printf("Please in原创 2016-01-08 12:00:10 · 340 阅读 · 0 评论 -
C Primer Plus4-2
/*2.编写一个程序,要求输入名字,并执行以下操作: a.把名字引在双引号中打印出来。 b.在宽度为 20 个字符的字段内打印名字,并且整个字段引在引号内。 c. 在宽度为 20 个字符的字段的左端打印名字,并且整个字段引在引号内。 d.在比名字宽 3 个字符的字段内打印它。*/#include<stdio.h> #include<stdlib.h> #include<string.h>int ma原创 2016-01-08 11:51:04 · 433 阅读 · 0 评论 -
C Primer Plus5-2
/*2.编写一个程序,此程序要求输入一整数,然后打印出从(包括)输入的值到(包括)比输入的 值大 10 的所有整数值(也就是说,如果输入为 5,那么输出就从 5 到 15)。要求在各个输出值之间用空格、 制表符或换行符分开。*/#include<stdio.h> #include<stdlib.h>int main() { int num, i; printf("Please i原创 2016-01-08 11:56:26 · 379 阅读 · 0 评论 -
C Primer Plus5-6
/*6.现在修改编程练习 5 中的程序,使它能够计算整数平方的和(如果您喜欢,可以这样认为:如 果您第一天得到$l,第二天得到$4,第三天得到$9,以此类推您将得到多少钱。这看起来像一个很好的买卖)。C 没有平方函数,但是您可以利用 n 的平方是 n*n 的事实。*/#include<stdio.h> #include<stdlib.h>int main() { int day, mon原创 2016-01-08 11:59:35 · 340 阅读 · 0 评论 -
C Primer Plus5-5
/*5.改写用来找到前 20 个整数之和的程序 addemup.c(程序清单 5.13)(如果您愿意,可以把 addemup.c 程序看成是一个计算如果您第一天得到$l,第二天得到$2,第三天得到$3,以此类推,您在 20 天里会挣多少钱的程序)。修改该程序,目的是您能交 q 地告诉程序计算将进行到哪里。也就是说,用一个读入的变量来代替 20。*/#include<stdio.h> #include原创 2016-01-08 11:58:49 · 349 阅读 · 0 评论 -
C Primer Plus5-4
/*4.编写一个程序让用户按厘米输入一个高度值,然后,程序按照厘米和英尺英寸显示这个高度值。 允许厘米和英寸的值出现小数部分。程序允许用户继续输入,直到用户输入一个非正的数值。程序运行的示例如下面所示: Enter a height in centimeters: 182 182.0 cm = 5 feet, 11.7 inches Enter a height in centimeters(<=O原创 2016-01-08 11:57:58 · 294 阅读 · 0 评论 -
C Primer Plus5-3
/*3.编写一个程序,该程序要求用户输入天数,然后将该值转换为周数和天数。例如,此程序将把18 天转换成 2 周 4 天。用下面的格式显示结果: 18 days are 2 weeks, 4days. 使用一个 while 循环让用户重复输入天数;当用户输入一个非正数(如 0 或-20)时,程序将终止循环。*/#include<stdio.h> #include<stdlib.h>int main(原创 2016-01-08 11:57:17 · 282 阅读 · 0 评论 -
C Primer Plus5-1
/*1.编写一个程序。将用分钟表示的时间转换成以小时和分钟表示的时间。使用#define 或者 const 来创建一个代表 60 的符号常量。使用 while 循环来允许用户重复键入值,并且当键入一个小于等于 0 的时 间时终止循环。*/#include<stdio.h> #include<stdlib.h> #define time 60int main() { int minute;原创 2016-01-08 11:55:45 · 243 阅读 · 0 评论 -
C Primer Plus4-7
/*7.编写一个程序,要求用户输入行驶的英里数和消耗汽油的加仑数。接着应该计算和显示消耗每加 仑汽油行驶的英里数,显示方式是在小数点右侧显示一个数字。然后,根据 l 加仑约等于 3.785 升,l 英 里约等于 1.609 公里的规则,它应该把每加仑英里数转换成每 100 公里的升数(欧洲通用的燃料消耗表示 法),并显示结果,显示方式是在小数点右侧显示一个数字(请注意,美国方案测量每单位距离消耗的燃原创 2016-01-08 11:54:55 · 660 阅读 · 0 评论 -
C Primer Plus10-8
/*8.编写一个程序,初始化一个 3x5 的二维 double 数组,并利用一个基于变长数组的函数把该数 组复制到另一个二维数组。还要编写。个基于变长数组的函数来显示两个数组的内容。这两个函数应该能 够处理任意的 NxM 数组(如果没有可以支持变长数组的编译器,就使用传统 C 中处理 Nx5 数组的函数方法)。*/#include <stdio.h> #include <stdlib.h>void原创 2016-01-27 17:22:53 · 298 阅读 · 0 评论 -
C Primer Plus10-9
/*9.编写一个函数,把两个数组内的相应元素相加,结果存储到第 3 个数组内。也就是说,如果数 组 l 具有值 2、4、5、8,数组 2 具有值 1、0、4、6,则函数对数组 3 赋值为 3、4、9、140 函数的参数包 括 3 个数组名和数组大小。并在一个简单的程序中测试这个函数。*/#include<stdio.h> #include<stdlib.h>void add(double*, dou原创 2016-01-27 17:23:55 · 310 阅读 · 0 评论 -
C Primer Plus6-15
/*15. Daphne 以 10%的单利息投资了 100 美元(也就是说,每年投资赢得的利息等于原始投资的 10%)。 Deirdre 则以每年 5%的复合利息投资了 10O 美元(也就是说,利息是当前结余的 5%,其中包括以前的利息)。 编写一个程序,计算需要多少年 Deirdre 的投资额才会超过 Daphne,并且显示出到那时两个人的投资额。*/#include<stdio.h> #incl原创 2016-01-14 18:51:44 · 249 阅读 · 0 评论 -
C Primer Plus6-14
/*14.编写一个程序读入一行输入,然后反向打印该行。您可以把输入存储在一个 char 数组中;假定该行不超过 255 个字符。回忆一下,您可以使用具有%c 说明符的 scanf()从输入中一次读入一个字符,而且当您按下回车键时会产生换行字符(\n)。*/#include<stdio.h> #include<stdlib.h>int main() { char a[255];原创 2016-01-14 18:51:08 · 613 阅读 · 0 评论 -
C Primer Plus6-13
/*13.编写一个程序,创建两个 8 元素的 double 数组,使用一个循环来让用户键入第一个数组的 8 个元素的值。程序把第二个数组的元素设置为第一个数组元素的累积和。例如,第二个数组的第 4 个元素 应该等于第一个数组的前 4 个元素的和,第二个数组的第 5 个元素应该等于第一个数组的前 5 个元素的和 (使用嵌套循环可以做到这一点。不过利用第二个数组的第 5 个元素等于第二个数组的第 4 个原创 2016-01-14 18:50:20 · 328 阅读 · 0 评论 -
C Primer Plus6-12
/*12.编写一个程序,创建一个 8 个元素的 int 数组,并且把元素分别设置为 2 的前 8 次幂,然后打印出它们的值。使用 for 循环来设置值;为了变化,使用 do while 循环来显示这些值。*/#include<stdio.h> #include<stdlib.h> #include<math.h>int main() { int number[8], i; for原创 2016-01-14 18:49:13 · 278 阅读 · 0 评论 -
C Primer Plus6-11
/*11.考虑这两个无限序列: 1.0+1.0/2.0+1.0/3.0+1.0/4.0+… 1.0 - 1.0/2.0+1.0/3.0 - 1.0/4.0+… 编写一个程序来计算这两个序列不断变化的总和,直到达到某个次数。让用户交互地输入这个次 数。看看在 20 次、100 次和 500 次之后的总和。是否每个序列都看上去要收敛于某个值?提示:奇数个-1 相乘的值为-1,而偶数个-1 相乘的值为 1原创 2016-01-14 18:48:34 · 432 阅读 · 0 评论 -
C Primer Plus6-10
/*10.编写一个程序把 8 个整数读入一个数组中,然后以相反的顺序打印它们。*/#include<stdio.h> #include<stdlib.h>int main() { int num[8], i; printf("Please input 8 numbers:"); for(i = 0; i <= 7; i++) scanf("%d", &n原创 2016-01-14 18:47:55 · 236 阅读 · 0 评论 -
C Primer Plus6-9
/*9.编写一个程序,要求用户输入下限整数和一个上限整数,然后,依次计算从下限到上限的每一 个整数的平方的加和,最后显示结果。程序将不断提示用户输入下限整数和上限整数并显示出答案,直到 用户输入的上限整数等于或小于下限整数为止。程序运行的结果示例应该如下所示: Enter lower and upper integer limits: 5 9 The sums of the squares from原创 2016-01-14 18:46:19 · 626 阅读 · 0 评论 -
C Primer Plus6-8
/*8.对练习 7 进行修改,让它使用一个函数来返回计算值。*/#include<stdio.h> #include<stdlib.h>double cal(float,float);int main() { float a, b; printf("Please input two number:"); while(scanf("%f %f", &a, &b))原创 2016-01-14 18:45:24 · 306 阅读 · 0 评论 -
C Primer Plus6-7
/*7.编写一个程序,要求输入两个浮点数,然后打印出用二者的差值除以二者的乘积所得的结果。在用户键入非数字的输入之前程序循环处理每对输入值。*/#include<stdio.h> #include<stdlib.h>int main() { float a, b; printf("Please input two number:"); while(scanf("%f %原创 2016-01-14 18:44:41 · 218 阅读 · 0 评论 -
C Primer Plus6-6
/*6.编写一个程序把一个单词读入一个字符数组,然后反向打印出这个词。提示:使用 strlen()(第 4 章)计算数组中最后一个字符的索引。*/#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char word[20]; int i; printf("Please input a原创 2016-01-14 18:43:57 · 318 阅读 · 0 评论 -
C Primer Plus6-5
/*5.编写一个程序打印一个表,表的每一行都给出一个整数、它的平方以及它的立方。要求用户输入表的上限与下限。使用一个 for 循环。*/#include<stdio.h> #include<stdlib.h>int main() { int min, max, i; printf("Please input min and max:"); scanf("%d %d原创 2016-01-14 18:43:11 · 289 阅读 · 0 评论 -
C Primer Plus6-4
/*4 .让程序要求用户输入一个大写字母,使用嵌套循环产 生像下面这样的金字塔图案: A ABA ABCBA ABCDCBA ABCDEDCBA 这种图案要扩展到用户输入的字符。例如,前面的图案是在输入 E 时需要产生的。提示:使用一 个外部循环来处理行,在每一行中使用三个内部循环,一个处理空格,一个以升序打印字母,一个以降序 打印字母。如果您的系统不使用 ASCII 或类原创 2016-01-14 18:42:27 · 266 阅读 · 0 评论 -
C Primer Plus6-3
/*3.使用嵌套循环产生下列图案: F FE FED FEDC FEDCB FEDCBA 请注意:如果您的系统不使用 ASCⅡ或其他以数字顺序编码的码,您可以把一个字符数组初始化 为字母表中的字母: char lets[26]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 然后就可以使用数组索引来选用单个的字母,例如 lets[0]是'A',等等。*/#include<stdio.h>原创 2016-01-14 18:41:36 · 365 阅读 · 0 评论 -
C Primer Plus6-2
/*2.使用嵌套循环产生下列图案: $ $$ $$$ $$$$ $$$$$*/#include<stdio.h> #include<stdlib.h>int main() { int i, j; for(i = 1; i < 6; i++) { for(j = 1; j < i + 1; j++) printf("$");原创 2016-01-14 18:40:48 · 266 阅读 · 0 评论 -
C Primer Plus6-1
/*1.编写一个程序,创建一个具有 26 个元素的数组,并在其中存储 26 个小写字母。并让该程序显示该数组的内容。*/#include<stdio.h> #include<stdlib.h>int main() { char a_z[26]; int i; for(i = 0; i <= 25; i++) a_z[i]= 'a' + i; f原创 2016-01-14 18:39:57 · 224 阅读 · 0 评论 -
C primer Plus2-2
/*2-2.编写一个程序输出您的姓名及地址。*/ #include <stdio.h>int main() { printf("wang long\n"); printf("Beijing University"); system("pause"); return 0; }原创 2016-01-05 09:46:21 · 479 阅读 · 0 评论 -
黄迪明9.7
/*编写一个统计由命令行参数指定的文件中最长行所具有的字符个数的程序。*/#include<stdio.h> #include<stdlib.h>main(int argc, char *argv[]) { char ch; FILE *fp; int max = 0, count = 0; if (argc == 1) printf("usage:n原创 2016-02-05 15:28:45 · 287 阅读 · 0 评论 -
C Primer Plus4-6
/*6.编写一个程序,设置一个值为 1.0/3.0 的 double 类型变量和一个值为 1.0/3.0 的 float 类型变 量。每个变量的值显示三次:一次在小数点右侧显示 4 个数字,一次在小数点右侧显示 12 个数字,另一次 在小数点右侧显示 16 个数字。同时要让程序包括 float.h 文件,并显示 FLT—DIG 和 DBL_DIG 的值。 1.0/3.0 的显示值与这些值一致吗?*/原创 2016-01-08 11:54:16 · 343 阅读 · 0 评论 -
C Primer Plus4-5
/*5.编写一个程序,首先要求用户输入名字,然后要求用户输入姓氏。在一行打印输入的姓名,在下 行打印每个名字中字母的个数。把字母个数与相应名字的结尾对齐,如下所示: Melissa Honeybee 7 8 然后打印相同的信息,但是字母个数与相应单词的开始对齐。*/#include<stdio.h> #include<stdlib.h> #include<string.h>int main() {原创 2016-01-08 11:53:16 · 331 阅读 · 0 评论 -
C Primer Plus4-4
/*4.编写—个程序,要求输入身高(以英寸为单位)和名字,然后以如下形式显示: Dabney, you are 6.208 feet tall 使用 float 类型,使用/作为除号。如果您愿意,可以要求以厘米为单位输入身高,并以米为单位进行显示。*/#include<stdio.h> #include<stdlib.h>int main() { char name[20];原创 2016-01-08 11:52:37 · 239 阅读 · 0 评论