大连海事大学C语言与Windows程序设计6道课后题答案
C语言程序设计教程课后习题答案

第1章1-3 CAB4 .c .obj .exe5 /* */6 ;7 算法8 ①中级语言:C语言具有高级语言的先进思想又能直接对存储器进行操作,能进行位运算,能实现汇编语言的大部分功能,生成目标代码质量高,程序执行效率高。
②结构化语言:C语言用函数作为程序模块,以实现程序的模块化,语言简洁、紧凑,具有结构化的特点。
③可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。
9 #include<>main( ) { ; }10 #include “”main(){printf(“This is my first C Program!”);}第2章1.yes2.-33.2,14.1)a!=b||a<=c 2)x>=4||x<=-45.x>20&&x<30||x<-1006.#include <>main(){int x;printf(“please input an integar:”);scanf("%d",&x);if(x%5==0&&x%7==0) printf("yes\n");else printf("no\n");}7.#include <>main(){int year,month;printf("please input the year and month:");scanf("%d%d",&year,&month);switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("this month have 31 days.");break;case 4:case 6:case 9:case 11:printf("this month have 30 days.");break;case 2:if(year%4==0&&year%100!=0||year%400==0){printf("this month have 29 days.");break;}else{printf("this month have 28 days.");break;}}}8.#include <>main(){float money;int year;printf("\nplease input the money and the year:");scanf("%f%d",&money,&year);if(year==1) money+=money**12*year;if(year==2) money+=money**12*year;if(year==3||year==4) money+=money**12*year;if(year>=5&&year<=7) money+=money**12*year;if(year>=8) money+=money**12*year;printf("the money is:%f",money);}第3章1#include ""main(){ float x[10],sum=0;int i=0;printf("please input 10 numbers(-10e6<x<10e6)\n");while(i<10){ scanf("%f",&x[i]);sum=sum+1/x[i];i=i+1;}printf("the sum of 10 numbers is %.2f\n",sum);}2#include ""main(){ int x[100],sum=0,aver,i=0;printf("please input numbers until 0\n");scanf("%d",&x[i]);while(x[i]!=0){ sum=sum+x[i];i=i+1;scanf("%d",&x[i]);}printf("the sum is %d\n",sum);printf("the average is %.2f\n",float(sum)/i);}3#include ""#include ""main(){ int i=1,j,f;long int s=0;while(i<=10){ for(f=1,j=1;j<=i;j++)f=f*j;s=s+pow(-1,i-1)*f;i=i+1;}printf("s= %ld\n",s);}4#include ""#include ""main(){ int i=0;float s=;while(2*i+1<=101){ s=s+pow(-1,i)/float(2*i+1);i=i+1;}printf("s= %f\n",s);}5#include ""#include""main(){ int i,j,k,n=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf("the %d:%d\n",++n,i*100+j*10+k); printf("the all is %d.\n",n--);}6#include ""main(){ int n,i,j;printf("please input n:");scanf("%d",&n);for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("*");printf("\n");}}7#include ""main(){ char a[81];int i,j=0,k=0,m=0;printf("please input a $(length<=80)\n");for(i=0;(a[i]=getchar())!='\n';i++){ if(a[i]>=65&&a[i]<=90)j++;else if(a[i]==32)k++;else m++;}printf("the upper letter is %d\n",j);printf("the blank is %d\n",k);printf("the other is %d\n",m);}8#include ""main(){ int i,j,k,m=0;for(i=0;i<=20;i++){ for(j=0;j<=50;j++)for(k=0;k<=100;k++)if(i*5+j*2+k==100)printf("the %d wag is 1:%d,2:%d,5:%d\n",++m,k,j,i);}printf("the wags is %d\n",m--);}9#include ""main(){ int i,j,k,m=0;for(i=0;i<=3;i++){ for(j=0;j<=3;j++)for(k=0;k<=6;k++)if(i+j+k==8)printf("the %d wag is white:%d,red:%d,black:%d\n",++m,i,j,k); }printf("the wags is %d\n",m--);}10#include ""main(){ long int n;int i,j,k;printf("please inpur n:");scanf("%ld",&n);if(n%2==1||n<=1){ printf("the input is error.\n");return(1);}for(i=2;i<=n/2;i++){ for(j=2;j<i;j++)if(i/j*j==i)break;if(j==i){for(k=2;k<n-i;k++)if((n-i)/k*k==(n-i))break;if(k==n-i)printf("%ld=%d+%d\n",n,i,n-i);}}}11#include ""main(){int i,j,k,m;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)for(m=0;m<=9;m++)if((i*1000+j*100+k*10+m)*9==(i+j*10+k*100+m*1000)) printf("the number is:%d\n",i*1000+j*100+k*10+m);}第4章1-5 ABDCB 6-10 BCBCA 11-13 ABA14#include ""main(){float a1,b1,a2,b2,re1,im1,re2,im2,re3,im3;printf("Please input the first number:");scanf("%f %f",&a1,&b1);printf("Please input the second number:");scanf("%f %f",&a2,&b2);re1=a1+a2;im1=b1+b2;printf("(%f+j%f)+(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re1,im1);re2=a1-a2;im2=b1-b2;printf("(%f+j%f)-(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re2,im2);re3=a1*a2-b1*b2;im3=a1*b2+a2*b1;printf("(%f+j%f)*(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re3,im3);}第5章1-5 CACCD 6-7 DA8#include ""main(){char str[100];int num1=0,num2=0,i=0;scanf("%s",str);while(str[i]!='\0'){if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')num1++;else if(str[i]>='0'&&str[i]<='9')num2++;i++;}printf("num1=%d,num2=%d",num1,num2);}9笔者在程序中直接给数组元素赋了值,读者可以修改为用scanf函数读入数值;另外,还可以用第7章宏定义的方法设定数组的长度,从而实现对元素个数不同的数组进行排序。
C语言程序设计课后答案

