华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx

上传人:b****8 文档编号:22697589 上传时间:2023-02-05 格式:DOCX 页数:16 大小:18.79KB
下载 相关 举报
华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx_第1页
第1页 / 共16页
华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx_第2页
第2页 / 共16页
华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx_第3页
第3页 / 共16页
华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx_第4页
第4页 / 共16页
华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx

《华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

华南理工《高级语言程序设计C++》平时作业Word格式文档下载.docx

a+=2;

a+b<

'

\t'

主函数循环4次调用fun();

fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。

结果为:

4,6,8,10

3.#include<

intfun(intn)

{if(n==0)return1;

return2*fun(n-1);

{inta=5;

cout<

fun(a)<

fun()函数用递归求出2的n次方,结果为:

32

4.#include<

{char*cp="

word"

for(inti=0;

4;

cp+i<

'

主函数

4次循环中,

第一次输出

cp+i

,此时cp指向“word”的第一个字符,所以输出“word”,

cp

:

word

ord

rd

d

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

1.程序把10个数存到一数a中,并求数中最大。

{intmax;

inta[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

"

max="

max<

2.下面程序的功能是出

1至100之每位数字的乘大于每位数的和的数。

例如,

45两位

数字的乘

5=20,和4+5=9。

{intn,k=1,s=0,m;

for(n=1;

n<

=100;

n++){k=1;

s=0;

m=n;

while(m>

{k*=m%10;

s+=m%10;

m=m/10

if(k>

s)cout<

n<

3.程序入的

n求

s=1+1/2

3+1/3

3+

+1/n

3。

{doubles;

inti,n;

n="

cin>

>

n;

s=0;

for(i=1;

n

s=s+/(i*i*i)

s="

s<

4.函数create从键盘输入整数序列,

structnode{intdata;

node*next;

};

node*create()

{

node*head,*p,*q;

p=newnode;

head=p;

cin>

p->

data;

while(p)

q=p;

p=->

data;

q->

next=p;

if(head==p)head=NULL;

elsep=0;

returnhead;

5.以下程序求方程的全部整数解:

i++)

以输入0为结束。

按输入顺序建立单向链表并返回表头。

3x+2y-7z=5(0≤x,y,z≤100)

{intx,y,z;

for(x=0;

x<

x++)for(y=0;

y<

y++)

{if((z=3*x+2*y-5)%7)

continue;

z=z/7;

//求出z的值

if(z>

=0&

z<

100)//检查z的范围

cout<

x="

<

x<

y="

y<

z="

z<

endl;

三、程序设计

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

1

222

33333

4444444

答:

voidPrintFigure(intnum,introw){

inti,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++;

2.请编程序,输入两个正整数啊a和b(a<

b),输出a、b之间所有整数的因数(除每行输出数据不超过10个。

例如,若输入a为6,b为8,则输出格式要求如下:

1和本身)。

thefactorsof6:

23

thefactorsof7:

nofactor

thefactorsof8:

24

#include<

voidout(inta,intb){

inti,j,count;

for(i=a;

=b;

count=0;

printf("

\nthefactorof%d\n"

i);

for(j=2;

j<

i;

j++){

if(i%j==0){

%s%d"

(count==0?

"

),j);

count++;

if(count==0)printf("

nofactor"

);

3.请编程序,例如:

5是25

找出1至99之间的全部同构数。

同构数是这样一组数:

它出现在平方数的右边。

右边的数,25是625右边的数,所以5和25都是同构数。

iostream>

usingnamespacestd;

voidmain(){

k=10;

=99;

if(i==k)k*=10;

j=i*i;

if(j%k==i)

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

(1)从键盘输入aopb。

其中a,b为数值;

op为字符,限制为+、-、*、/。

(2)调用函数count(op,a,b),计算表达式aopb的值。

由主函数输出结果。

#include"

stdafx.h"

#include<

classcal{public:

intadd(intx,inty)//加法定义函数{returnx+y;

}

intsub(intx,inty)//减法定义函数{returnx-y;

intmul(intx,inty)//乘法定义函数{returnx*y;

intdiv(intx,inty)//除法定义函数{if(y==0)

0不能作除数"

elsereturnx/y;

}};

intmain(){

calc;

//定义对象intx,y;

charID;

请输入要计算的两个数及运算符,中间用空格隔开比如23+"

x>

y>

ID;

switch(ID){case'

+'

c.add(x,y)<

break;

case'

-'

c.sub(x,y)<

*'

c.mul(x,y)<

/'

c.div(x,y)<

};

return0;

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

(1)输入k(<

100)个整数到数组x[100]中;

(2)计算k个数的平均值及大于平均值的元素个数。

voidmain(){

Intx[100],k,i,n;

Doublesum=0.0,ave;

HowmanyData?

\n"

k;

for(i=0;

i++){cin>

x[i];

sum+=x[i];

ave=sum/k;

n=0;

i++)//求大于平均值的元素个数if(x[i]>

ave)n++;

average="

ave<

Thereare"

elementslargethanaverage.\n"

6.定义函数

voidreversion(intary[],intsize);

逆置数组ary的元素。

例如实参数组原来为[1,5,3,2,6,8,9,4]

reversion后变成为[4,9,8,6,2,3,5,1]。

,调用函数

voidreversion(intary[],intsize)

inttemp;

for(inti=0;

size/2;

temp=ary[i];

ary[i]=ary[size-1-i];

ary[size-1-i]=temp;

7.数组a包含

b[i]=a[i]/a[i-1],

50个整数,把a中所有的后项除以前项之商取整后存入数组

并且b[0]=a[0]/a[49]),最后按每行5个元素的格式输出数组

b。

b(即

#include<

stdio,h>

voidmain()

inta[50],b[5],i,,j;

printf("

请输入50个数"

for(i=0;

50;

i++);

scanf("

%d"

&

a[i]);

for(i=9;

i>

0;

i-2)

for(j=0;

j<

j++)b[j]=a[i]%a[i-1];

for(j=0;

j++)for(i=1;

i++)printf("

b[i];

8.编程输出所有不超过100的其平方具有对称性质的正整数(也称回文数)。

输出格式如下:

numbersquare

11

24

39

11121

22484

26676

stdio.h>

Intmain<

void>

Intj=0;

For(i=0;

100;

j++)If(m[j]!

=m[i])Break;

If(j>

=i)Printf(n,n*n);

Returno;

9.编写程序,打印如下杨辉三角。

121

1331

14641

iomanip>

constintm=5;

inta[m][m];

m;

a[i][0]=1;

a[i][i]=1;

for(intj=2;

j++)

for(intk=1;

k<

j;

k++)a[j][k]=a[j-1][k-1]+a[j-1][k];

setw(m-i);

for(intj=0;

=i;

j++)cout<

a[i][j]<

10.定义一个函数,计算长度为k的整型数组元素的平均值及大于平均值的元素个数。

调用函

数的语句为:

count(a,k,ave,num);

其中a是数组名,k是数组元素个数,ave返回的平均值,num返回大于平均值的元素个数。

count(a,k,&

ave,&

num)

intcount=0,sum=0;

inti;

for(i=0;

a;

i++){sum+=a[i];

ave=(float)sum/(float)a;

if(a[i]>

ave)count++;

num=count;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1