C语言程序设计教材答案

合集下载

《C语言程序设计教程(第二版)》习题答案

《C语言程序设计教程(第二版)》习题答案

1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。

*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。

《C语言程序设计》课后习题参考答案 李勃 邱晓红 主编 清华大学出版社

《C语言程序设计》课后习题参考答案  李勃   邱晓红  主编 清华大学出版社

《C语言程序设计》课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A(8)D(9)A(10)B(11)C(12)C(13)D(15)B(16)C(17)A(18)A(19)B(20)C(21)C(22)D(23)C(24)A(25)D(26)B(27)C(28)B(29)B(30)A2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6(4)3 3(6)36(7)int x=8,y=8;(8)1(9)E(10)6,7,8,9(11)6(12)66,96(13)240(14)1,1,-1,-1(15)5,2,6(16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0) (20)A3.程序分析题(1)2 72 74 94 412 12116(3)100 d 68 D97 a 49 1 (4)0 1 0 1 (5)2 4 6 7-0.58 7046.587.5(6)33 12 113 13 082 32(7)618 30181814.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d符合赋值左边不能是表达式第三章:算法概念与顺序结构程序设计1.选择题(1)D(2)B、D(3)D(4)B(5)C(6)A(8)C(9)B(10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.00(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)65535,65536(10)1234,123.5,12345.5第四章:选择结构程序设计(1)C (2)B (3)B (4)B (5)D (6)D (7)D (8)A (9)B (10)A (11)B (12)B (13)D (14)A (15)C (16)A (17)C (18)D (19)B (20)D (21)A(23)A(24)A2.填空题.(1)1(2)5 8 8(3)4 5 99(4)2(5)10 20 0(6)2 1(7)-4(8)3(9)No(10)25(11)45 45(12)0(13)5.5(14)13(15)3第五章:循环结构程序设计(1)C(2)A(3)D(4)B(5)D(6)B(7)A A或B(8)输出4444(9)B(10)A(11)B(12)C(13)A(14)B2.填空题.(1)r=m;m=n;n=rm%n(2)3(3)-5(4)i%3==2&&i%5==3&&i%7==2 j==5j!=k(6)int s=8,j=i+2k+i+j==8(7)8(8)k&&i<=500 k/10 continue第六章:数组1.选择题(1)B(2)C(3)D(4)D(5)B(6)C(7)B(8)A(9)A(10)D2.填空题.(1)按行序优先的原则(2)0 9(4)1 2(5)6(6)前者以回车后者以空格或回车作为间隔符(7)gets()(8)&a[i](9)char k -1(10)9 83.程序分析题.(1)1 3 7 15(2)0 0 0(3)读取输入字符串中数字字符(4)①if(str1==str2) (strcmp(str1,str2)==0)②&c1[0]③m[i][k-1]第七章:函数的调用1.选择题(1)B(2)C(3)C(4)A(6)D(7)D(8)D(9)B(10)D(11)A(12)A(13)B(14)B2.填空题.(1)有参无参(2)顺序类型(3)定义调用(4)①fmax(a,N) ②s[k]=s[p](5)①age(n-1)+2 ②age(5)(6)①prt(c,n-1) ②prt(…‟,n-i) ③prt(…*‟,2*i-1) 3.程序分析题.(1)h l o(2)3(3)2 6(4)5 25。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。

课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。

```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。

c语言程序设计教程第三版习题答案

c语言程序设计教程第三版习题答案

c语言程序设计教程第三版习题答案C语言程序设计教程第三版习题答案第一章:C语言概述1. 简述C语言的特点。

C语言是一种结构化编程语言,具有高级语言的特点,同时支持底层硬件操作。

其特点包括:简洁、高效、可移植、丰富的运算符、数据结构支持、广泛的库函数等。

2. 什么是编译型语言?编译型语言是指源代码在执行前需要通过编译器转换成机器语言的程序设计语言。

C语言就是一种编译型语言。

第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。

C语言的基本数据类型包括:整型(int)、字符型(char)、浮点型(float和double)。

2. 说明赋值运算符的用法。

赋值运算符(=)用于将右侧表达式的值赋给左侧的变量。

例如:`int a = 10;` 将整数值10赋给变量a。

第三章:控制结构1. 什么是条件语句?条件语句用于根据条件的真假来执行不同的代码块。

C语言中的条件语句主要有if语句和switch语句。

2. 循环语句有哪些?C语言中的循环语句主要有for循环、while循环和do-while循环。

第四章:数组和字符串1. 数组的声明和初始化方式。

数组声明的一般形式为:`type arrayName[arraySize];`。

初始化可以使用花括号一次性赋值,如:`int arr[5] = {1, 2, 3, 4, 5};`。

2. 字符串在C语言中的表示方法。

在C语言中,字符串以字符数组的形式存在,以空字符('\0')作为结束标志。

第五章:函数1. 函数的定义和调用。

函数定义的一般形式为:`returnTypefunctionName(parameterList) { /* function body */ }`。

调用函数时,使用其名称和必要的参数。

2. 函数的参数传递方式有哪些?C语言中函数的参数传递方式主要有值传递(pass by value)和引用传递(pass by reference)。

c程序设计第二版谭浩强课后答案

c程序设计第二版谭浩强课后答案

c程序设计第二版谭浩强课后答案C程序设计第二版是谭浩强教授编写的一本广泛使用的计算机程序设计教材,它以C语言为基础,深入浅出地介绍了程序设计的基本概念、语法规则和编程技巧。

这本书的课后习题对于加深理解C语言的知识点非常有帮助。

以下是部分课后习题的答案,供参考:第一章程序设计和C语言概述1. 问题一:简述程序设计的基本步骤。

- 答案:程序设计的基本步骤包括需求分析、设计、编码、测试和维护。

2. 问题二:C语言的主要特点是什么?- 答案:C语言的主要特点包括简洁高效、结构化、可移植性、丰富的运算符、灵活的数据类型和内存管理能力。

第二章 C语言程序的结构1. 问题一:C语言程序的基本结构是什么?- 答案:C语言程序的基本结构包括预处理指令、函数定义和主函数。

2. 问题二:什么是函数?C语言中函数的定义规则是什么?- 答案:函数是一段具有特定功能的代码块,可以被重复调用。

C 语言中函数的定义规则包括返回类型、函数名和参数列表。

第三章数据类型、运算符和表达式1. 问题一:C语言中的基本数据类型有哪些?- 答案:C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)。

2. 问题二:算术运算符有哪些?它们的优先级是怎样的?- 答案:算术运算符包括加(+)、减(-)、乘(*)、除(/)和模(%)。

它们的优先级从高到低依次是乘除、模、加减。

第四章控制语句1. 问题一:C语言中的条件语句有哪些?- 答案:C语言中的条件语句包括if语句、if...else语句和switch语句。

2. 问题二:循环语句有哪些?它们的基本结构是什么?- 答案:C语言中的循环语句包括while循环、do...while循环和for循环。

它们的基本结构是初始化、条件判断和迭代。

第五章数组1. 问题一:什么是数组?数组的声明方式有哪些?- 答案:数组是相同数据类型元素的集合。

数组的声明方式包括在函数内部声明和全局声明。

《C语言程序设计》 课后习题答案 高等教育出版社

《C语言程序设计》 课后习题答案 高等教育出版社

《C语言程序设计》课后习题答案高等教育出版社《C语言程序设计》课后习题答案高等教育出版社第一章:C语言概述1. C语言的特点C语言是一种以处理底层任务和系统编程为目标的高级编程语言。

其特点包括语法简洁、执行效率高、可移植性强等。

第二章:C语言基本数据类型1. C语言中的基本数据类型C语言中的基本数据类型包括整型、字符型、浮点型等。

整型可以进一步细分为有符号整型和无符号整型。

第三章:C语言运算符1. C语言中的运算符C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。

这些运算符用于执行各种数学和逻辑操作。

第四章:C语言控制语句1. C语言中的条件语句C语言提供了if语句和switch语句来实现条件判断。

if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。

第五章:C语言函数1. C语言中的函数定义和调用函数是C语言中的基本模块,用于封装可重用的代码。

函数定义包括函数返回类型、函数名、参数列表和函数体等部分。

第六章:C语言数组1. C语言中的数组定义和使用数组是一组相同类型的数据元素的集合。

C语言中可以使用数组来存储和操作大量数据。

第七章:C语言指针1. C语言中的指针概念指针是一种变量,它存储了内存地址。

通过指针,可以直接访问和修改对应内存地址中的数据。

第八章:C语言字符串1. C语言中的字符串操作字符串是由一系列字符组成的数据类型。

C语言通过字符数组来表示和操作字符串。

第九章:C语言结构体1. C语言中的结构体定义和使用结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。

第十章:C语言文件操作1. C语言中的文件读写操作文件操作是一种重要的数据输入和输出方式。

C语言提供了一系列函数来实现文件的读写操作。

总结:通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。

希望本文对读者有所帮助。

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案第一章:C语言基础知识1.1 C语言的历史和特点C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的一种高级计算机编程语言。

C语言具有简洁、高效、可移植性强等特点,成为了编写系统软件和应用软件的首选语言。

1.2 C语言的开发环境为了编写和运行C语言程序,我们需要安装并配置相应的开发环境。

常用的开发环境包括Code::Blocks、Dev-C++和Eclipse等。

这些开发环境提供了编辑器、编译器和调试器等工具,方便我们进行程序开发和调试。

1.3 C语言的基本语法C语言的基本语法包括关键字、标识符、数据类型、变量、常量、运算符和控制语句等。

关键字是C语言预先定义的词汇,如int、if、for等。

标识符是程序中自定义的名称,用于标识变量、函数等。

数据类型包括整型、浮点型、字符型和指针型等。

变量是存储数据的位置,常量是不可修改的数据。

运算符用于进行数学和逻辑运算。

控制语句包括条件语句和循环语句,用于控制程序的执行流程。

第二章:C语言基本程序设计2.1 程序的结构C语言程序由多个函数组成,其中main函数是程序的入口,是程序执行的起点。

在main函数中,我们可以调用其他函数来完成具体的任务。

一个基本的C语言程序结构包括包含头文件、定义变量、执行语句和返回值等部分。

2.2 输入和输出输入和输出是C语言程序中常见的操作。

标准库提供了一系列函数,如printf和scanf,用于输出和输入数据。

其中printf函数用于格式化输出数据,scanf函数用于接收用户的输入。

2.3 运算和赋值C语言支持多种运算符,如算术运算符、关系运算符、逻辑运算符和位运算符等。

这些运算符可以用于数值计算和条件判断。

赋值运算符用于给变量赋值。

2.4 条件语句条件语句根据条件的成立与否来决定程序的执行路径。

C语言提供了if语句和switch语句来实现条件控制。

if语句根据条件的真假来执行不同的代码块。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章C语言概述1.一个主函数多个2.main()3.c obj exe三、程序填空题main()printf四、运行结果$$$$$$$$$$$$$$$$AAAAAAAAASSSSSSSSSSSSSS五、编程题void main(){printf("**********************************\n");printf("* 请完成以下功能*\n");printf("* 1、进入程序2、切换用户*\n");printf("* 3、更新程序4、删除程序*\n");printf("* 请选择(1-4):*\n");printf("**********************************\n");}第2章数据类型、运算符、表达式与基本输入输出二、填空题1.3,12.不定值3.14.05.1,0,0,06.-2647.88.8,8,109.1三、运行结果题1.n=12.n=3,a=2,b=33.32767,327684.<1>7.<2>6<3>3.<4>2<5>6.<!>0.3.<1>0.<2>0<3>0<4>2<5>10<6>5第3章顺序程序设计二、填空题1.dec:-1,oct:,hex:ffffffff,unsigned:2.dec:1,oct:1,hex:1,unsigned:13.dec:65,oct:41,AXCII:A4.3.,,3.1425.3.,3.56.31.,3.e+0017.c=K8.a=1,b= ,c=29.a=12,b=34510.c=A三、编程题1.#include<stdio.h>void main(){float r,h,v;scanf("%f%f",&r,&h);v=3.14*r*r*h;printf("v=%f\n",v);}2.#include<stdio.h>void main(){int n,s=0;scanf("%d",&n);s=(n+1)*(n+2)*n/3;printf("1*2+2*3+...+n(n+1)=%d\n",s);}3.#include<stdio.h>void main(){int a,b,n=0;scamf("%d%d",&a,&b);n=a/2+b/4;printf("n=%d\n",n);}4.#include<stdio.h>void main(){printf(" O\n");printf("OOOOOOOOOOO000\n");printf("O O 0\n");printf("O O 0\n");printf("OOOOOOOOOOO000\n");printf(" O\n");}第4章分支结构程序设计习题解1.缺省{ }时,else总是与上面最近的、没有匹配过的if 匹配。

2.if(a<=b) {x=1; printf(“ # # # # x=%d\n”,x);}else { y=2; printf(“ * * * * y=%d\n”,y); }3.根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果4.(1)整个条件表达式的结果就取自运算分量b的结果(2)整个条件表达式的结果就取自运算分量c的结果三、程序填空题char grade;gradedefault四、运行结果题1.1,0,12.x=63.32334.*&五、编程题#include <math.h>#include <stdio.h>void main( ){float a,b,c,s,s1;printf("Please enter 3 reals:\n");scanf("%f%f%f",&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s=sqrt(s1);printf("\nArea of the triangle is %f\n",s);}else printf("It is not triangle!\n");}2.#include <stdio.h>#define PI 3.14159void main( ){int k;float r,c,a;printf("input r,k\n");scanf("%f%d",&r,&k);switch(k){case 1: a=PI*r*r; printf("area=%f\n",a);break;case 2: c=2*PI*r;printf("circle=%f\n",c);break;case 3: a=PI*r*r;c=2*PI*r;printf("area=%f circle=%f\n",a,c);break; }}3.#include <stdio.h>void main(){int year;scanf("%d",&year);if(year%400==0||year%4==0&&year%100!=0)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n ",year);}#include<stdio.h>void main(){float score;scanf("%f",&score);if(score>=90)printf("A");else if(score>=80)printf("B");else if(score>=70)printf("C");else if(score>=60)printf("D");elseprintf("E");}5.#include<stdio.h>void main( ){int num,a,b,c,d,p;scanf("%d",&num);if(num<=9999&&num>999)p=4;else if(num>99)p=3;else if(num>9)p=2;else if(num>0)p=1;printf("位数是:%d\n",p);a=num/1000;b=num/100-a*10;c=num/10-a*100-b*10;d=num%10;switch(p){case 4:printf("%d %d %d %d\n",d,c,b,a);break;case 3:printf("%d %d %d \n",d,c,b);break;case 2:printf("%d %d\n",d,c);break;case 1:printf("%d \n",d);}}第5章循环结构程序设计习题解1.(1)while (2)do-while (3)for2.do-while语句3.for语句4.(1)先判断条件是否成立(为真),若成立(为真)再执行循环语句(2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。

do-while至少执行一次循环语句5.表达式1;while(表达式2)表达式3;6.(1)结束本次循环,后进行循环的条件判定,即不终止整个循环的执行过程(2)终止整个循环的执行,不再进行条件判定7.一个循环体内包括另一个完整的循环结构8.死循环,不能确定次数三、程序填空题1.18或192.c=getchar( )四、运行结果题1.0 1 1 1 2 22.x=8五、编程题1.#include<stdio.h>void main(){int i, s=0;for(i=1;i<=101;i+=2)if((i-1)%4==0)s+=i;elses-=i;printf(“%d”,s);}2.#include<stdio.h>#include<math.h>void main(){long int i,x,y,z;for(i=1;i<;i++){x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上268后开方后的结果*/ if(x*x==i+100&&y*y==i+268)printf("\n%ld\n",i);}}3.#include<stdio.h>void main(){int n,i;printf("\nplease input a number:\n");scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i++){while(n!=i){if(n%i==0){printf("%d*",i);n=n/i;}elsebreak;}}printf("%d",n);}4.#include<stdio.h>void main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\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++;elseothers++;}printf("all in all:char=%d space=%d digit=%d others=%d\n",letters, space,digit,others); }5.#include<stdio.h>#include<math.h>void main(){int i,n,j,k,m,l=0;for(i=4;i<=2000;i+=2){for(n=2;n<i;n++){for(j=2,k=1;j<=(int)sqrt(n);j++)/*判断n是否素数*/{if(n%j==0) k=0;}if(k) /*若n是素数,则继续判断i-n是否素数*/for(j=2,m=1;j<=(int)sqrt(i-n);j++)/*判断i-n是否素数*/{if((i-n)%j==0) m=0;}if(m){printf("%d=%d+%d ",i,n,i-n);l++;if (l%5==0)printf ("\n");break;}}if(n==i) printf("error %d\n",i);/*n等于i,i不遵循哥德巴赫猜想*/}}6.#include<stdio.h>void main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1;day--;}printf("the total is %d\n",x1);}7.#include<stdio.h>void 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");}}8.#include<stdio.h>void main(){double p=1,t=1,v;int i;for(i=1;i<64;i++){p=p*2; /* p是当前格子中的麦子粒数*/t=t+p; /* t是当前麦子总粒数*/}v=t/1.42e8;printf("total=%e\n",t);printf("volume=%e\n",v);}第6章数组与指针二、读程序题1. ABC2. 4793. 194. 65. s=s+1.0/n;或s=s+1/(float)n;6. -17. 48. LANG三、程序填空1.i=strlen(s);i>=j;i—s[i+1]=s[i];!=’\0’i++2.(ch=st[i])ch==’’word==0n++四、编程题1.#include <stdio.h>#define NUM 10void main(){int i,count=0;float a[NUM],sum=0,aver;for(i=0;i<NUM;i++){scanf("%f",&a[i]);sum+=a[i];}aver=sum/NUM;printf("The average is : %.2f\n",aver);for(i=0;i<NUM;i++)if(a[i]>aver)count++;printf("the number that is over average is : %d\n",count); }2.#include <stdio.h>#define NUM 10void main(){int i;float a[NUM],max,min;scanf("%f",&a[0]);max=a[0];min=a[0];for(i=1;i<NUM;i++){scanf("%f",&a[i]);if(a[i]>max)max=a[i];else if(a[i]<min)min=a[i];}printf("max=%d\nmin=%d\n",max,min); }3.#include<stdio.h>#define NUM 20void main(){int a[NUM],i;for(i=0;i<NUM;i++)scanf("%d",&a[i]);printf("the result is:\n");for(i=0;i<NUM;i++)if(i%2==0&&a[i]%2==0)printf("%d\n",a[i]);}4.#include<stdio.h>void main(){int i,j,sum1=0,sum2=0,sum3=0;float aver;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i]);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%6d",a[i][j]);printf("\n");}sum1+=a[i][j]+a[2-i][i];printf("输出主对角线与次对角线元素的和是:%d\n",sum1);for(i=0;i<3;i++)sum2+=a[1][i];printf("输出第二行元素的和是:%d\n",sum2);for(i=0;i<3;i++)sum3+=a[i][2];aver=(float)sum3/3;printf("输出第三列元素的平均值是:%.2f\n",aver);}5.#include<stdio.h>void main(){int i,co1=0,co2=0,co3=0,co4=0;char s[1000],c;gets(s);for(i=0;(c=a[i])!='\0';i++)if(c>='a'&&c<='z'||c>='A'&&c<='Z')co1++;else if(c==' ')co2++;else if(c>='0'&&c<='9')co3++;elseco4++;printf("统计字符串中英文字母、空格符、数字字符及其它字符的个数分别是:%d,%d,%d,%d\n",co1,co2,co3,co4);}6.#include <stdio.h>#define N 10void main(){int a[N][N],i,j;for(i=0;i<N;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<N;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];{for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}7.#include <stdio.h>void main(){int i,j;for(i=0;i<5;i++){for(j=0;j<i;j++)printf(" ");for(j=0;j<5;j++)printf("* ");printf("\n");}}第7章函数与变量二、填空题1.42.double avg(double a,double b)3.2114.i+1 1三、编程题1#include <stdio.h>double cylinder (double r, double h){double result;result =3. * r * r * h;return result;}void main( ){double height, radius, volume;double cylinder (double r, double h);printf ("Enter radius and height: ");scanf ("%lf%lf", &radius, &height);volume = cylinder (radius, height );printf ("Volume = %.3f\n", volume);return 0;}2#include <stdio.h>char* fun(char* s, char c){char* t = s;char* f = s;for(;*f;f++){if(*f==c)continue;*t = *f;t++;}*t = 0;return s;}void main(){char input[1000];char c;printf("请输入一个字符串: ");gets(input);printf("请输入一个字符: ");scanf("%c",&c);printf("结果: ");puts(fun(input,c));}3#include <stdio.h>long fun(int g){switch(g){case 0: return 0;case 1: case 2: return 1;}return (fun(g-1)+fun(g-2));}void main(){long fib; int n;printf("Input n:");scanf("%d",&n);printf("n=%d\n",n);fib=fun(n);printf("fib=%d\n\n",fib);}4#include <conio.h>#include <stdio.h>int fun (int x){if (x < 10)return !((x * x - x) % 10);elsereturn !((x * x - x) % 100);}void main(){int x,y;clrscr();printf("\nPlease enter a integer numbers:");scanf("%d",&x);if(x>100){printf("data error !\n");exit(0);}y=fun(x);if (y)printf("%d YES\n",x);elseprintf("%d NO!\n",x);}5#include <stdio.h>#include <conio.h>float fun (float h){long num;h=h+0.005;h=h*100;num=h;h=num;h=h/100;return h;}void main(){float a;clrscr();printf("Enter a:");scanf("%f",&a);printf("The original data is:");printf("%f \n\n",a);printf("The result: %f\n",fun(a));}6#include <conio.h>#include <stdio.h>#define N 81void fun (char *s){int i,length;char tmp;length=strlen(s);if(length==0)return;tmp=s[0];for(i=0;i<length-1;i++)s[i]=s[i+1];s[length-1]=tmp;}void main( ){char a[N];clrscr( );printf("Enter a string:");gets(a);printf("The original string is: ");puts(a);fun(a);printf("The string after modified: ");puts(a);}第8章编译与预处理二、填空题1.c2.93.704.1000 105.9911三、运行结果题1.a=62.a=3a=33.x= 934.a=14,b=15c=05.错误四、编程题1.#include<stdio.h>#include <math.h>#define BICIR(a,b,c) sqrt(((a+b+c)/2)*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c)) void main(){float a,b,c;scanf("%f%f%f",&a,&b,&c);printf("%f",BICIR(a,b,c));}2.#include<stdio.h>#include <math.h>#define min(a,b,c) a>b?(b>c?c:b):(a>c?c:a)void main(){float a,b,c;scanf("%f%f%f",&a,&b,&c);printf("%f",min(a,b,c));}3.#include<stdio.h>#define sum(n) (1+(n))*(n)/2void main(){printf("enter your number:\n");scanf("%d",&n);sum=sum(n);printf("the sum is %d\n",sum);}第9章结构体与其他数据类型二、填空题1.emoclew2.13431三、编程题1.#include <stdio.h>#include <string.h>#define N 16typedef struct{char num[10];int s;}STREC;STREC fun(STREC *a,char *b){STREC k;int i,flag=0;for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0){k=a[i];flag=1;}if(flag==1)return k;else{strcpy(k.num,"");k.s=-1;return k;}}void main(){s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA 08",64},{"GA06",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",91 },{"GA017",64},{"GA018",64},{"GA016",72}};STREC h;char m[10];int i;FILE *out;printf("The original data:\n");for(i=0;i<N;i++){if((i)%4==0)printf("\n");printf("%s %3d",s[i].num,s[i].s);}printf("\n\nEnter the number: ");gets(m);h=fun(s,m);printf("The data: ");printf("\n%s %4d\n",h.num,h.s);printf("\n");out=fopen("out17.dat","w");h=fun(s,"GA013");fprintf(out,"%s %4d\n",h.num,h.s);fclose(out);}2.#include <stdio.h>#include <stdlib.h>#define N 8struct slist{double s;struct slist *next;};typedef struct slist STREC;double fun(STREC *h){STREC *c;double max;c=h->next;max=c->s;while(c->next!=0){c=c->next;if(max<c->s)max=c->s;}return max;}STREC *creat(double *s){STREC *h,*p,*q;int i=0;h=p=(STREC*)malloc(sizeof(STREC));p->s=0;while(i<N){q=(STREC*)malloc(sizeof(STREC));q->s=s[i];i++;p->next=q;p=q;}p->next=0;return h;}outlist(STREC *h){STREC *p;p=h->next;printf("head");do{printf("->%2.0f",p->s);p=p->next;}while(p!=0);printf("\n\n");}void main(){double s[N]={85,76,69,85,91,72,64,87},max;STREC *h;h=creat(s);outlist(h);max=fun(h);printf("max=%6.1f\n",max);}第10章文件二、填空题1. 二进制文件、文本文件2. n,n3. 1,04. 一个指针,存放输入数据的首地址从fp所指的文件中,每次读size个字节(一个实数)送入实数组fa中,连续读count次,到buffer中5.”file2.txt”,fclose(fp)三、读程序题1.输入文件名,输入字符到输入#结束,把这些字符写入文件,最后写入字符数。

相关文档
最新文档