C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDDY= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5) 输入一个数给x X<=1 Yes no X<1 x<5 Yes no yes no Y=3x y=4x-1 y=5x+1 y=6-3x 输出s 的值 i =100 当i<=200时 n=2; flag=1; 当n< i 时i 能否被n 整除?yes no flag=0 n = n+1 flag=1?yes no输出i 的值i = i+1二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
c语言程序设计教材全部答案

A) float
B) char
C) int
D) double
设 C 语言中,一个 int 型数据在内存中占 2 个字节,则 unsigned int 型数据的取值范围
为C A) 0~255
。 B) 0~32767
C) 0~65535
D) 0~2147483647
若运行时给变量 x 输入 12,则以下程序的运行结果是
。
A) A%2==1
B) !(A%2==0)
C) !(A%2)
D) A%2
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后 n 的值为
A) 1
B) 2
C) 3
D) 4
B。
以下程序的运行结果是 B
main()
{ int a,b,d=241;
a=d/100%9;
(2)已知底和高,计算三角形的面积。 #include “stdio.h” void main()
{ int bottom,high,area; /*bottom 表示底,high 表示高,area 表示面积*/ bottom=4; high=6; area=bottom*high/2; printf(“the area is %d\n”,area);
int m,i,s; for(m=2;m<=1000;m++)
{ s=0; for(i=1;i<=m/2;i++)
if(m%i==0) s+=i; if(m==s)
printf("%d\t",m); }
printf("\n"); }
Windows前6章答案

Windows前6章答案习题1答案:一、1正确2错误(c语言)3正确4错误5错误(非功能键)6正确二、1c2a3a4a5c三、1wm_keydown,onkeydown2cmyview,cmydoc,cmyapp,cmainframe3wm_rbuttondown,onrbuttondown()四、1.windows提供更多了大量原订义的用c语言撰写的函数,这些函数就叫作“api 函数”。
2.为了描述事件的各种信息,windows定义了一个结构,这个结构就叫做“消息”。
3.消息与消息响应函数之间一一对应的关系称为“消息映射”。
五、1.onlbuttondown(uintnflags,cpointpoint)messagebox(\鼠标左键被按下\2.onrbuttondown(uintnflags,cpointpoint)messagebox(\鼠标右键被按下\六、1.通过类凡塘将按下鼠标右键消息wm_rbuttondown对应的消息响应函数onrbuttondown()添加到视图类中。
在onrbuttondown函数中添加messagebox函数,用来在窗口中弹出消息框。
messagebox函数第一个参数是编程者自己名字的字符串,第二个参数是学号的字符串,第三个参数是mb_okcancel。
2.参照基准1.2。
3.在视图类的ondraw函数中输入pdc->textout函数,函数中前两个参数是输出文字的位置的横、纵坐标,第三个参数是名字学号字符串。
4.在视图类中定义一个cstring类的变量text,在视图类的构造函数中初始化该变量为空串。
通过类凡塘将按下鼠标左键消息wm_lbuttondown对应的消息响应函数onlbuttondown()添加到视图类中。
在onlbuttondown函数中先将text赋值为编程者自己的名字和学号,再调用api函数invalidate(),自动调用ondraw()函数。
(完整版)C语言程序设计课后习题答案

(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?
(3)整形变量与字符变量是否在任何情况下都可以互相代替?如:charc1,c2;与intc1,c2;是否无条件地等价?
解 :#include<stdio.h> void main()
printf(“Verygood!\n”);printf(“\n”);
printf(“**************************”);
}
2.编写一个C程序,输入a、b、c三个值,输出其中最大值。解:
#include<stdio.h> void main()
{
int a,b,c,max;
printf(“请输入三个数a,b,c:\n”);
解 :#include<stdio.h> #include<math.h> void main()
{
double P, r=0.1, n=10;
P=pow((1+r), n);
printf(“%lf\n”, P);
}
3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。
printf(“c1=%d c2=%d\n”,c1,c2); printf(“c1=%c c2=%c\n”,c1,c2);
}
第四章
3.写出下面各逻辑表达式的值。设a=3,b=4,c=5。
(1)a+b>c&&b==c
(2)a||b+c&&b-c (3)!(a>b)&&!c||1
C语言程序设计课后习题答案Word版

第1章(P18)一.单项选择题1.B2.B3.B4.C5.A6.C7.D8.C二. 填空题1. main2. 反斜杠3. 常量、变量、运算符、函数调用、表达式、保留字4. 一 , main , main5. 326. 由字母或下划线开头的字母、数字、下划线组成的一串符号第2章(P39)一.选择题1. D2.B3.B4.B5.D6.A7.B8.D9.A 10.B 11.C 12.C 13.B 14.B15.A 16.D二.填空题1. 控制代码、ASCII码字符集中的任意字符、特殊字符、换行符、Tab符号、左退一格符号、换页符号、响玲符号2. 其值可以发生变化的量 , 变量名 , 变量值 , 存储单元 , short int , -32768~32767 ,long int , -231~(231-1) , unsigned short , 0~65535 , unsigned long , 0~(232-1)3. 自增、自减 , 加和减 , +、-、×、/、% , 自增、自减4. 不同类型混合运算时,由编译系统自动完成5. (1)7 (2)6 (3)7 (4)1 (5)10 (6)0 (7)1 (8)0 (9)0 (10)0三. 运行程序题1. 27.0000002.13.700000第3章(P55)一.选择题1.A2.A3.C4.B5.C6.B二. 填空题1. 回车 , 输入的字符 , 从标准设备(键盘)读入一个字符2. 按用户指定的格式从键盘上把数据输入到指定的变量中 , 格式字符串开头标志 , 控制输入数据的格式 , 输入八进制整数 , 输入单个字符 , 输入字符串3. 一个字符 , #include<stdio.h>4. 按用户指定的格式 , 把指定的数据输出到屏幕上显示 , 格式字符串开头的标志 , 指定输出格式 , 以八进制形式输出无符号整数 , 以小数形式输出单、双精度数 , 输出单个字符 , 输出字符串 , 以%f、%e中较短的宽度输出单、双精度实数.5. (1) -200 , 2500 (2)i=-200 , j=2500 (3)i=-200j=25006. 12 , 0 , 07. 分号8. 100(回车) 100(空格)25.8(空格)1.89234 100(TAB)25.8(TAB)1.8923425.81(回车)1.892349. x=127 , x= 127 , x= 177 , x= 12710. a=513.789215 , a= 513.79 , a= 153.78921500 , a= 513.78921500三. 运行程序题1. a=27; b=15; c=32. p=73. 5 105,34.73125134.73, 34.7312A,65computer, computer4. 575, 767.856400,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,1234567,d68765529,177771,fff9,-7COMPUTER, COM第四章(P76)一.选择题1.D2.C3.D4.C5.B6.D7.B8.A9.B 10.A 11.C 12.D 13.A 14.A 15.D 16.A 17.A 18.B 二.填空题1.结构化控制、结构、程序的性能、运行2.执行循环体一次、再判断表达式的值、判断、执行3.switch语句、循环语句、循环体三.运行程序题1.(1)0 (2)1 (3)1 (4)0 (5)12.#$#$#$&3.3667784. *************************四.完善程序题1.fabs(t)、t、-s2.=’*’、’\n’、YES第五章(P100)一.选择题1.B2.A3.B4.C5.C6.A7.B8.A9.C二.填空题1.20、0、192.数组名3.越界三.运行程序题1.3572.*************************3.18104.输出一个3×3矩阵的转置矩阵四.完善程序题1.k、-12.&a[i][j]、a[i][i]+a[i][2-i]3.ndigit[10]、ndigit[ch-‘0’]++第六章(P130)一.选择题1.D2.D3.B4.A5.D6.A7.A8.B9.B 10.A 11.B 12.D 13.A 14.A 二.填空题1.函数内部2.函数内部、局部3.return、void4.fun()、extern三.运行程序题1.122.93.10214.215.a=5,b=3a*b=15a+b=86.11101121011310114101151017.238.2226四.修改程序题1.在主函数前加上:float mul(float a,float b);把float mul(float a,b)改为float mul(float a,float b) 2.把z=fabs(x-y);改为z=abs(x-y);3.把输入的整数转换为字符串逆序输出第七章(P160)一、选择题A D D C DB D B A C二、填空题1、取内容、取地址2、3、+33、xyz、x4、1002、1004、1008、1001、10065、286、4、a[2][0]7、6、a[3]三、运行程序题1、porm2、ga3、88884、307四、完善程序题1、++i、i2、0、z第八章(P194)一、选择题D BCBCBDBC二、运行程序题1、36、40、412、133、zhao4、1,1二、填空题1、成员、用指针访问成员2、343、12、6.0000004、34、125、2、36、struct node *next7、num!=p1->info && p1->link=NULL、head=p1->link、p2->link=p1->link第九章(P209)一、选择题1-8 CC A DCDC ( 3错. 32->64)二、填空题1、72、PR(x); PR(y);三、运行程序题1、932、2 123、a=14,b=15,c=04、Hid Ted5、R=2.5 circ=15.707963 area=19.634954第10章(P219)一、B A A A DB AC A C二、1. ~ << >> & ^ |2. 0x22 0xbbbb 0x bb99 001101100 最高补0 最高补101011011 11011011三、1. 12342.15765375765四、 1. 12 <<2. 15 -1第11章一、 B C D B BC C B D二、 1. “w”“rb”“ab+”“rt”“wt+”2. 缓冲文件系统非缓冲文件系统三、完善程序题1、rewind(fp);fp2、"a+";"r";fp1四、编写程序题1、从键盘输入一个字符串(以“#”作为结束符),把文本输出到磁盘文件e.dat中。
程序设计基础教程(c语言版)课后答案

程序设计基础教程(c语言版)课后答案课后答案及解析z习题解答课后答案及解析目录1.2 习题解答 (3)1.2.1 选择题 (3)1.2.2 填空题 (3)1.2.3 编程题 (4)2.2 习题解答 (5)2.2.1 选择题 (5)2.2.2 填空题 (7)2.2.3 编程题 (8)3.2 习题解答 (11)3.2.1 选择题 (11)3.2.2 填空题 (12)3.2.3 编程题 (12)4.2 习题解答 (15)4.2.1 选择题 (15)4.2.2 填空题 (17)4.2.3 编程题 (18)5.2 习题解答 (29)5.2.1 选择题 (29)5.2.2 填空题 (31)5.2.3 编程题 (33)6.2 习题解答 (37)6.2.1 选择题 (37)6.2.2 填空题 (41)6.2.3 编程题 (43)7.2 习题解答 (67)7.2.1 选择题 (67)7.2.2 填空题 (68)7.2.3 编程题..................................................................................................68 2课后答案及解析1.2 习题解答1.2.1 选择题1、B在一个C程序中必须有且只能有一个main函数,而且main 函数可以在任何地方出现.2、CC 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。
A中,-sub 不合法。
B 中4d 不合法。
D 中void 为关键字。
3、4、C转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\ 输出,第五个\t跳格,第六个\”输出”,第七个\n输出换行。
5、C本题将10进制17,分别按8、16进制输出。
8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10)1.2.2 填空题1、主一个C源程序中至少包括一个主函数,其他函数没有限制。
c语言《程序设计基础》课后习题参考答案与解析

《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个main函数。
c) 在C语言中,输出操作是有库函数printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S△= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A16、B 17 D解析:1. 答案:C。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连海事大学C语言与Windows程序设计6道课后题答案1.(1)设计具有以下功能的程序:从键盘上输入10个非负整数,统计并输出最大数和最小数,当输入负数时结束输入。
#include <iostream.h>void main(){int a, max=-1, min=32767,num=1;cout<<"Please input a number:"<<endl;do{cin>>a;if(a<0) break; //输入负数结束输入if(a>max) max =a;if(a<min) min =a;num++;}while (a>=0&&num<=10);if(max>=0)cout<<"Max="<<max<<endl<<"Min="<<min<<endl;elsecout<<"No data!";}1.(2)编程序实现求和:S=1-1/3+1/5-1/7+……+1/n。
要求:n值在程序运行时从键盘输入。
#include<stdio.h>void main(){inti,n,sign=1;float sum=0.0;printf("请输入n:");scanf("%d",&n);for(i=1;i<=n;i+=2){sum+=sign*(1.0/i);sign=-sign;}printf("\nsum=%f\n",sum);}2.设计具有以下功能的程序:从键盘输入10个整数,然后排序。
(要求:利用函数调用实现并以数组作为函数的参数)3.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),成员函数包括:点的位置获取函数GetX()和GetY(),点的位置设置函数SetX()和SetY(),点的位置移动函数MoveTo()点的信息打印函数Display()。
void main(){Point p(100,100);p.Display();p.MoveTo(200,200);cout<<"after moving…"<<endl;p.Display();}程序输出结果如下:X: 100Y: 100after moving…X: 200Y: 200#include <iostream.h>class Point{private:int X;int Y;public:Point(int X, int Y){this->X = X;this->Y = Y;}Point(){this->X = 0;this->Y = 0;}~Point(){}intGetX(){return this->X;}intGetY(){return this->Y;}voidSetX(int X){this->X = X;}voidSetY(int Y){this->Y = Y;}voidMoveTo(int X, int Y){SetX(X);SetY(Y);}void Display(){cout<<"X: "<<GetX()<<endl;cout<<"Y: "<<GetY()<<endl;}};4.编写几何图形圆的类Circle,包括两个属性:圆心O(用上题中的Point类实现)和半径R。
成员函数包括:圆心位置获取函数GetO()半径获取函数GetR()半径位置设置函数SetR()圆的位置移动函数MoveTo()圆的半径设置函数SetR()圆的信息打印函数Display()void main(){Point p(100,100);Point p2(200,200);Circle c(p, 100);c.Display();c.MoveTo(p2);cout<<"after moving"<<endl;c.Display();c.SetR(200);cout<<"after altering r"<<endl;c.Display();}程序输出结果如下:Circle: (100,100),100after movingCircle: (200,200),100after altering rCircle: (200,200),200#include <iostream.h>class Point{private:int X;int Y;public:Point(int X, int Y){this->X = X;this->Y = Y;}Point(){this->X = 0;this->Y = 0;}~Point(){}intGetX(){return this->X;}intGetY(){return this->Y;}voidSetX(int X){this->X = X;}voidSetY(int Y){this->Y = Y;}voidMoveTo(int X, int Y){SetX(X);SetY(Y);}/* void Display(){cout<<"X: "<<GetX()<<endl;cout<<"Y: "<<GetY()<<endl;}*/};/////////////////////////class Circle{private:Point O;int R;public:Circle(Point& p, int R){O.MoveTo(p.GetX(),p.GetY());this->R = R;}~Circle(){}Point GetO(){return this->O;}intGetR(){return this->R;}voidMoveTo(Point& p){O.MoveTo(p.GetX(), p.GetY());}voidSetR(int R){this->R = R;}void Display(){cout<<"Circle: ("<<O.GetX()<<","<<O.GetY()<<"),"<<R<<endl;}};void main(){Point p(100,100);Point p2(200,200);Circle c(p, 100);c.Display();c.MoveTo(p2);cout<<"after moving"<<endl;c.Display();c.SetR(200);cout<<"after altering r"<<endl;c.Display();}5.编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。
该程序建立三个类,其中一个是日期的类Date,一个是时间的类Time,另一个是日期和时间类TimeDate,它是前面两个类为基类的派生类。
void main(){TimeDate date1, date2(1998, 8, 12, 12, 45, 10);date1.SetDate(1998, 8, 7);date1.SetTime(10, 30, 45);cout<<"The date1 date and time is:";date1.GetDT();cout<<"The date1 date is:";date1.GetDate();cout<<"The date1 time is:";date1.GetTime();cout<<"The date2 date and time is:";date2.GetDT();}#include<iostream.h>class Date{public:Date() {}Date(int y, int m, int d) { SetDate(y, m, d); }voidSetDate(int y, int m, int d){Year = y;Month = m;Day = d;}voidGetDate(){cout<<Year<<"/"<<Month<<"/"<<Day<<endl;}protected:int Year, Month, Day;};class Time{public:Time() {}Time(int h, int m, int s) { SetTime(h, m, s); }voidSetTime(int h, int m, int s){Hours = h;Minutes = m;Seconds = s;}voidGetTime(){cout<<Hours<<":"<<Minutes<<":"<<Seconds<<endl;}protected:int Hours, Minutes, Seconds;};classTimeDate:public Date, public Time{public:TimeDate(){}TimeDate(int y, intmo, int d, int h, int mi, int s):Date(y, mo, d), Time(h, mi, s) {}voidGetDT(){cout<<Year<<"/"<<Month<<"/"<<Day<<"_"<<Hours<<":"<<Minutes<<":"<< Seconds<<endl;}};void main(){TimeDate date1, date2(1998, 8, 12, 12, 45, 10);date1.SetDate(1998, 8, 7);date1.SetTime(10, 30, 45);cout<<"The date1 date and time is:";date1.GetDT();cout<<"The date1 date is:";date1.GetDate();cout<<"The date1 time is:";date1.GetTime();cout<<"The date2 date and time is:";date2.GetDT();}6.生成一个Object抽象类,在其中声明double CalArea()为纯虚函数,从Object派生出:Rect类(其中包含成员变量Point topleft,Point bottomright。