ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:18.33KB ,
资源ID:13055127      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13055127.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华南理工《高级语言程序设计C++》平时作业.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

华南理工《高级语言程序设计C++》平时作业.docx

1、华南理工高级语言程序设计C+平时作业一、分析程序,写输出结果1 #include#includevoid main()int m, k, i ; for( m=1; m=10; m+=2 ) k = m/3; for( i=2; i=k; i+ ) if( m%i ) cout m ; 解:m 的取值为1,3,5,7,9 对应k的取值为0,1,1,2,3, 第二个for循环:只有当k=2和k=3时才执行, 当k=2,i=2,m%i等于1为真,输出m为7 当k=3,i=2,m%i等于1为真,输出m为9, i=3,m%i等于0为假,无输出 结果为: 7 92 #includevoid fun();

2、void main()int i; for(i=1;i5;i+) fun(); coutendl;void fun() static int a; int b=2; a += 2 ; cout a+b t;解:主函数循环4次调用fun(); fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。 结果为: 4,6 ,8,103 #includeint fun(int n) if(n=0) return 1; return 2*fun(n-1);void main() int a=5; coutfun(a)endl;解:fun()函数用递归求出2的n次方, 结果为: 324 #in

3、cludevoid main() char *cp=word; for (int i=0 ; i4; i+ ) coutcp+i t; 解:主函数4次循环中, 第一次输出cp+i,此时cp指向“word”的第一个字符,所以输出“word”, 之后cp依次往后移一个位置,输出此位置及后面的字符 结果为: word ord rd d二、根据程序功能填空。1. 程序把10个数存储到一维数组a中,并求该数组中最大值。#includevoid main() int max; int a10=76,55,95,87,85,83,65,90,77,85; int *p= a ; max=*p; for( ;

4、 pmax ) max= *p ; coutmax= maxendl;2下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。例如,45两位数字的乘积为45=20,和为4+5=9。#includevoid main() int n, k=1, s=0, m; for(n=1; n0 ) k*=m%10; s+=m%10; m=m/10 ; if(ks) coutnt; 3程序对输入的n求s = 1 + 1/23 + 1/33 + + 1/n3 。#includevoid main()double s; int i, n; coutn; s = 0; for (i=1; in ;

5、i+) s= s+/(i*i*i) ; couts=sp-data; while( p ) q = p; p=-data ; q-next = p; cinp-data; if (head = p) head = NULL; else p=0 ; ; return head;5以下程序求方程的全部整数解: 3x + 2y - 7z = 5 ( 0 x, y, z 100 )#includevoid main() int x, y, z ; for( x=0; x=100; x+ ) for( y=0; y=0 & z100 ) /检查z的范围 cout x= x y= y z= z endl

6、; 三、程序设计1. 编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。12 2 23 3 3 3 34 4 4 4 4 4 4答: void PrintFigure(int num, int row) int i, j, k; num = num - row +1; for(i = 1; i = row; i+) j = 2*i-1; for(k = 1;k = j; k+) coutnum ; num+; coutendl; 2. 请编程序,输入两个正整数啊a和b(ab),输出a、b之间所有整数的因数(除1和本身)。每行输出数据不超过10个。例如,若输入a为6,b为8

7、,则输出格式要求如下:the factors of 6 :2 3the factors of 7 :no factorthe factors of 8 :2 4答: #include #include void out(int a, int b) int i, j, count; for(i = a; i = b; i+) count = 0; printf(nthe factor of %dn, i); for(j = 2; j i; j+) if(i % j = 0) printf(%s%d, (count = 0 ? :,), j); count+; if(count = 0)print

8、f(no factor); 3请编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。答: #include using namespace std; void main() int i, j, k; k = 10; for(i = 1; i = 99; i+) if(i = k) k *= 10; j = i * i; if(j % k = i) cout i ; coutendl; 4. 编写一个程序,实现如下功能: (1)从键盘输入a op b。其中a, b为数值;op为字符,限制为+、-、*

9、、/ 。 (2)调用函数count(op,a,b),计算表达式a op b的值。由主函数输出结果。答:#include stdafx.h #include using namespace std; class cal public: int add(int x,int y) /加法定义函数 return x+y; int sub(int x,int y) /减法定义函数 return x-y; int mul(int x,int y) /乘法定义函数 return x*y; int div(int x,int y) /除法定义函数 if(y=0) cout0不能作除数endl; else re

10、turn x/y; ; int main() cal c; /定义对象 int x,y; char ID; cout请输入要计算的两个数及运算符,中间用空格隔开比如2 3 +xyID; switch (ID) case +: coutc.add(x,y)endl; break; case -: coutc.sub(x,y)endl; break; case *: coutc.mul(x,y)endl; break; case /: coutc.div(x,y)endl; ; return 0; 5. 编写一个程序,实现如下功能:(1)输入k(100)个整数到数组x100中;(2)计算k个数的平

11、均值及大于平均值的元素个数。答: #include voidmain() Int x100,k,i,n; Double sum=0.0,ave; coutk; for(i=0;ixi;sum+=xi; ave=sum/k; n=0; for(i=0;iave)n+; coutaverage=aven; coutTherearenelementslargethanaverage.n; 6. 定义函数 void reversion(int ary,int size);逆置数组ary的元素。例如实参数组原来为 1,5,3,2,6,8,9,4 ,调用函数reversion后变成为 4,9,8,6,2,

12、3,5,1 。答: void reversion(int ary,int size) int temp;for(int i = 0; i size/2; i+) temp = aryi; aryi = arysize -1 -i; arysize -1 -i = temp; 7. 数组a包含50个整数,把a中所有的后项除以前项之商取整后存入数组b(即bi=ai/ai-1,并且b0=a0/a49),最后按每行5个元素的格式输出数组b。答: # include void main() int a50,b5,i,j; printf (请输入50个数); for (i=0;i0;i-2) for (j

13、=0;j5;j+) bj=ai%ai-1; for(j=0;j5;j+) for (i=1;i5;i+) printf(%d,bi; printf(n); 8. 编程输出所有不超过100 的其平方具有对称性质的正整数(也称回文数)。输出格式如下:number square1 12 43 911 12122 48426 676答:#include Int main Int j=0; For (i=0;j=i) Printf(n,n*n); Return o; 9. 编写程序,打印如下杨辉三角。11 1 1 2 11 3 3 11 4 6 4 1答: #include #include using

14、 namespace std;void main() const int m = 5; int amm; for(int i = 0; i m; i+) ai0 = 1; aii = 1; for(int j = 2; j m; j+) for(int k = 1; k j; k+) ajk = aj-1k-1 + aj-1k; for(int i = 0; i m; i+) coutsetw(m-i); for(int j = 0; j = i; j+) cout aij ; coutendl; 10定义一个函数,计算长度为k的整型数组元素的平均值及大于平均值的元素个数。调用函数的语句为:count(a,k,ave,num);其中a是数组名,k是数组元素个数,ave返回的平均值,num返回大于平均值的元素个数。答:#include count(a,k,&ave,&num) int count = 0,sum = 0; int i; for(i = 0; i a; i+) sum += ai; ave = (float)sum / (float)a; for(i = 0; i ave) count+; num = count;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2