教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 稿件大全 >

华工高级语言程序设计C++作业主观题及答案

来源:网络收集 时间:2026-08-31
导读: 一、分析程序,写输出结果 1. #includeiostream.h #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

一、分析程序,写输出结果

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 << " ";

}

}

7 9

2. #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 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;

}

32

4. #include<iostream.h>

void main()

{ char *cp="word";

for (int i=0 ; i<4; i++ )

cout<<cp+i << '\t';

}

word ord rd d

二、.根据程序功能填空。

1. 程序把10个数存储到一维数组a中,并求该数组中最大值。

#include<iostream.h>

void main()

{ int max;

int a[10]={76,55,95,87,85,83,65,90,77,85}; int *p=a ;

max=*p; for( ; p< &a[10] ; 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; 1m=n ;

} while( 2m ) { k*=m%10; s+=m%10; 3 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=s+(1.0/(n*n*n) ;

cout<<"s="<<s<<endl;

}

4.函数create从键盘输入整数序列,以输入0为结束。按输入顺序建立一个以head为表头的单向链表。

struct node{int 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->next=p; ;

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 )

break ; //求出z的值 z=3*x+2*y-5)/7 ;

if( z<=100&&z>=0 ) //检查z的范围

cout << "x=" << x << " y=" << y << " z=" << z << endl ;

}

三、程序设计

1. 编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。

1

2 2 2

3 3 3 3 3

4 4 4 4 4 4 4

#include<iostream.h>

void main()

{

int i,n;

for (i=0;i<5; i++){

for (n=0;n<2*i-1;n++){

cout<<i;

}

cout<<endl;

}

}

2. 请编程序,输入两个正整数啊a和b(a<b),输出a、b之间所有整数的因数(除1和本身)。每行输出数据不超过10个。例如,若输入a为6,b为8,则输出格式要求如下:

the factors of 6 :

2 3

the factors of 7 :

no factor

the factors of 8 :

2 4

#include <iostream>

using namespace std;

void printFactor(int i);

void main()

{

int numA,numB;

cout<<"Input Two Numbers:"<<endl;

cin>>numA>>numB;

for (int i=numA;i<=numB;i++)

{

printFactor(i);

}

}

void printFactor(int i)

{

cout<<" FACTORS OF "<<i<<":"<<endl;

int *fact=new int();

int n=0;

for (int k=2;k<i;k++)

{

if (i%k==0)

{

fact[n]=k;

n++;

}

}

if (n==0)

{

cout<<"NO FACTOR"<<endl;

}

else

{

for (int j=0;j<n;j++)

{

cout<<fact[j]<<" ";

if ((j+1)%10==0)

{

cout<<endl;

}

}

cout<<endl;

}

}

3.请编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。

#include<iostream>

using namespace std;

int main()

{

long x,y,i=10;

int flag=0;

for(x=1;x<100;x++)

{

y=x*x;

while(y/i!=0)

{

if(y%i==x)

{

flag=1;

break;

}

i=i*10;

}

if(flag==1) cout<<x<<' '<<y<<endl;

flag=0;

i=10;

}

return 0;

}

4. 编写一个程序,实现如下功能:

(1)从键盘输入a op b。其中a, b为数值;op为字符,限制为+、-、*、/ 。

(2)调用函数count(op,a,b),计算表达式a op b的值。由主函数输出结果。

#include <iostream>

using namespace std;

template<typename T>

T COUNT(char op,T a,T b)

{

switch(op)

{

case '+':return (a+b);break;

case '-':return (a-b);break;

case '*':return (a*b);break;

case '/':return (a/b);break;

default:cout < …… 此处隐藏:3566字,全部文档内容请下载后查看。喜欢就下载吧 ……

华工高级语言程序设计C++作业主观题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/754385.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)