欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《高级语言程序设计C++》平时作业要点(共14页).doc

    • 资源ID:16676278       资源大小:48KB        全文页数:14页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《高级语言程序设计C++》平时作业要点(共14页).doc

    精选优质文档-倾情为你奉上一、分析程序,写输出结果1 #include<iostream.h>#include<math.h>void 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 #include<iostream.h>void fun();void main()int i; for(i=1;i<5;i+) fun(); cout<<endl;void fun() static int a; int b=2; a += 2 ; cout<< a+b <<'t'解:主函数循环4次调用fun(); fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。 结果为: 4 6 8 10 3 #include<iostream.h>int fun(int n) if(n=0) return 1; return 2*fun(n-1);void main() int a=5; cout<<fun(a)<<endl;解:fun()函数用递归求出2的n次方, 结果为: 324 #include<iostream.h>void main() char *cp="word" for (int i=0 ; i<4; i+ ) cout<<cp+i << 't' 解:主函数4次循环中, 第一次输出cp+i,此时cp指向“word”的第一个字符,所以输出“word”, 之后cp依次往后移一个位置,输出此位置及后面的字符 结果为: word ord rd d二、根据程序功能填空。1. 程序把10个数存储到一维数组a中,并求该数组中最大值。#include<iostream.h>void main() int max; int a10=76,55,95,87,85,83,65,90,77,85; int *p= a ; max=*p; for( ; p< &a10 ; p+) if( *p>max ) max= *p ; cout<<"max= "<<max<<endl;2下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。例如,45两位数字的乘积为4×5=20,和为4+5=9。#include<iostream.h>void main() int n, k=1, s=0, m; for(n=1; n<=100; n+) k=1; s=0; M=n ;while( m>0 ) k*=m%10; s+=m%10; m=m/10 ; if(k>s) cout<<n<<'t' 3程序对输入的n求s = 1 + 1/23 + 1/33 + + 1/n3 。#include<iostream.h>void main()double s; int i, n; cout<<" n= " cin>>n; s = 0; for (i=1; i<n ; i+) s= s+1/(i*i*i) ; cout<<"s="<<s<<endl;4函数create从键盘输入整数序列,以输入0为结束。按输入顺序建立一个以head为表头的单向链表。struct nodeint data; node * next;create( node *head )node *p, *q; p=new node; cin>>p->data; q=p; while( p->data ) if(head=NULL) head=p; else q=q->next ; q=p; p=new node ; cin>>p->data; q->next=NULL; delete p;5以下程序求方程的全部整数解:3x + 2y - 7z = 5( 0 x, y, z 100 )#include<iostream.h>void main() int x, y, z ; for( x=0; x<=100; x+ ) for( y=0; y<=100; y+ ) if( ( z=3*x+2*y-5 ) % 7 ) continue ; z=z/7 ;/求出z的值 if( z>=0 && z<101 ) /检查z的范围 cout << "x=" << x << " y=" << y << " z=" << z << endl ; 三、程序设计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+) cout<<num<<" " num+; cout<<endl; 2. 请编程序,输入两个正整数啊a和b(a<b),输出a、b之间所有整数的因数(除1和本身)。每行输出数据不超过10个。例如,若输入a为6,b为8,则输出格式要求如下:the factors of 6 :2 3the factors of 7 :no factorthe factors of 8 :2 4答: #include<iostream.h> #include<math.h> 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)printf("no factor"); 3请编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。答: #include<iostream> 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 << " " cout<<endl; 4. 编写一个程序,实现如下功能: (1)从键盘输入a op b。其中a, b为数值;op为字符,限制为+、-、*、/ 。 (2)调用函数count(op,a,b),计算表达式a op b的值。由主函数输出结果。答:#include "stdafx.h" #include <iostream> 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) cout<<"0不能作除数"<<endl; else return x/y; ; int main() cal c; /定义对象 int x,y; char ID; cout<<"请输入要计算的两个数及运算符,中间用空格隔开比如2 3 +"<<endl; cin>>x>>y>>ID; switch (ID) case '+': cout<<c.add(x,y)<<endl; break; case '-': cout<<c.sub(x,y)<<endl; break; case '*': cout<<c.mul(x,y)<<endl; break; case '/': cout<<c.div(x,y)<<endl; ; return 0; 5. 编写一个程序,实现如下功能:(1)输入k(<100)个整数到数组x100中;(2)计算k个数的平均值及大于平均值的元素个数。答: #include<iostream.h> voidmain() Int x100,k,i,n; Double sum=0.0,ave; cout<<"HowmanyData?n" cin>>k; for(i=0;i<k;i+) cin>>xi;sum+=xi; ave=sum/k; n=0; for(i=0;i<k;i+)/求大于平均值的元素个数 if(xi>ave)n+; cout<<"average="<<ave<<"n" cout<<"Thereare"<<n<<"elementslargethanaverage.n" 6. 定义函数void reversion(int ary,int size);逆置数组ary的元素。例如实参数组原来为 1,5,3,2,6,8,9,4 ,调用函数reversion后变成为 4,9,8,6,2,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,并且b50=a20/a1),最后按每行5个元素的格式输出数组b。答: # include <stdio,h> void main() int a50,b5,i,j; printf ("请输入50个数"); for (i=0;i<50;i+); scanf("%d",&ai); for (i=9;i>0;i-2) for (j=0;j<5;j+) bj=ai%ai-1; for(j=0;j<5;j+) for (i=1;i<5;i+) printf("%d",bi; printf("n"); 8. 编程输出所有不超过100 的其平方具有对称性质的正整数(也称回文数)。输出格式如下:number square1 12 43 911 12122 48426 676答:#include<stdio.h> Int main<void> Int j=0; For (i=0;j<100;j+) If (mj!=mi) Break; If (j>=i) Printf(n,n*n); Return o; 9. 编写程序,打印如下杨辉三角。11 1 1 2 11 3 3 11 4 6 4 1答: #include<iostream> #include<iomanip> using 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+) cout<<setw(m-i); for(int j = 0; j <= i; j+) cout<< aij <<" " cout<<endl; 10定义一个函数,计算长度为k的整型数组元素的平均值及大于平均值的元素个数。调用函数的语句为:count(a,k,ave,num);其中a是数组名,k是数组元素个数,ave返回的平均值,num返回大于平均值的元素个数。答:#include<iostream.h> 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 < a; i+) if(ai > ave) count+; num = count; 专心-专注-专业

    注意事项

    本文(《高级语言程序设计C++》平时作业要点(共14页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开