c++课后习题答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1题、 题 2_test 不合法 标识符必须是字母或下划线开头 char 不合法 标识符不能是关键字
#total 不合法 标识符必须是字母或下划线开头 _book.c 不合法 标识符必须是字母下划线或数字组成的字符串 第2题、 题 字符常量是用单引号括起来的一个字符,在内存中只占一个字 字符常量是用单引号括起来的一个字符, 字符串常量是用一对双引号括起来的字符序列, 节;字符串常量是用一对双引号括起来的字符序列,其中的字符连 续存储,并在最后加上字符’ 作为字符串结束的标志 作为字符串结束的标志。 续存储,并在最后加上字符’\0’作为字符串结束的标志。 第3题、 题 1. K=13.7 2. 表达式的值为2 表达式的值为
•3.给出下面程序运行后的输出结果。 .给出下面程序运行后的输出结果。 #include <iostream.h> void main() { int i,j; for (i=0;i<5;i++) { for (j=i;j<5;j++) cout<<"*"; cout<<endl; } }
若用0至 之间不同的三个数构成一个三位数 之间不同的三个数构成一个三位数, 若用 至9之间不同的三个数构成一个三位数,以下程序将统计出共 有多少种构成方法。请填空。 有多少种构成方法。请填空。 #include <iostream.h> void main() { int i,j,k,count=0; for (i=1;i<=9;i++) for (j=0;j<=9;j++) if (①) continue; ① else for (k=1;k<=9;k++) if (②) count++; ② cout<<count<<endl; }
•5.编一程序,求1!+2!+3!+…+10!之和。 .编一程序, 之和。 之和 •6.编一程序,用牛顿迭代法求解2x3-4x2+3x-6=0在1.5附近的根。 .编一程序,用牛顿迭代法求解 在 附近的根。 附近的根 •7.编一程序,将输入数据按小于10,10~99,100~999,1000 以 .编一程序,将输入数据按小于 , ~ , ~ , 上分类并显示。例如,输入358时,显示358 is 100 to 999。 上分类并显示。例如,输入 时 显示 。 •8.编一程序,输出以下图形: .编一程序,输出以下图形: * * * * * * * * * * * * * * * * * * * * * * * * • *
double x=0.0,y1,y2; double x1=1.5; while((fabs(x1-x))>0.000001) { x=x1; y1=2*x*x*x-4*x*x+3*x-6; y2=6*x*x-8*x+3; x1=x-y1/y2; } cout<<x<<endl; }
第7题 编一程序,将输入数据按小于10,10~99,100~999,1000 以上分类并 题 编一程序,将输入数据按小于 , ~ , ~ , 显示。例如,输入358时,显示 显示。例如,输入 时 显示358 is 100 to 999。 #include <iostream.h> void main() { int i; cin>>i; if(i<10) cout<<i<<"is 0 to 9"<<endl; else if (i<100) cout<<i<<"is 10 to 99"<<endl; else if (i<1000) cout<<i<<"is 100 to 999"<<endl; else cout<<i<<"is biger than 1000"<<endl;}
i++;}while(s<=1000); cout<<i-1<<endl;} 第10题.一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划,该计划如下: 题 一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划,该计划如下: 我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元, 我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你 给我二分钱,第三天我仍给你十万元,你给我四分钱, , 给我二分钱,第三天我仍给你十万元,你给我四分钱,……,你每天给我的钱是 前一天的两倍,直到满一个月( 天)。百万富翁很高兴 百万富翁很高兴, 前一天的两倍,直到满一个月(30天)。百万富翁很高兴,欣然接受了这个契 请编写一个程序计算这一个月中陌生人给了百万富翁多少钱, 约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给 了陌生人多少钱。 了陌生人多少钱。 #include <iostream.h> void main() { long int i ,x,y=0,s=1; x=100000*30; cout<<"陌生人给富翁 陌生人给富翁"<<x<<"元"; 陌生人给富翁 元 for(i=0;i<30;i++) {s=s*2; y=y+s;} cout<<" 富翁给陌生人 富翁给陌生人"<<y/100<<"元";} 元
int s,n,i,j; for (j=0,i=1;i<=10;i++) { for (s=0,n=1;n<=i;n++) {s*=n;} j+=s; }cout<<j<<endl; } 附近的根。 第6题 编一程序,用牛顿迭代法求解 3-4x2+3x-6=0在1.5附近的根。 题 编一程序,用牛顿迭代法求解2x 在 附近的根 #include<iostream.h> #include<math.h> void main() {
第1题 题 第2题 题 第3题 题
答案为A 答案为 答案为C 答案为 执行结果 ***** **** *** ** *
第4题 题 第5 题.
答案: 答案:① i==j②j==k ② 编一程序, 1!+2!+3!+ +10!之和。 +10!之和 编一程序,求1!+2!+3!+…+10!之和。 #include <iostream.h> void main() {
习题答案
第三章习题答案
•1.下列关于条件语句的描述中, 是错误的。 .下列关于条件语句的描述中, 是错误的。 A if语句中只有一个 语句中只有一个else子句。 子句。 语句中只有一个 子句 B if语句中可有多个 语句中可有多个else if子句。 子句。 语句中可有多个 子句 C if语句中 体内不能是 语句中if体内不能是 语句。 语句中 体内不能是switch语句。 语句 D if语句的 体中可以是循环语句。 语句的if体中可以是循环语句 语句的 体中可以是循环语句。 •2.以下程序段 . int x=-1; do { x=x*x;} while (!x); A 是死循环 B 循环执行两次 C 循环执行一次 D 有语法错误 。
cout<<"the numbers are :"; for(i=0;i<5;i++) cout<<setw(4)<<a[i]; c;i++) for(j=0;j<4-i;j++) if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t;} cout<<"the sorted numbers are : "; for(i=0;i<5;i++) cout<<setw(4)<<a[i]; //输出数组元素 cout<<endl; } 2 从键盘上为数组 从键盘上为数组a[2][3]输入任意整数值,显示该数组,找出该数组的最大元素 输入任意整数值, 输入任意整数值 显示该数组, 及其下标。 及其下标。 #include<iostream.h> main() { int a[2][3],i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];; }
•9.编一程序,求满足如下条件的最大的n 。 .编一程序,求满足如下条件的最大的 12+22+32+…+n2≤1000 •10.一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划,该 .一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划, 计划如下:我每天给你十万元,而你第一天只需给我一分钱, 计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二 天我仍给你十万元,你给我二分钱,第三天我仍给你十万元, 天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给 我四分钱,……,你每天给我的钱是前一天的两倍,直到满一个月 我四分钱, ,你每天给我的钱是前一天的两倍, 百万富翁很高兴, (30天)。百万富翁很高兴,欣然接受了这个契约。请编写一个程 天)。百万富翁很高兴 欣然接受了这个契约。 序计算这一个月中陌生人给了百万富翁多少钱, 序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给了陌生 人多少钱。 人多少钱。
C++语言程序设计 C++语言程序设计
第六章 指针
习题答案
第四章习题答案
第六章 指针 C++语言程序设计 C++语言程序设计 1 从键盘上任意输入 个数,然后将它们从大到小排序输出。 从键盘上任意输入5个数 然后将它们从大到小排序输出。 个数, #include<iostream.h> #include<iomanip.h> void main() { int a[5]; int i,j,t; cout<<"please input 5 numbers:\n"; for(i=0;i<5;i++) cin>>a[i]; //输入数组元素
习题答案
第二章习题答案
•1.判断下面哪些是不合法的标识符?请指出错误。 .判断下面哪些是不合法的标识符?请指出错误。 A_var 2_test char # total _book.c •2.举例说明字符常量和字符串常量有何区别? .举例说明字符常量和字符串常量有何区别? •3.求下列表达式的值 . (1)int e=1,f=4,g=2; ) float m=10.5,n=4.0,k; k=(e+f)/g+sqrt((double)n)*1.2/g+m (2)float x=2.5,y=4.7; ) int a=7; x+a%3*(int(x+y)%2/4
第8题 题 #include<iostream.h> void main() { int m=3,n=0; for(int i=0;i<7;i++) { for(int j=0;j<7;j++) { if(j<=(m+n)&&j>=(m-n)) cout<<"*"; else
cout<<" "; } cout<<endl; if(i<3) n++; else n--;} } 第9题.编一程序,求满足如下条件的最大的 。 题 编一程序,求满足如下条件的最大的n 12+22+32+…+n2≤1000 #include <iostream.h> void main() { int i=1, s=0,t; do{t=i*i; s+=t;
for(i=0;i<2;i++) //显示数组a for(j=0;j<3;j++) cout<<a[i][j]<< " "; int h,l,Max=a[0][0]; //找出该数组的最大元素及其下标 for(i=0;i<2;i++) for (j=0;j<3;j++) if(Max<a[i][j]) { Max=a[i][j];h=i;l=j;} cout<<"Max: "<<"a["<<h<<"]["<<l<<"]="<<a[h][l]<<endl; } 3 输入一串字符串,求此字符串的长度。 输入一串字符串,求此字符串的长度。 #include <iostream.h> #include <string.h> void main() { char s[50]; cout<< "Please input a string : "; cin>>s; cout<< "The length of string '"<<s<< " ' is"<<strlen(s); }