文档详情

《高级语言程序设计C++》平时作业答案.doc

发布:2017-12-09约3.29千字共15页下载文档
文本预览下载声明
一、分析程序,写输出结果 1. #includeiostream.h201709 #includemath.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 ; } } 运行结果:7 9 2. #includeiostream.h void fun(); 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 6 8 10 3. #includeiostream.h int fun(int n) { if(n==0) return 1; return 2*fun(n-1); } void main() { int a=5; coutfun(a)endl; } 运行结果:32 4. #includeiostream.h void main() { char *cp=word; for (int i=0 ; i4; i++ ) coutcp+i \t; } 运行结果:word ord rd d 二、.根据程序功能填空。 1. 程序把10个数存储到一维数组a中,并求该数组中最大值。 #includeiostream.h void main() { int max; int a[10]={76,55,95,87,85,83,65,90,77,85}; int *p= ; max=*p; for( ; p ; p++) if( *pmax ) max= ; coutmax= maxendl; } 2.下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。例如,45两位数字的乘积为4×5=20,和为4+5=9。 #includeiostream.h void main() { int n, k=1, s=0, m; for(n=1; n=100; n++) { k=1; s=0; ; while( ) { k*=m%10; s+=m%10; ; } if(ks) coutn\t; } } 3.程序对输入的n求s = 1 + 1/23 + 1/33 + … + 1/n3 。 #includeiostream.h void main() {double s; int i, n; cout n= ; cinn; s = 0; for (i=1; ; i++) s= ; couts=sendl; } 4.函数create从键盘输入整数序列,以输入0为结束。按输入顺序建立单向链表并返回表头。 struct node{int data; node * next;}; node * create() { node *head, *p, *q; p = new node; head = p; cinp-data; while( ) { q = p; ; q-next = p; cinp-data; } if (head == p) head = NULL; else ; ; return head; } 5.以下程序求方程的全部整数解: 3x + 2y - 7z = 5 ( 0 ≤ x, y, z ≤ 100 ) #includeiostream.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 )
显示全部
相似文档