c
zgscsed
这个作者很懒,什么都没留下…
展开
-
记录——《C Primer Plus(第五版)》 第7章编程练习第5题
用switch 重做练习3。 # include <stdio.h>int main(void) { int in, even=0, odd=0; double sum_even=0, sum_odd=0, mean_even=0, mean_odd=0; while((scanf("%d", &in) ==1) && in != 0) { switch原创 2015-09-25 17:35:10 · 492 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十一章编程练习第三题
3.设计并测试一个函数,其功能是读取输入行里的第一个单词到数组,并丢掉该行中其他 字符,一个单词的定义是一串字符,基中不含空格,制表及换行符。#include <stdio.h> char *getword(int n, char * p); char clear(); // 清除字母前的字符 int main(void) { char word[20]; getw原创 2015-11-25 13:17:28 · 742 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十一章编程练习第二题
2.修改练习1,使得可以在n个字符后,或第一个空格、制表符,换行符后停止读取输入,由上述情况 最先被满足的那个终止读取,不能使用scanf()函数。# include <stdio.h> # define MAX 5 void gets_array(char *array, int max, int *); int main(void) { char array[MAX]; int原创 2015-11-25 13:13:31 · 666 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第十二题
12.编写…个程序,提示用户输入3个数集,每个数集包括5个double值。程序应当实现下列所有功能: a.把输入信息存储到一个3x5的数组中 b.计算出每个数集(包含5个数值)的平均值 c.计算所有数值的平均数 d.找出这15个数中的最大值. e.打印出结果 每个任务需要用一个单独的函数来实现(使用传统C处理数组的方法)。对于任务b,需要编原创 2015-11-02 22:17:00 · 981 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第十一题
11.重写程序清单10.7的程序rain,main()中的主要功能改为由函数来执行。# include <stdio.h># define MONTHS 12 //一年的月份数 # define YEARS 5 // 降水量数据的年数void rain_year_total(float rain[][MONTHS], int years);//每年总降水量 void rain_mean_y原创 2015-11-02 22:15:47 · 457 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第三题
3.编写一个函数,返回一个int数组中存储的最大数值,并在一个简单的 程序中测试这个函数。# include <stdio.h>int max(int *, int var);int main(void) { int target[5] = {0}; int i,m; printf("enter 5 numbers:\n"); for(i = 0; i<5; i++)原创 2015-11-02 22:02:10 · 476 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第一题
1.修改程序清单10.7中的程序rain,使它不使用数组下标,而是使用 指针进行计算(程序中仍然需要声明并初始化数组)。# include <stdio.h># define MONTHS 12 //一年的月份数 # define YEARS 5 // 降水量数据的年数int main(void) { //把数组初始化为2000年到2004年的降水量数据 const fl原创 2015-11-02 21:58:22 · 411 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十一章编程练习第四题
4.设计并测试一个函数,其功能是搜索由函数的第一个参数指定的字符串,在其中查找由函数的第二 个参数指定的字符的第一次出现的位置。如果找到,返回指向这个字符的指针,如果没有找到,返回 空字符(这种方式和str()函数功能一样,在一个使用循环的语句中变回这个函数提供输入完整程序 中进行测试 。# include <stdio.h>int firstplace(char * cha, char ch);原创 2015-11-25 13:19:55 · 691 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第二题
2.编写一个程序,初始化一个double数组,然后把数组内容复制到另外 两个数组(3个数组都需要在主程序中声明)。制作第一份拷贝的函数使 用数组符号。制作第二份拷贝的函数使用指针符号,并使用指针的增量操 作。把目标数组名和要复制的元素数目做为参数传递给函数。也就是说, 如果给定了下列声明,函数调用应该如下面所示: double source [5]={1.1, 2.2, 3.原创 2015-11-02 22:00:38 · 463 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十一章编程练习第一题
1.设计并测试一个函数,可以从输入读取n个字符(包括空格、制表符和换行符),把结果存储在 一个数组中,这个数组的地址通过参数来传递。 # include <stdio.h> # define MAX 5 void gets_array(char *array, int max, int *); int main(void) { char array[MAX]; int count =原创 2015-11-25 13:09:35 · 548 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第四题
4.编写一个函数,返回一个double数组中存储的最大数值的索引,并在 一个简单程序中测试这个函数。# include <stdio.h>int max(double *, int var);int main(void) { double target[5] = {0}; int m; int i; printf("enter 5 numbers:\n");原创 2015-11-02 22:03:37 · 402 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十二章编程练习第1-8题
1.不使用全局变量,重写12.4的程序 。# include <stdio.h>int critic(void); int main(void) { int units = 0; printf("How many pounds to a firkin of butter?\n"); scanf("%d", &units); while(units != 56) {原创 2016-01-21 20:48:52 · 1584 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十一章编程练习第5-12题
5.编写一个函数is_within(),它接受两个参数,一个是字符,另一个是字符串指针。其功能是如果字符在字符串中,就返回一个非0值(真);如果字符不在字符串中,就返回0值(假)。在一个使用循环语句为这个函数提供输入的完整程序中进行测试。# include <stdio.h>int is_within(char ch, char * string); void clear();// 清除每次输入原创 2015-12-18 16:02:00 · 2682 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第十题
10.编写…个程序,声明一个3x5的数组并初始化,具体数值可以随意。程序打印出数值,然后数值翻1番,接着再次打印出新值。编写一个函数来显示数组的内容,再编写另一个函数执行翻倍功能。数组名和数组行数作为参数由程序传递给函数。# include <stdio.h>void show_array(int (* array)[5], int rows); void double_array(int (* a原创 2015-11-02 22:14:38 · 744 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第九题
9.编写一个函数,把两个数组内的相应元素相加,结果存储到第3个数组内。也就是说,如果数组l具有值2、4、5、8,数组2具有值1、0、4、6,则函数对数组3赋值为3、4、9、140函数的参数包括3个数组名和数组大小。并在一个简单的程序中测试这个函数。# include <stdio.h>void add_array(int *array1, int *array2, int *target, int原创 2015-11-02 22:13:15 · 920 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第八题
8.编写一个程序,初始化一个3x5的二维double数组,并利用一个基于变长数组的函数把该数组复制到另一个二维数组。还要编写。个基于变长数组的函数来显示两个数组的内容。这两个函数应该能够处理任意的NxM数组(如果没有可以支持变长数组的编译器,就使用传统C中处理Nx5数组的函数方法)。/* 2015年11月2日13:28:55 总结:copy函数中的形参double *array 表示声明一个一原创 2015-11-02 22:12:04 · 1720 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第七题
7.利用练习2中的复制函数,把—个包含7个元素的数组内第3到第5元 素复制到一个包含3个元素的数组中。函数本身不需要修改,只需要选择合适的实际参数(实际参数不需要是数组名和数组大小,而只须是数组元素的地址和需要复制的元素数目)。# include <stdio.h>void copy_ptr(double * array, double * target, int var1, int var2);原创 2015-11-02 22:10:13 · 786 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第六题
6.编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的函数来复制数组的每个子数组)。# include <stdio.h>void copy_ptr1(double (*array)[5], double (*target)[5], int var1); void copy_ptr2(doubl原创 2015-11-02 22:08:05 · 562 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第十章编程练习第五题
5.编写一个函数,返回一个double数组中最大的和最小的数之间的差 值,并在一个简单的程序中测试这个函数。# include <stdio.h>double max_min_value(double *, int var);int main(void) { double target[5] = {0}; int i; double value; printf("e原创 2015-11-02 22:05:13 · 477 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第九题
第九题:为了使程序清单9.8中的函数to_binary()更一般化,可以在 心的函数to_base_n()中使用第二个参数,且该参数的范围从2到10。 然后,这个新函数输出第一个参数在第二个参数规定的进制数下的数 值结果。例如,to_base_n(129,8)的输出时201,也就是129的八进 制数值。最后在一个完整的程序中对该函数进行测试。# include <stdio.h>void t原创 2015-10-26 22:05:52 · 547 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第十题
第十题:编写并测试一个函数Fibonacci(),在该函数中使用循环替代 递归完成斐波纳契数列的计算。# include <stdio.h>void Fibonacci(int);int main(void) { int n; //个数 printf("请输入斐波那契数列要显示到第几个数:"); scanf("%d", &n); Fibonacci(n); pr原创 2015-10-26 22:07:52 · 727 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第八题
编写一个程序,显示一个菜单,为您提供加法、减法、乘法或除法的选项。获得您的选择后,该程序请求两个数,然后执行您选择的操作。该程序应该只接受它所提供的菜单选项。它应该使用float类型的数。并且如果用户未能输入数字应允许其重新输入。在出发的情况中,如果用户输入0作为第二个数,该程序应该提示用户输入一个新的值。 # include <stdio.h>float add(float one, float原创 2015-09-28 19:31:29 · 903 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第三题
编写一个程序,把输入作为字符流读取,直到遇到EOF。令其报告输入中的大写字母个数和小写字母个数。假设小写字母的数值是连续的,大写字母也是如此。或者你可以使用Ctype.h库中的合适的函数来区分大小写。 # include <stdio.h> # include <ctype.h>int main(void) { int ch; int low=0; int upp=0;原创 2015-09-27 17:14:21 · 489 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第九题
编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。 # include <stdio.h>int main(void) { long int in; bool isprime = true; printf("请输入一个整数:\n"); scanf("%d", &in); for(long int j=2; j<=in; j++) {原创 2015-09-26 16:08:11 · 466 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第四题
利用if else 语句编写程序读取输入,直到#。用以感叹号代替每个句号,将原有的每个感叹号用两个感叹号代替,最后报告进行了多少次替代。 # include <stdio.h># define STOP '!'int main(void) { int i = 0; char ch; while((ch = getchar()) != '#') { if('原创 2015-09-25 17:15:50 · 480 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第十一题
ABC Mail Order Grocery朝鲜蓟的售价是1.25美元/磅,甜菜的售价是0.65美元/磅,胡萝卜的售价是0.89美元/磅。在添加运输费用之前,他们为100美元的订单提供5%的打折优惠。对5磅或以下的定单收取3.50美元的运输和装卸费用;超过5磅而不足20磅的定单收取1O.OO美元的运输和装卸费用:20磅或以上的运输,在8美元基础上每磅加收0.1美元。编写程序,在循环中使用switch原创 2015-09-26 20:29:44 · 1309 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第八题
修改练习7中的假设a,使程序提供一个选择工资等级的菜单。用switch选择工资等级。程序运行的开头应该像这样: ***************************************************************** Enter the number corresponding to the desired pay rate or acion: 1)$8.75/hr原创 2015-09-26 14:55:06 · 717 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第三题
编写一个程序。该程序读取整数,直到输入0.输入终止后,程序应该报告输入的偶数(不包括0)总个数、偶数的平均数,输入的奇数总个数以及奇数的平均数。 “` # include原创 2015-09-25 16:31:01 · 656 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第七章编程练习第六题
编写一个程序读取输入,直到#,并报告序列ei出现的次数。 # include <stdio.h>int main(void) { int cnt=0, j=1; //cnt记ei出现的次数 j记e与i之间的间距 char ch; while((ch = getchar()) != '#') //ch有三种情况 { if('e' == ch原创 2015-09-25 18:41:27 · 431 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第六题
修改程序清单8.8中的get_first()函数, 使其返回所遇到的第一个非空白字符。在一个简单的程序中测试该函数。 # include <stdio.h>char get_first(); int main(void) { char ch; ch = get_first(); printf("第一个非空字符为:%c\n", ch); return 0; }char g原创 2015-09-28 16:28:52 · 604 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第四题
编写一个程序,把输入作为字符流读取,直至遇到EOF。令其报告每个单词的平均字母数。不要将空白字符即为单词中的字母。实际上,标点符号也不应该计算,但现在不比考虑这一点(可以考虑使用ctype.h中的ispunct()函数)。# include <stdio.h> # include <stdlib.h>int size(int);int main(void) { int ch, i=0 , c原创 2015-09-27 17:51:21 · 886 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第六题
第六题:编写一个程序,使其从标准输入读取字符,直到遇到文件 结尾。对于每个字符,程序需要检查并报告该字符是否是一个字母。 如果是的话,程序还应该报告该字母在字母表中的数值位置。例如 c和C的字母位置都是3。可以先实现这样一个函数:接收一个字符 参数,如果该字符为字母则返回该字母的数值位置,否则返回-1。# include <stdio.h> # include <ctype.h>int is原创 2015-10-26 22:00:06 · 715 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第八题
第八题:用递归函数重做第七题。# include <stdio.h> double recur(double num, int cnt);int main(void) { double num, result; int cnt; printf("Enter a number of the double and cnt:\n"); scanf("%lf %d", &nu原创 2015-10-26 22:04:07 · 707 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第四题
第四题:两数值的谐均值可以这样计算:首先对两数值的倒数取 平均值,最后再取倒数。编写一个带有两个double参数的函数, 计算这两个参数的谐均值。(为了测试,个人编写了驱动程序)# include <stdio.h>double harmonicMean(double, double);int main(void) { double num1 = 23.4; double num原创 2015-10-26 21:53:39 · 1052 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第三题
第三题:编写一个函数,包含三个参数,第一个是字符,表示需要 打印的字符,第二个整数,是每行需要打印的个数,第三个是整数, 是需要打印的行数,用一个程序来测试该函数。# include <stdio.h>void Outputinformation(char ch, int line, int num); int main(void) { char ch; int num;原创 2015-10-26 21:52:08 · 332 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第二题
第二题:设计函数chline(ch,i,j),实现指定字符在i列到j列的输出,并 用一个简单的驱动程序测试该函数。# include <stdio.h>void chline(char ch, int i,int j);int main(void) { char ch; int i, j; printf("Enter a character and 行列, please.\原创 2015-10-26 21:50:03 · 540 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第九章编程练习第一题
第一题:设计函数min(x,y),返回两个double数值中较小的数值,同时 用一个简单的驱动程序测试该函数。# include <stdio.h>void min(double, double);int main(void) { double num1, num2; printf("Enter two number, please.\n"); scanf("%lf %lf"原创 2015-10-26 21:47:28 · 620 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第二题
编写一个程序,把输入作为字符流读取,直到遇到EOF。令该程序打印每个输入字符及其ASCII编码的十进制值。注意在ASCII序列中空格字符前面的字符是非打印字符,要特殊处理这些字符。如果非打印字符是换行符或制表符,则分别打印\n或\t。否则,使用控制字符符号。例如ASCII的1是CTRL+A,可以显示为^A。注意A的ASCII值是CTRL+A的值加64。对其他非打印字符也保持相似的关系。除去每次遇到一原创 2015-09-27 17:00:12 · 882 阅读 · 0 评论 -
记录——《C Primer Plus (第五版)》第八章编程练习第五题
修改程序清单8.4的猜测程序,使其使用更智能的猜测策略。例如,程序最初猜50,让其询问用户该猜测值是大、小还是正式。如果该猜测值小,则令其下一次猜测值为50和100的中值,也就是75,。如果75大,则下一次猜测为75和50的中值,等等。使用这种二分搜索策略,起码如果用户没有欺骗,该程序很快会获得正确答案。解:原题目是猜测1~100中的数字。 # include <stdio.h> # include原创 2015-09-27 21:35:03 · 779 阅读 · 0 评论 -
C++/C中的小知识备忘
C++/C中防止头文件的重复包含的解决办法 为了避免头文件重复包含,有两种方式可以选择,一种是#ifndef方式,由标准支持;一种是#pragma once方式,编译器提供。 //方式一 #ifndef _SOLVEEQUATION_H_ #define _SOLVEEQUATION_H_ //代码 #endif //_SOLVEEQUATION_H_ //方式二 #pragma ...原创 2018-03-13 18:01:25 · 137 阅读 · 0 评论