C 语言程序设计课后练习

合集下载

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

C语言程序设计 – 第 01 章课后习题

C语言程序设计 – 第 01 章课后习题

一、二、三、、选择1.2.3.4.5.、填空1.2.3.4.5.、算法1.2.1. 以下2. 在一3. 以下4. 结构5. 在程1. 一个2. 3. 算法4. 结构5. 结构算法设1. 求三2. 选择题以下叙A. B. C.D.(句在一个A. B. C.D.(程序以下叙A. B. C.D.(结构化A. B. C.D.(在程序A. B. C.D.填空题一个简一个算法的结构化结构化算法设计求三个求1+2择题 以下叙述 C 语言C. D. (解释句,另外 必须 可以C. 必须D. 必须(解释程序也就以下叙述 C 语言C. D. 同一(解释结构化程 程序 程序C. 程序D. 程序(解释在程序设 不限 减少C. 程序D. 程序空题 一个简单C 算法的特结构化程结构化程法设计题求三个数1+2+3下叙述不正一个语言程在一个解释:一个必须在程可以在任必须在程必须在系解释:序也就执下叙述中正在语言程构成同一个解释:构化程序设程序的规程序的易程序的执程序的可解释:程序设计时不限制减少或取程序越短程序结构个简单的语言法的特性是构化程序由构化程序设计题三个数中的+2+3+述不正确个C 语言语言程序C 语言程个C 语言:另外被C 须在程序以在任意须在程序须在系统:一个也就执行述中正确C 语言程语言程序成C 语言一个:程序设计序的规模序的易读序的执行序的可移:结构设计时限制got 少或取消序越短越序结构应单的语言程序特性是程序由程序设计 数中的最+3+不正确的语言程言程序的语言程序语言程C 语言程外被“程序中在程序的在任意地在程序的在系统调一个就执行完了中正确的语言程序言程序中语言程C 语言main 序设计主的规模的易读性的执行效的可移植结构化程计时,或取消注越短越好结构应有C 语言言程序是性是 有穷序由 顺序序设计方中的最大…正确的是语言程序程序的基本言程序中语言程序语言程序/*”序中,程序的最任意地方程序的最系统调用个C 程序行完了正确的是言程序中程序中有输语言程序语言程ain 函数设计主要强规模易读性执行效率可移植性构化程序,应采纳goto 语句取消注释短越好构应有助语言程程序是从顺序结设计方法的的最大者+100的是(言程序可的基本组程序中言程序必言程序中”和“,序的最后面意地方序的最前面统调用的库程序总完了)的是(程序中,中有输入言程序的语言程序函数在一主要强调读性行效率移植性化程序设应采纳的语句的消注释行越好应有助于读语言程序至序是从有穷性顺序结构方法的主大者。

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

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

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

《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语言程序设计》课后习题参考答案
参考代码如下:
#include <stdio.h>
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
int n,i,j,k=0;
printf("Please enter the number:");
scanf("%d",&n);
for(i=0;i<10;i++)
{ while(n==a[i])
s++;
}
}
printf("s=%d\n",s);
}
4.编程:从键盘输入正整数n,输出1+(1+2)+(1+2+3)+……+(1+2+3+…+n)。
参考代码如下:
#include <stdio.h>
main()
{
int n,i,s=0,t=0;
printf("Please enter n=");
scanf("%d",&n);
for(j=0;j<3;j++)
printf("%5d",b[i][j]);
}
printf("\n");
getch();
}
6.利用公式 计算m×n的矩阵A和m×n的矩阵B之和,已知 为矩阵A的元素, 为矩阵B的元素, 为矩阵C的元素, 。
1. A 2.A 3.C
二、填空题
1.基本数据类型、构造数据类型、指针类型、空类型
2.反斜线“\”
3.枚举数据类型(Enumerated Data Type)

C语言程序设计 – 第 02 章课后习题

C语言程序设计 – 第 02 章课后习题

C语言程序设计– 第二章课后习题电子13-02班王双喜一、选择题1. 下面四个选项中,均是合法整型常量的选项是(A)A. 160,-0xffff,011B. -0xcdf,01a,0xeC. -01,986,012,0668D. -0x48a,2e5,0x2. 设C语言中,一个short int型数据在内存中占2个字节,则unsigned short int型数据的取值范围为(C)A. 0~255B. 0~32767C. 0~65535D. 0~2147483647(解释:unsigned 类型是无符号数,其最小值是0;两个字节能表示216 = 65536种状态,因此其范围便是0~65535)3. 下面四个选项中,均是合法的浮点数的选项是(C)A. 160,0.12,e3B. 123,2e4.2,.e5C. -.18,123e4,0.00D. –e3,.234,1e34. 在C语言中,char型数据在内存中存储的是字符的(D)A. 补码B. 反码C. 原码D. ASCII码5. 若有定义“char c = ‘\72’”(A)A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 不合法,c的值不确定(解释:C程序中,反斜杠“\”是转义字符,按照规定“72”表示的应当是一个八进制数,因此c中存放的是二进制代码为01110010的ASCII(美国标准信息交换码))6. 若有以下定义,则能使其值为3的表达式是(D)int k = 7, x = 12;A. x %= (k %= 5)B. x %= (k - k % 5)C. x %= k - k % 5D. (x %= k) – (k %= 5)7. 执行逗号表达式a = 3, b = 5, a -=a+b,b = a-b之后,a和b的值分别为(D)A. 3和5B. -5和-2C. 8和3D. -5和-10(解释:逗号运算符的计算顺序是从左往右的,且每个表达式的运算完毕后相关变量立即生效)8. 设有定义:char x = 3, y = 6, z;,则执行语句z = x ^ y<<2;后,z的二进制值是(B)A. 00010100B. 00011011C. 00011100D. 00011000(解释:移位运算符优先级高于按位或运算符,因此z = 00011 xor 11000)9. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是(B)A. n = (n*100 + 0.5)/100.0B. m = n*100 + 0.5, n = m/100.0C. n=n*100+0.5/100.0D. n = (n/100+0.5)*100.0(解释:要想保留小数点后两位应现将其第三位变成十分位然后再加0.5使其转换成整型变量后能实现四舍五入,而后再除以100.0而不是100是为了防止整个表达式沦为整型表达式而导致小数被舍弃)10. 下列程序执行后的输出结果是(小数点后只写一位)(A)A. 6 6 6.0 6.0B. 6 6 6.7 6.7C. 6 6 6.0 6.7D. 6 6 6.7 6.0# include <stdio.h>main(){double d; float f; long l; int i;i = f = l = d = 20 / 3;printf(“%d %d %f %f \n”, i, l, f, d);}(解释:由于“20 / 3”是操作数都是整型,小数部分将被舍去)11. 若变量已正确定义并赋值,下面符合C语言语法的是(B)A. a := b + 1B. a = b = c + 2C. int 18.5 % 3D. a = a + 7 = c + b(解释:A、C均不合法,D中赋值运算符的左值必须是一个变量)12. 若变量a、i已正确定义,且i已正确赋值,合法的语句是(B)A. a==1B. ++i;C. a = a++ = 5;D. a = int(i);(解释:A没有分号)13. 若有定义:int a = 7; float x = 2.5, y = 4.7;,则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是(A)A. 2.5B. 2.75C. 3.5D. 0.0(解释:按照运算符的优先级不难得出结果;注意当运算符的操作数都是整型时,其结果也是整型)14. 设变量a是整型,f是单精度型,i是双精度型,则表达式10 + ’a’ + i * f值的数据类型为(C)A. intB. floatC. doubleD. 不确定(解释:i是双精度类型,因此整个表达式的类型就是双精度型。

《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语言程序设计任务驱动式教程(第3版)-课后练习

C语言程序设计任务驱动式教程(第3版)-课后练习

C语言程序设计课后思考与训练1计算机技术系二〇二一年一月第一单元1.讨论题(1)讨论C程序的结构是由哪几个部分组成的。

(2)C语言中注释的作用。

(3)在编写C语言程序时,需要注意的编码规范有哪些?2.选择题(1)C 语言属于下列哪类计算机语言?A. 汇编语言B. 高级语言C. 机器语言D. 以上均不属于(2)一个C程序是由()。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成(3)一个C程序的执行是从()。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束(4)C语言语句的结束符是()。

A.回车符B.分号C.句号D.逗号(5)以下说法正确的是()。

A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用B.C程序的注释只能是一行C.C程序的注释不能是中文文字信息D.C程序的注释中存在的错误会被编译器检查出来(6)以下说法正确的是()。

A.C程序中的所有标识符都必须小写2B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写3.填空题(1)C语言源程序文件的后缀是,编译后生成目标文件的扩展名是,经过连接后生成可执行文件的扩展名是。

(2)C程序多行注释是由和所界定的文字信息组成的。

(3)源程序的执行要经过、、和4个步骤。

4.编程题(1)试编写一个C程序并上机调试,运行后能输出以下信息。

**************************************This is my first program.**************************************(2)编写程序,用“*”输出字母C。

3第二单元1.讨论题(1)C语言为什么规定对所有用到的变量都要“先定义,后使用”?(2)定义变量时一定要赋初值吗?不赋初值的变量一定不能用吗?(3)不同类型数据之间在进行运算时,结果类型应该如何确定?(4)C语言中常量、变量命名规范是什么?2.选择题(1)以下正确的C语言标识符是()。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

C语言程序设计教程 课后习题参考答案

C语言程序设计教程 课后习题参考答案
(2)编辑、编译、链接、执行
(3)一个C程序由一或多个函数组成,一函数若干条语句构成,每条语句的末尾必须以分号结束。
(4)标识符,关键字,运算符,分隔符,常量,注释符等
4.从键盘输入一个双精度小数,打印出它的余弦值。
#include <stdio.h>
#include <math.h>
main( )
else if( score>=90 )
printf(“优秀\n”);
else if( score>=80 )
printf(“良好\n”);
else if( score >= 70 )
printf(“中等\n”);
else if( score >= 60 )
printf(“及格\n”);
else
printf(“不及格\n”);
printf(“%lf\n”, result);
}
习题3
1.
(1)D(2)AD(3)C(4)B(5)A
(6)-(10):BDACB
2.
(1)3.141593,3.1416,3.142
(2)c=K
(3)| 123.46|,|123 |
(4)x= 1.23,y= 50.00
(5)0
3.
(1)scanf(%f”, c);改为:scanf(“%f”, &c);
{
double x;
scanf(“%lf”, &x);
printf(“%lf\n”, cos(x) );
}
第2章
1.
(1)BDE、ACFG
(2)D(3)C(4)C
2.
(1)错(2)错(3)错(4)对(5)错

《C语言程序设计》第4版何钦铭、颜晖主编课后习题答案

《C语言程序设计》第4版何钦铭、颜晖主编课后习题答案

《C语⾔程序设计》第4版何钦铭、颜晖主编课后习题答案第2章 ⽤C语⾔编写程序Page 0201#include<stdio.h>//练习2-32int main(void)3{4 int i,j,k;5 for(int i=1;i<=4;i++)//第i⾏6 {7 for(int j=1;j<=i-1;j++)//j个空格8 {9 printf(" ");10 }11 for(k=1;k<=5-i;k++)//k个*12 {13 printf("* ");14 }15 printf("\n");16 }1718 return 0;19}Page 0231#include<stdio.h>2int main(void)3{4 int f,c;//练习2-55 f=150;6 c=5*(f-32)/9;//或者是c=5/9.0*(f-32)||c=5.0/9*(f-32),但不可以是5/9,会得到0.因为:两个整型数据做除法运算,结果⼀定是整数。

7 printf("华⽒温度%d对应的摄⽒温度为%d.\n",f,c);89 printf("\n");1011 /*计算物体⾃由下落的距离(练习2-6)*/12 int h,g,t;13 t=3;//下落时间14 g=10;//重⼒加速度 10m/s^215 h=g*t*t/2;16 printf("⼀个物体从100⽶的⾼空⾃由下落,前3秒内下落的距离为:%d⽶.\n",h);1718 return 0;19}20Page 0292#include<math.h>3int main(void)4{5 /*计算摄⽒温度(练习2-8)*/6 double c,f;7 printf("输⼊华⽒温度:");8 scanf("%lf",&f);9 c=5*(f-32)/9.0;10 printf("华⽒温度%.2lf对应的摄⽒温度为%.3lf\n",f,c);1112 printf("\n");1314 /*整数四则运算(练习2-9)*/15 int x,y,z_1,z_2,z_3;16 double z_4;17 printf("输⼊两个正整数x,y:");18 scanf("%d %d",&x,&y);19 z_1=x+y;20 z_2=x-y;21 z_3=x*y;22 z_4=x/y;23 printf("%d和%d的和为%d,差为%d,积为%d,商为%lf\n",x,y,z_1,z_2,z_3,z_4); 2425 printf("\n");2627 /*计算分段函数(判断x是否不为0)(练习2-10)*/28 double x_1,y_1;29 printf("输⼊x_1:");30 scanf("%lf",&x_1);31 if(x_1!=0)32 y_1=1/x_1;33 else y_1=0;34 printf("输⼊%.2lf时,对应的y值为%.1lf\n",x_1,y_1);3536 printf("\n");3738 /*计算分段函数(判断x是否⼩于0)(练习2-11)*/39 double x_2,y_2;40 printf("输⼊x_2:");41 scanf("%lf",&x_2);42 if(x_2<0)43 y_2=pow(1+x_2,2)+2*x_2+1/x_2;44 else y_2=sqrt(x_2);45 printf("输⼊%.2lf时,对应的y值为%.2lf\n",x_2,y_2);464748 printf("\n");4950 return 0;51}Page 0372int main(void)3{4 int i,n,flag;//例2-85 double t,sum;6 printf("输⼊⼀个正整数n:");7 scanf("%d",&n);8 sum=0;9 flag=1;10 for(i=1;i<=n;i++)11 {12 t=flag*(1.0/(2*i-1));13 sum+=t;14 flag=(-1)*flag;1516 }17 printf("sum=%lf\n",sum);1819 printf("\n");2021 /*求1+1/2+···的前n项和(练习2-13)*/22 int n_1,j;23 double sum_1=0;24 printf("Enter n_1(n_1>=0):");25 scanf("%d",&n_1);26 for(j=1;j<=n;j++)27 {28 sum_1+=1.0/j;29 }30 printf("sum_1=%.2lf\n",sum_1);3132 printf("\n");3334 /*求1+1/3+1/5+···的前n项和(练习2-14)*/35 int n_2,k;36 double sum_2;37 printf("Enter n_2:");38 scanf("%d",&n_2);39 for(k=1;k<=n_2;k++)40 {41 sum_2+=1.0/(2*k-1);42 }43 printf("sum_2=%.2lf\n",sum_2);4445 printf("\n");4647 /*求1-1/4+1/7-1/10+···的前n项和(练习2-15)*/48 int n_3,m,flag_1=1;49 double sum_3=0;50 printf("Enter n_3:");51 scanf("%d",&n_3);52 for(m=1;m<=n;m++)53 {54 sum_3+=flag_1*1.0/(3*m-2);55 flag_1=flag_1*(-1);56 }57 printf("sum_3=%.2lf\n",sum_3);5859 return 0;60}Page 0402#include<math.h>3int main(void)4{5 int n,i;6 double power;7 printf("Enter n:");8 scanf("%d",&n);9 printf("2的乘⽅表:\n");10 for(i=0;i<=n;i++)11 {12 power=pow(2,i);13 printf("2的%d次⽅为%.0lf\n",i,power);14 }1516 printf("\n");1718 /*3的乘⽅表(练习2-17)*/19 int m,j;20 double power_1;21 printf("Enter m:");22 scanf("%d",&m);23 for(j=0;j<=m;j++)24 {25 power_1=pow(3,j);26 printf("pow(3,%d)=%.lf\n",j,power_1);27 }2829 return 0;30}1#include<stdio.h>//练习2-182double fact(int n)3{4 int i;5 double product;6 product=1;7 for(i=1;i<=n;i++)8 {9 product*=i;10 }1112 return product;13}14int main(void)15{16 int n,m,i;17 double result_1,result_2,result_3,c;18 printf("输⼊两个正整数m和n(m<=n):");19 scanf("%d %d",&m,&n);20 for(i=0;i<=n;i++)21 {22 result_1=fact(i);23 }24 for(i=0;i<=m;i++)25 {26 result_2=fact(i);27 }28 for(i=0;i<=n-m;i++)29 {30 result_3=fact(i);31 }32 c=result_1/(result_2*result_3);33 printf("c=%.lf",c);3435 return 0;36}。

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31。

4最简单的C语言程序51.4。

1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤和方法121.6程序设计的任务141—5 #include 〈stdio.h〉int main ( ){printf (”**************************\n\n"); printf(" Very Good!\n\n");p rintf (”**************************\n");return 0;}1—6#include 〈stdio.h〉int main(){int a,b,c,max;printf("please input a,b,c:\n”);scanf(”%d,%d,%d”,&a,&b,&c);max=a;if (max〈b)max=b;if (max〈c)max=c;printf(”The largest number is %d\n”,max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172。

3算法的特性212。

4怎样表示一个算法222。

4。

1用自然语言表示算法222。

4。

2用流程图表示算法222。

4。

3三种基本结构和改进的流程图262。

4.4用N S流程图表示算法282。

4.5用伪代码表示算法312。

4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计373。

1顺序程序设计举例373.2数据的表现形式及其运算393.2。

1常量和变量393.2.2数据类型423.2.3整型数据443。

2。

4字符型数据473。

2.5浮点型数据493。

2。

6怎样确定常量的类型513。

2.7运算符和表达式523。

《C语言程序设计》课后习题答案第四版

《C语言程序设计》课后习题答案第四版

《C语言程序设计》课后习题答案第四版C语言程序设计课后习题答案第四版第一章基本概念和语法1.以下是一些基本概念和语法的习题答案:1.1 基本概念1.1.1 C语言是一种高级程序设计语言,最初由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)于1972年开发。

1.1.2 C语言具有跨平台性,能够在多个操作系统上运行。

1.1.3 C语言程序是由函数构成的,每个程序都至少包含一个main函数。

1.2 数据类型和变量1.2.1 C语言中的基本数据类型包括整型(int)、浮点型(float)、字符型(char)和布尔型(bool)等。

1.2.2 变量是用来存储数据的内存位置,它们需要在使用前进行声明。

1.3 运算符和表达式1.3.1 运算符用来执行各种运算操作,例如加减乘除和逻辑运算等。

1.3.2 表达式由变量、常量和运算符组成,用来进行数据计算和逻辑判断。

1.4 控制语句1.4.1 if语句用于条件判断,根据条件的真假来选择执行不同的代码块。

1.4.2 for循环语句用于重复执行某段代码,可以设定循环次数或者循环条件。

1.4.3 switch语句用于多条件选择,根据不同的条件执行相应的代码块。

第二章数组和字符串2.以下是关于数组和字符串的习题答案:2.1 数组2.1.1 数组是一种用来存储多个相同类型数据的数据结构。

2.1.2 数组可以通过索引访问和修改其中的元素,索引从0开始。

2.1.3 数组的长度是固定的,声明时需指定数组的大小。

2.2 字符串2.2.1 字符串是由字符组成的数组,以空字符'\0'结尾。

2.2.2 字符串可以通过数组或者指针方式进行操作。

2.2.3 C语言提供了许多用于处理字符串的函数,例如strcpy、strcmp和strlen等。

第三章函数和指针3.以下是有关函数和指针的习题答案:3.1 函数3.1.1 函数是一段可重复调用的代码块,用于执行特定的任务。

《C语言程序设计》(苏小红) 课后习题参考答案 高等教育出版社

《C语言程序设计》(苏小红) 课后习题参考答案 高等教育出版社

《C语言程序设计》(苏小红) 课后习题参考答案高等教育出版社《C语言程序设计》(苏小红) 课后习题参考答案一、基础知识题1. C语言是一种通用的、面向过程的程序设计语言。

它在20世纪70年代由贝尔实验室的Dennis M. Ritchie开发。

2. C程序的基本组成部分有:预处理指令、函数、变量和语句。

3. C语言的数据类型包括:整型、浮点型、字符型、枚举型和指针型等。

4. C语言的运算符包括:算术运算符、关系运算符、逻辑运算符和位运算符等。

5. C语言的控制语句包括:顺序结构、分支结构和循环结构等。

6. C语言的函数由函数头和函数体组成,其中函数头包括函数的返回类型、函数名和参数列表。

7. C语言的数组是一种存储相同类型数据元素的连续存储区域。

8. C语言中的字符串是由字符组成的字符数组。

二、程序设计题1. 编写一个程序,输入一个整数n,计算并输出1到n之间的所有正整数的平方和。

```c#include<stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i * i;}printf("1到%d之间的所有正整数的平方和为:%d\n", n, sum);return 0;}```2. 编写一个程序,输入一个正整数n,判断该数是否为素数(只能被1和自身整除)。

```c#include<stdio.h>int isPrime(int n) {if (n <= 1)return 0;for (int i = 2; i <= n / 2; i++) {if (n % i == 0)return 0;}return 1;}int main() {int n;printf("请输入一个正整数n:"); scanf("%d", &n);if (isPrime(n))printf("%d是素数\n", n);elseprintf("%d不是素数\n", n);return 0;}```3. 编写一个程序,输入一个正整数n,输出n的阶乘。

《C语言程序设计(第2版)》课后习题参考答案prt

《C语言程序设计(第2版)》课后习题参考答案prt

《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.4简答题①概述C语言和C语言程序的主要特点。

答:1.C语言是高级语言。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

2。

C语言是结构式语言。

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

①C语言功能齐全。

具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

②C语言适用范围大。

适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。

②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (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)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(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 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。

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

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

2.2#include<stdio.h>main(){float x=2.5,y=2.5,z=2.5;printf("x=%f\n",x);printf("y=%f\n",y);printf("z=%f\n",z);}3.1(1)#include<stdio.h>main(){int a=12,b=3;float x=18.5,y=4.6;printf("%f\n",(float)(a*b)/2);printf("%d\n",(int)x%(int)y);}3.1(2)#include<stdio.h>main(){int x=32,y=81,p,q;p=x++;q=--y;printf("%d %d\n",p,q);printf("%d %d\n",x,y);}3.2#include<stdio.h>main(){int x,b0,b1,b2,s;printf("Inputx:");scanf("%d",&x);b2=x/100;b1=(x-b2*100)/10;// 或(x%100)/10;或 x/10%10;b0=x%10;printf("s=%d\n",s);}3.3#include<stdio.h>#include<math.h>main(){float rate=0.0225;float n,capital,deposit;printf("Inputn,capital:");scanf("%f,%f",&n,&capital);deposit=capital*pow(1+rate,n);printf("deposit=%f\n",deposit);}3.4#include<stdio.h>#include<math.h>main(){float a,b,c;double x,y;printf("Inputa,b,c:");scanf("%f %f%f",&a,&b,&c);x=(-b+sqrt(b*b-4*a*c))/(2*a);y=(-b-sqrt(b*b-4*a*c))/(2*a);printf("x=%f,y=%f\n",x,y);}习题 44.1(1)#include<stdio.h>main(){char c1='a',c2='b',c3='c';printf("a%cb%cc%c\n",c1,c2,c3); }4.1(2)#include<stdio.h>main(){int a=12,b=15;printf("a=%d%%,b=%d%%\n",a,b); }4.1(3)#include<stdio.h>main(){int a,b;scanf("%2d%*2s%2d",&a,&b);printf("%d,%d\n",a,b);}4.2#include<stdio.h>main(){longa,b;float x,y;scanf("%d,%d\n",&a,&b);scanf("%f,%f\n",&x,&y);printf("a=%d,b=%d\n",a,b);printf("x=%f,b=%f\n",x,y);}5.1#include<stdio.h>main(){float a;printf("Inputa:");scanf("%f",&a);if(a>=0){a=a;printf("a=%f\n",a);}else{a=-a;printf("a=%f\n",a);}}5.2#include<stdio.h>main(){inta;printf("Inputa:");scanf("%d",&a);if(a%2==0){printf("a 是偶数 ");}else{printf("a 是奇数 ");}}5.3#include<stdio.h>#include<math.h>main(){floata,b,c,s,area;printf("Inputa,b,c:");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){s=(a+b+c)/2;area=(float)sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%f\n",area);}else{printf(" 不是三角形 ");}}5.4#include<stdio.h>#include<math.h>main(){floata,b,c,x,y;printf("Inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);if(a==0){printf(" 该方程不是一元二次方程\n");}if(b*b-4*a*c>0){x=(-b+sqrt(b*b-4*a*c))/(2*a);y=(-b-sqrt(b*b-4*a*c))/(2*a);printf("x=%f,y=%f\n",x,y);}elseif(b*b-4*a*c==0){x=-b/(2*a);y=-b/(2*a);printf("x=%f,y=%f\n",x,y);}else{printf(" 该方程无实根 \n");}}5.5#include<stdio.h>main(){intyear,flag;printf("Inputayear:");scanf("%d",&year);if(year%4==0&&year%400!=0||year%400==0){flag=1;}else{flag=0;}if(flag==1){printf("%disaleapyear!\n",year);}else{printf("%disnotaleapyear!\n",year);}}5.6#include<stdio.h>main(){intyear,flag;printf("Inputayear:");scanf("%d",&year);flag=year%400==0||year%4==0&&year%100!=0?1:0;if(flag==1&&flag!=0){printf("%disaleapyear!\n",year);}else{printf("%disnotaleapyear!\n",year);}}5.7#include<stdio.h>main(){charch;printf("Inputch:");scanf("%c",&ch);if(ch>='a'&&ch<='z'){ch=getchar();ch=ch-32;printf("%c,%d\n",ch,ch);}elseif(ch>='A'&&ch<='Z'){ch=getchar();ch=ch+32;printf("%c,%d\n",ch,ch);}else{printf("%c",ch);}}5.8#include<stdio.h>main(){charch;printf("Inputch:");scanf("%c",&ch);if(ch>=48&&ch<=57){printf("ch 是数字字符 \n");}elseif(ch>=65&&ch<=90){printf("ch 是大写字母 \n");}elseif(ch>=97&&ch<=122){printf("ch 是小写字母 \n");}elseif(ch==32){printf("ch 是空格 \n");}else{printf("ch 是其他字符 \n");}}5.9#include<stdio.h>main(){intscore,grade;printf("Inputscore:");scanf("%d",&score);grade=score/10;if(score<0||score>100){printf("Inputerror\n");}if(score>=90&&score<=100){printf("%d--A\n",score);}elseif(score>=80&&score<90)printf("%d--B\n",score);}elseif(score>=70&&score<80){printf("%d--C\n",score);}elseif(score>=60&&score<70){printf("%d--D\n",score);}elseif(score>=0&&score<60){printf("%d--E\n",score);}}5.10#include<stdio.h>main(){intyear,month;printf("Inputyear,month:");scanf("%d,%d",&year,&month);if(month>12||month<=0){printf("errormonth\n");}else{switch(year,month){case12:case10:case8:case7:case5:case3:case1:printf("31 天\n");break;case11:case9:case6:case4:printf("30 天\n");break;case2:if(year%4==0&&year!=0||year%400==0){printf("29 天\n");}else{printf("28 天\n");}break;default:printf("Inputerror\n");}}}6.1(1)#include<stdio.h>main(){inti,j,k;charspace='';for(i=1;i<=4;i++){for(j=1;j<=i;j++){printf("%c",space);}for(k=1;k<=6;k++){printf("*");}printf("\n");}}6.1(2)#include<stdio.h>main(){intk=4,n;for(n=0;n<k;n++){if(n%2==0)continue;k--;}printf("k=%d\n,n=%d\n",k,n);}6.1(3)#include<stdio.h>main(){intk=4,n;for(n=0;n<k;n++){if(n%2==0)break;k--;}printf("k=%d,n=%d\n",k,n);}6.2(1)#include<stdio.h>main(){inti,sum=0;for(i=1;i<=101;i++){sum=sum+i;}printf("sum=%d\n",sum);}6.2(2)#include<stdio.h>main(){longi;longterm,sum=0;for(i=1;i<=101;i=i+2){term=i*(i+1)*(i+2);sum=sum+term;}printf("sum=%ld\n",sum);}6.2(4)#include<stdio.h>#include<math.h>main(){intn=1;floatterm=1.0,sign=1,sum=0;while(term<=-1e-4||term>=1e-4){term=1.0/sign;sum=sum+term;sign=sign+n;n++;}printf("sum=%f\n",sum);}6.2(5)#include<stdio.h>#include<math.h>main(){intn=1,count=1;floatx;doublesum,term;printf("Inputx:");scanf("%f",&x);sum=x;term=x;do{term=-term*x*x/((n+1)*(n+2));sum=sum+term;n=n+2;count++;}while(fabs(term)>=1e-5);printf("sin(x)=%f,count=%d\n",sum,count);}6.3#include<stdio.h>main(){intx=1,find=0;while(!find){if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0){printf("x=%d\n",x);find=1;x++;}}}/*intx,find=0;for(x=1;!find;x++){if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0){printf("x=%d\n",x);find=1;}}}*/6.4#include<stdio.h>main(){inti,n;longp=1,m=1;printf("Inputn:");scanf("%d",&n);for(i=1;i<=n;i++){p=i*i;m=i*i*i;printf("p=%d,m=%d\n",i,p,i,m);}}6.5#include<stdio.h>main(){floatc,f;for(c=-40;c<=110;c=c+10){f=9/5*c+32;printf("f=%f\n",f);}}6.6#include<stdio.h>#include<math.h>main(){intn;doublec=0.01875,x;do{x=x*pow(1+c,12)-1000;n++;}while(x>0);printf("x=%d\n",x);}6.7#include<stdio.h>main(){intn=0;floata=100.0,c;printf("Inputc:");scanf("%f",&c);do{a=a*(1+c);n++;}while(a<=200);printf("n=%d\n",n);}6.8#include<stdio.h>#include<math.h>main(){intn=1,count=1;doublesum=1,term=1;while(fabs(term)>=1e-5){term=pow(-1,count)*(1.0/(n+2));sum=sum+term;n=n+2;count++;}sum=4*sum;printf("sum=%f,count=%d\n",sum,count); }6.9#include<stdio.h>#include<math.h>main(){intn=1,count=1;doublesum=1,term=1;while(fabs(term)>=1e-5){term=term*(1.0/n);sum=sum+term;n++;count++;}printf("sum=%f,count=%d\n",sum,count); }6.10#include<stdio.h>#include<math.h>main(){intx;for(x=100;x<=999;x++){if(x==pow(x/100,3)+pow(x/10%10,3)+pow(x%10,3))printf("x=%d\n",x);}}6.11#include<stdio.h>main(){inti=0,n;longsum=0,term=1;printf("Inputn:");scanf("%d",&n);do{i++;term=term*i;sum=sum+term;}while(sum<n);printf("%d\n",i-1);}6.12#include<stdio.h>main(){inti,n,m,count=0,sum=0;printf("Inputn:");scanf("%d",&n);for(i=1;i<=n;i++){printf("Inputm:");scanf("%d",&m);if(m>0){sum=sum+m;count++;}else{break;}printf("sum=%d,count=%d\n",sum,count);}}6.13#include<stdio.h>main(){inti,n,m,count=0,sum=0;printf("Inputn:");scanf("%d",&n);for(i=1;i<=n;i++){printf("Inputm:");scanf("%d",&m);if(m>0||m<0){sum=sum+m;count++;}else{break;}printf("sum=%d,count=%d\n",sum,count);}}6.14#include<stdio.h>main(){intx,y,z;for(x=0;x<=17;x++){for(y=0;y<=25;y++){3*x+2*y+z==50;z=30-x-y;if(3*x+2*y+z==50&&x+y+z==30)printf("x=%d,y=%d,z=%d\n",x,y,z);}}}6.15#include<stdio.h>main(){intx,y;for(x=0;x<=98;x++){y=98-x;2*x+4*y==386;if(x+y==98&&2*x+4*y==386){printf("x=%d,y=%d\n",x,y);}}}6.16#include<stdio.h>main(){intx,y,z;for(x=0;x<=20;x++){for(y=0;y<=33;y++){3*y+5*x+z/3.0==100;z=100-x-y;if(5*x+3*y+z/3.0==100&&z+x+y==100){printf("x=%d,y=%d,z=%d\n",x,y,z);}}}}6.17#include<stdio.h>main(){intx,y,z;for(x=1;x<=9;x++){for(y=1;y<=17;y++){10*x+5*y+z==100;z=50-x-y;if(10*x+5*y+z==100&&x+y+z==50&&z>0){printf("x=%d,y=%d,z=%d\n",x,y,z);}}}}7.1#include<stdio.h>intSquare(inti){returni*i;}intmain(){inti=0;i=Square(i);for(;i<3;i++){staticinti=1;i+=Square(i);printf("%d,",i);}printf("%d\n",i);return0;}7.2#include<stdio.h>inthour,minute,second;voidupdate(){second++;if(second==60){second=0;minute++;}if(minute==60){minute=0;hour++;}if(hour==24)hour=0;}voiddisplay(){printf("%d,%d,%d\n",hour,minute,second);}voiddelay(){intt;for(t=0;t<100000000;t++);}intmain(){inti;voidupdaye(),display(),delay();for(i=0;i<1000000;i++){update();display();delay();}return0;}7.3#include<stdio.h>intGetMax(inta,intb);intmain(){intx,y,max;printf("Inputx,y:");scanf("%d,%d",&x,&y);max=GetMax(x,y);printf("max=%d\n",max);return0;}intGetMax(intm,intn){if(m>=n)returnm;elsereturnn;}7.4#include<stdio.h>intLCM(intn,intm);intmain(){inta,b;printf("Inputa,b:");scanf("%d,%d",&a,&b);printf("%d\n",LCM(a,b));return0;}intLCM(intn,intm){intx;intfind=0;for(x=1;!find;x++){if(x%n==0&&x%m==0){find=1;}}returnx-1;}7.5#include<stdio.h>longFact(intn);intmain(){intm,a;printf("Inputm:");scanf("%d",&m);for(a=1;a<=m;a++){printf("%d!=%ld\n",a,Fact(a));}return0;}longFact(intn){inti;longresult=1;for(i=2;i<=n;i++)result*=i;returnresult;}7.6#include<stdio.h>longFact(intn);intmain(){intm;longret;printf("Inputm:");scanf("%d",&m);ret=Fact(m);printf("ret=%d\n",ret);return0;}longFact(intn){inti;longresult=1,sum=0;for(i=2;i<=n;i++){result*=i;sum=sum+result;}returnsum;}7.7(1)#include<stdio.h> intGcd(inta,intb);intmain(){intm,n;printf("Inputm,n:");scanf("%d,%d",&m,&n);printf("%d\n",Gcd(m,n));return0;}intGcd(inta,intb){intt,min,find=0;min=a<b?a:b;t=min;for(t=min;!find;t--){a%t==0;b%t==0;if(a%t==0&&b%t==0)returnt;}find=1;}7.7(2)#include<stdio.h> intGcd(inta,intb);intmain(){intm,n;printf("Inputm,n:");scanf("%d,%d",&m,&n);printf("%d\n",Gcd(m,n));return0;}intGcd(inta,intb){intr,temp;r=a%b;if(r==0)returnb;elsedo{temp=b;b=r;a=temp;r=a%b;}while(r!=0);returnb;}8.1(1)#include<stdio.h> voidFunc(intx){x=2;}intmain(){intx=10;Func(x);printf("%d",x);return0;}8.1(2)#include<stdio.h> voidFunc(intb[]){intj;for(j=0;j<4;j++){b[j]=j;}}intmain(){staticinta[]={5,6,7,8},i;Func(a);for(i=0;i<4;i++){printf("%d",a[i]);}return0;}8.2(1)intPositiveNum(inta[],intn){inti,count=0;for(i=0;i<n;i++){if(a[i]>0)count++;}return0;}8.2(2)voidFib(longf[],longn){inti;f[0]=0;f[1]=1;for(i=2;i<n;i++){f[i]=f[i-1]+f[i-2];}}8.2(3)#include<stdio.h>intmain(){inta[10],n,max,min,maxPos,minPos;for(n=0;n<10;n++){scanf("%d",&a[n]);}max=min=a[0];maxPos=minPos=0;for(n=0;n<10;n++){if(a[n]>max){max=a[n];maxPos=n;}elseif(a[n]<min){min=a[n];minPos=n;}}printf("max=%d,pos=%d\n",max,maxPos);printf("min=%d,pos=%d\n",min,minPos);return0;}8.3voidDivArray(int*pArray,intn){inti;for(i=0;i<n;i++){pArray[i]/=pAttay[0];}}8.4#include<stdio.h>#defineN40intFailNum(intscore[],intn);voidReadScore(intscore[],intn);intmain(){intscore[N],n;printf("Inputn:");scanf("%d",&n);ReadScore(score,n);FailNum(score,n);printf("FailNumstudentsare%d\n",FailNum(score,n));return0;}intFailNum(intscore[],intn){inti,count=0;for(i=0;i<n;i++){if(score[i]<60)count++;}returncount;}voidReadScore(intscore[],intn){inti;printf("Inputscore:");for(i=0;i<n;i++){scanf("%d",&score[i]);}}8.5#include<stdio.h>#defineN40intHighAver(intscore[],intn);intReadScore(intscore[]);intmain(){intscore[N],n;n=ReadScore(score);printf("HighAverstudentsare%d\n",HighAver(score,n));return0;}intHighAver(intscore[],intn){inti,count=0,sum=0,aver;for(i=0;i<n;i++){sum=sum+score[i];aver=sum/n;}for(i=0;i<n;i++){if(score[i]>aver)count++;}returncount;}intReadScore(intscore[]){inti=-1;do{i++;printf("Inputscore:");scanf("%d",&score[i]);}while(score[i]>=0);returni;}8.6#include<stdio.h>#defineN40intReadScore(intscore[],longnum[]);intFindMax(intscore[],longnum[],intn);intmain(){intscore[N],n,max,num,t;longnum[N];t=FindMax(score,n);max=score[t];num=num[t];printf("max=%d,num=%d\n",max,num);return0;}intReadScore(intscore[],longnum[]){inti=-1;do{i++;printf("Inputstudent'sIDandscore:");scanf("%ld%d",&num[i],&score[i]);}while(num[i]>0&&score[i]>=0);returni;}intFindMax(intscore[],longnum[],intn){intmax,i;max=score[0];for(i=1;i<n;i++){if(score[i]>max)max=score[i];}returni;}8.7#include<stdio.h>#defineN40intRead(inta[]);intChangeArry(inta[],intn);intmain(){inta[N],n;printf("%d\n",ChangeArry(a,n));return0;}intRead(inta[]){inti;for(i=0;i<9;i++){printf("Inputa:");scanf("%d",&a[i]);returni;}intChangeArry(inta[],intn){intmax,min,i,maxpos,minpos,term;max=min=score[0];for(i=1;i<n;i++){if(a[i]>max)max=score[i];maxpos=n;else(a[i]<min)min=a[i];minpos=n;temp=maxpos;maxpos=minpos;minpos=temp;}returna[i];}8.10#include<stdio.h>#defineN5voidmain(){inta[N][N];intsum=0;inti,j;printf(" 请输入一个 %d*%d 的矩阵 \n",N,N);for(i=0;i<N;i++){for(j=0;j<N;j++){scanf("%d",&a[i][j]);}}for(i=0;i<N;i++){for(j=0;j<N;j++){if(i==j||i+j==N-1)sum=sum+a[i][j];}}printf(" 对角线元素之和为: %d\n",sum);}8.11#include<stdio.h>#defineN2#defineM3voidmain(){inta[N][M],b[N][M];inti,j,sum1=0,sum2=0,sum=0;printf(" 请输入一个 %d*%d 的矩阵 \n",N,M);for(i=0;i<N;i++){for(j=0;j<M;j++){scanf("%d",&a[i][j]);sum1=sum1+a[i][j];}}printf(" 请输入一个 %d*%d 的矩阵 \n",N,M);for(i=0;i<N;i++){for(j=0;j<M;j++){scanf("%d",&b[i][j]);sum2=sum2+a[i][j];}}sum=sum1+sum2;printf("sum=%d\n",sum);}8.12#include<stdio.h>#defineN7voidYangHui(inta[N][N],intn);voidmain(){inti,j,n,b[N][N];printf("Inputn:");scanf("%d",&n);YangHui(b,n);for(i=0;i<n;i++){for(j=0;j<=i;j++){printf("%4d",b[i][j]);}printf("\n");}}voidYangHui(inta[N][N],intn){inti,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-1]+a[i-1][j];}}8.13#include<stdio.h>#defineN12voidmain(){inti;intf[N]={1,1};printf("%d:%d\n",0,f[0]);printf("%d:%d\n",1,f[1]);for(i=2;i<N;i++){f[i]=f[i-1]+f[i-2];printf("%d:%d\n",i+1,f[i]);}}8.14#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN6000voidmain(){inta[N],i;intb1=0,b2=0,b3=0,b4=0,b5=0,b6=0;floatp1,p2,p3,p4,p5,p6;srand(time(NULL));for(i=0;i<N;i++){a[i]=rand()%6+1;printf("%3d",a[i]);if(a[i]==1)b1++;if(a[i]==2)b2++;if(a[i]==3)b3++;if(a[i]==4)b4++;if(a[i]==5)b5++;if(a[i]==6)b6++;p1=(float)(b1/6000.0);p2=(float)(b2/6000.0);p3=(float)(b3/6000.0);p4=(float)(b4/6000.0);p5=(float)(b5/6000.0);p6=(float)(b6/6000.0);}printf(" 骰子出现 1 的概率: %.2f\n",p1);printf(" 骰子出现 2 的概率: %.2f\n",p2);printf(" 骰子出现 3 的概率: %.2f\n",p3);printf(" 骰子出现 4 的概率: %.2f\n",p4);printf(" 骰子出现 5 的概率: %.2f\n",p5);printf(" 骰子出现 6 的概率: %.2f\n",p6);}9.1(1)voidSwap(int*x,int*y){int*pTemp;//*pTemp 未进行初始化, *pTemp 指向哪里位置*pTemp=*x;*x=*y;*y=*pTemp;}9.1(2)voidSwap(int*x,int*y){int*pTemp;pTemp=x;x=y;y=pTemp;}//错误, x,y 没有指向类型9.2#include<stdio.h>intmain(){inta[]={1,2,3,4,5};int*p=a;printf("%d,%d,%d,%d,%d,%d,%d\n",*p,*(++p),(*p)++,*p,*p--,--(*p),*p);return0;}9.3#include<stdio.h>voidSwap(int*x,int*y);intmain(){inta[6]={1,2,3,4,5,6},b[6]={11,22,33,44,55,66};inti;printf("BeforeArray\n");for(i=0;i<6;i++){printf("%d\n",a[i]);}for(i=0;i<6;i++){printf("%d\n",b[i]);}for(i=0;i<6;i++){Swap(&a[i],&b[i]);}printf("AfterArray\n");for(i=0;i<6;i++){printf("%d\n",a[i]);}for(i=0;i<6;i++){printf("%d\n",b[i]);}return0;}voidSwap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}9.4#include<stdio.h>#defineN10voidFindMaxMin(inta[],int*pMaxa,int*pMaxnum,int*pMina,int*pMinnum);intmain(){inta[N];inti,maxa,mina,maxnum,minnum;printf("Inputa:");for(i=0;i<10;i++){scanf("%d",&a[i]);}FindMaxMin(a,&maxa,&maxnum,&mina,&minnum);printf("maxa=%d,maxnum=%d,mina=%d,minnum=%d\n",maxa,maxnum,mina,minnum);return0;}voidFindMaxMin(inta[],int*pMaxa,int*pMaxnum,int*pMina,int*pMinnum){inti;*pMaxa=a[0];*pMina=a[0];*pMaxnum=0;*pMinnum=0;for(i=0;i<10;i++){if(a[i]>*pMaxa){*pMaxa=a[i];*pMaxnum=i;}elseif(a[i]<*pMina){*pMina=a[i];*pMinnum=i;}}}10.1voidMYStrcpy(char*dstStr,constchar*srcStr){while((*dstStr++=*srcStr++)!='\0'){}}10.2#include<stdio.h>main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);} 10.3(1)unsignedintMyStrlen(char*p)main(){unsignedintlen;len=0;for(;*pa!='\0';pa++){len++;}returnlen;}10.3(2)unsignedintMyStrlen(chars[]){char*p=s;while(*p!='\0'){p++;}return(p-*p);}10.3(3)intMyStrcmp(char*p1,char*p2){for(;*p1==*p2;p1++,p2++){if(*p1=='\0')return-1;}return1;}10.3(4)intMyStrcmp(chars[],chart[]){inti;for(i=0;s[i]==t[i];i++){if(s[i]=='\0')return0;}returni;}10.3(5)#include<stdio.h>#include<string.h>intmain(){charpassword[7]="secret";charuserInput[81];printf("InputPassword:");scanf("%s",userInput);if(strcmp(userInput,password)==0)printf("Coorrectpassword!Welcometothesystem...\n");elseif(strcmp(userInput,password)<0)printf("Invalidpassword!userinput<password...\n");elseprintf("Invalidpassword!userinput>password...\n");return0;}10.4#include<stdio.h>#defineN24unsignedintCountLetter(charstr[]);intmain(){chara[N];printf("Inputaletter:\n");gets(a);printf("Thelengthoftheletteris:%d\n",CountLetter(a));return0;}unsignedintCountLetter(charstr[]){char*p=str;intc=0,flag=0;while(*p!='\0'){if(*p!='')flag=1;elseif(flag==1){c++;flag=0;}p++;}returnc+1;}12.1#include<stdio.h>typedefstructdata{intyear;intmonth;intday;}DATA;typedefstructwork{chara[14];charb[10];charc[6];}WORK;typedefstructstudent{charstudentName[10];charstudentSex;DATAbirthday;WORKprofession;}STUDENT;intmain(){STUDENTstu={" 王刚 ",'M',{1991,5,19},{" 信息工程系 ","学习人员 ","学生 "}};printf("stu:%2s%3c%6d/%02d/%02d%4s,%4s,%4s\n",stu.studentName,stu.studentSex,st u.birthday.year,stu.birthday.month,stu.birthday.day,stu.profession.a,stu.profession.b,stu.profession.c);return0;}12.4#include<stdio.h>#include<string.h>#defineN10typedefstructpeople{charpeopleName[10];}PEOPLE;intmain(){intsum1=0,sum2=0,sum3=0,sum4=0;inti;charname[N][N];PEOPLEstu[5]={"zhang","li","wang"};printf("Entertheirname:\n");for(i=0;i<10;i++){if(strcmp(name[i],stu[0].peopleName)==0)sum1++;elseif(strcmp(name[i],stu[1].peopleName)==0) sum2++;elseif(strcmp(name[i],stu[2].peopleName)==0) sum3++;elsesum4++;}printf("stu:%4s%2d\n",stu[i].peopleName,sum[j]);printf("stu:%4s%2d\n",stu[1].peopleName,sum2);printf("stu:%4s%2d\n",stu[2].peopleName,sum3);printf("%2d\n",sum4);return0;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} 2.3 将常数 e(2.718281828)作为常量定义,然后输出其 10 位有效位数的浮点数、定点方 式和 8 位小数位表示的数,以及指数形式和 8 位小数位表示的数: 解:#include <iostream.h> #include <iomanip.h>
const double e = 2.718281828;
double radius, height; cout <<"请输入圆柱体的半径和高:\n"; cin >>radius >>height;
double volume = Cylinder(radius, height);
cout <<"该圆柱体的体积为:" <<volume <<endl; } //---------------------------------------double Cylinder(double r, double h) {
void main() {
float a,b,c,s,area; //printf("please input 3 sides of one triangle:\n"); cout <<"please input 3 sides of one triangle:\n"; //scanf("%f,%f,%f",&a,&b,&c); //输入时以逗号作为数据间隔 cin >>a >>b >>c; //输入时以空格作为数据间隔
float area(float a, float b, float c); //函数声明
void main() {
float a,b,c; cout <<"please input 3 sides of one triangle:\n"; cin >>a >>b >>c; //输入时以空格作为数据间隔
练习
2.1 设整数 42486,请定义一个变量,初始化之,并以 8 进制与 16 进制数输出,如果将该 整数定义成无符号短整数,当以有符号数输出时,结果是什么,请用补码概念解释。 解:#include <iostream.h>
void main() {
//本题原考虑在 16 位机器上实验目前多为 32 位机器,故已过时。 int a = 42486; cout <<oct <<a <<endl
size of char 1 byte size of int 2 byte 的格式打印输出。 解:#include <iostream.h>
void main()
{
cout <<"size of char
" <<sizeof(char) <<" byte\n"
<<"size of unsigned char " <<sizeof(unsigned char) <<" byte\n"
float result = area(a,b,c);
//函数调用
cout <<setiosflags(ios::fixed) <<setprecision(2) <<"a=" <<setw(7) <<a <<",b=" <<setw(7) <<b <<",c=" <<setw(7) <<c <<endl;
<<"size of long
" <<sizeof(long) <<" byte\n"
<<"size of signed long " <<sizeof(signed long) <<" byte\n"
<<"size of unsigned long " <<sizeof(unsigned long) <<" byte\n"
please input 3 sides of one triangle:
6,6,8
a= 6.00,b= 6.00,c= 8.00
area of triangle is 17.88854
2) 该程序计算三角形的面积
前后分为三部分:输入,处理,输出。 3) //#include <stdio.h> #include <iostream.h> #include <iomanip.h> #include <math.h>
const double pi = 3.1415926;
void main() {
double radius1, radius2; cout <<"please input two numbers:\n"; cin >>radius1 >>radius2;
cout <<setw(10) <<pi <<setw(10) <<radius1 <<setw(10) <<(pi*radius1*radius1) <<endl <<setw(10) <<pi <<setw(10) <<radius2 <<setw(10) <<(pi*radius2*radius2) <<endl;
}
2.6 读下列程序。
(1)运行时,输入 6,6,8 三个数,写出运行结果;
(2)解释该程序做了什么,程序的书写为什么要分成几段,各起什么作用?
(3)用 cout 和 cin 代替 printf()和 scanf()函数,改写程序(注意格式):
(4)将求面积部分的程序以调用函数的方式来完成,则函数声明、定义和调用作如何修
“How many students here?” “500” 解:#include <iostream.h>
void main()
{ cout <<"\"How many students here?\"\n" <<"\"500\"\n";
} 2.5 用 sizeof 操作符,求出表 2—2 中各数据类型的字节长度,并按:
void main() {
cout <<setprecision(10) <<e <<endl <<setiosflags(ios::fixed) <<setprecision(8) <<e <<endl <<setiosflags(ios::scientific) <<e <<endl;
} 2.4 设学生常数为 500,编程输出下列结果(引号也要输出)。
<<"size of signed char " <<sizeof(signed char) <<" byte\n"
<<"size of int
" <<sizeof(int) <<" byte\n"
<<"size of unsigned
" <<sizeof(unsigned) <<" byte\n"
改?
#include<stdio.h>
#include<math.h>来自void main ( )
{
float a,b, c, s, area;
printf("Input 3 sides of one triangle: \ n");
scanf(" % f, % f, % f", &a,&b, &c);
return r*r*M_PI*h; } //----------------------------------------
3.1 写出以下公式的 C++表达式:
(1)
(2)
(3) 在 math.h 头文件中: 正弦函数原型为:double sin(double x)表示 x 弧度的正弦值; 指数函数原型为:double exp(double x)表示 e 的 x 次方; 平方限函数原型为:double sqrt(double x)表示 x 的平方根; 幂指数函数原型为:double pow(double x,double y)表示 x 的 y 次方。
<<"size of float
" <<sizeof(float) <<" byte\n"
<<"size of double
" <<sizeof(double) <<" byte\n"
<<"size of long double " <<sizeof(long double) <<" byte\n";
相关文档
最新文档