电大《C++语言程序设计》第1234次作业及答案.docx

上传人:b****8 文档编号:9466608 上传时间:2023-05-19 格式:DOCX 页数:17 大小:113.60KB
下载 相关 举报
电大《C++语言程序设计》第1234次作业及答案.docx_第1页
第1页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第2页
第2页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第3页
第3页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第4页
第4页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第5页
第5页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第6页
第6页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第7页
第7页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第8页
第8页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第9页
第9页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第10页
第10页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第11页
第11页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第12页
第12页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第13页
第13页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第14页
第14页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第15页
第15页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第16页
第16页 / 共17页
电大《C++语言程序设计》第1234次作业及答案.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电大《C++语言程序设计》第1234次作业及答案.docx

《电大《C++语言程序设计》第1234次作业及答案.docx》由会员分享,可在线阅读,更多相关《电大《C++语言程序设计》第1234次作业及答案.docx(17页珍藏版)》请在冰点文库上搜索。

电大《C++语言程序设计》第1234次作业及答案.docx

电大《C++语言程序设计》第1234次作业及答案

 

电大《C++语言程序设计》第1、2、3、4次作业及答案(总16页)

第一次作业

一、写出下列每个程序运行后的输出结果

1.#include<>

voidmain()

{

intx=5;

switch(2*x-3)

{

case4:

printf("%d",x);

case7:

printf("%d",2*x+1);

case10:

printf("%d",3*x-1);break;

default:

printf("%s","default\n");

}

printf("%s\n","switchend.");

}

2.#include<>

voidmain()

{

inti,s=0;

for(i=1;i<=6;i++)

s+=i*i;

printf("s=%d\n",s);

}

 

3.#include<>

voidmain()

{

inti,s1=0,s2=0;

for(i=0;i<10;i++)

if(i%2)s1+=i;

elses2+=i;

printf("%d%d\n",s1,s2);

}

4.#include<>

voidmain()

{

intn=10,y=1;

while(n--){y++;y++;}

printf("y=%d\n",y);

}

 

5.#include<>

voidmain()

{

intf,f1,f2,i;

f1=f2=1;

printf("%d%d",f1,f2);

for(i=3;i<=10;i++){

f=f1+f2;

printf("%d",f);

if(i%5==0)printf("\n");

f1=f2;

f2=f;

}

printf("\n");

}

 

6.#include<>

#include<>

voidmain()

{

inti,n;

for(n=2;n<=20;n++){

inttemp=(int)sqrt(n);#include<>

#include<>

constintM=20;

voidmain()

{

inti,c2,c3,c5;

c2=c3=c5=0;

for(i=1;i<=M;i++){

if(i%2==0)c2++;

if(i%3==0)c3++;

if(i%5==0)c5++;

}

printf("%d%d%d\n",c2,c3,c5);

}

 

8.#include<>

#include<>

constintM=20;

voidmain()

{

inti,s;

for(i=1,s=0;i<15;i++){

if(i%2==0||i%3==0)continue;

printf("%d",i);

s+=i;

}

printf("%d\n",s);

}

 

参考答案:

1、答案:

1114switchend.

2、答案:

s=91.

3、答案:

2520.

4、答案:

y=21.

5、答案:

11235

813213455

6、答案:

235711131719

7、答案:

1064

8、答案:

157111337

 

第二次作业

一、根据下列每个题目要求编写程序

1.编写一个函数,函数头格式为“voidfun4(char*a,intb[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。

 

2.编写一个函数,函数头格式为“doubleMean(doublea[M][N],intm,intn)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程是采用变量v存放平均值。

 

3.编写一个递归函数“intFF(inta[],intn)”,求出数组a中所有元素n个元素之积并返回。

 

4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+1/n>5的最小n值。

 

5.编写一个主函数,求满足不等式22+42+……+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使用do循环编程。

 

6.编写一个主函数,计算并输出n!

的值,其中n值由键盘输入。

 

 

参考答案:

1、答案:

#include<>

voidfun4(char*a,intb[]){

do{

if(*a>='0'&&*a<='9')b[*a-48]++;

}while(*a++);

}

/*voidmain()

{

char*a="88";

intb[10]={0};

fun4(a,b);

for(inti=0;i<10;i++)

printf("%d",b[i]);

}*/

2、答案:

#include<>

constintM=2,N=3;

doubleMean(doublea[M][N],intm,intn){

doublev=0;

for(inti=0;i

for(intj=0;j

v+=a[i][j];

returnv/(m*n);

}

/*voidmain()

{

doublea[2][3]={1,2,3,4,5,6};

printf("%lf\n",Mean(a,2,3));

}*/

3、答案:

#include<>

intFF(inta[],intn){

intmul=1;

if(n==1)mul*=a[0];

elsemul=a[n-1]*FF(a,n-1);

returnmul;

}

/*voidmain()

{

inta[6]={1,2,3,4,5,6};

printf("%d\n",FF(a,6));

}*/

4、答案:

#include<>

voidmain()

{

doublesum=0;

intn=1;

while(true)

{

if(sum+1/(double)n>5)break;

else

sum+=1/(double)n;

n++;

}

printf("%d,%lf\n",n,sum);

}

5、答案:

#include<>

voidmain()

{

ints=0,i=2;

do

{

s+=i*i;

if(s+(i+2)*(i+2)>=1000)break;

elsei+=2;

}while(true);

printf("i=%d,s=%d",i,s);

}

6、答案:

#include<>

voidmain()

{

ints=0,n;

printf("请输入n的值:

");

scanf("%d",&n);

for(inti=1;i<=n;i++)

s=s*i;

printf("n=%d,s=%d",n,s);

}

 

第三次作业

一、写出下列每个程序运行后的输出结果

1.程序代码:

#include<>

voidSB(charch){

switch(ch){

case'A':

case'a':

printf("WW");break;

case'B':

case'b':

printf("GG");break;

case'C':

case'c':

printf("PP");break;

default:

printf("BB");break;

}

}

voidmain(){

chara1='b',a2='C',a3='f';

SB(a1);SB(a2);SB(a3);SB('A');

printf("\n");

}

2.程序代码:

#include<>

#include<>

doubleSD(inta,intb,charop){

doublex;

switch(op){

case'+':

x=a+b;break;

case'-':

x=a-b;break;

case'*':

x=a*b;break;

case'/':

if(b)x=(double)a/b;elseexit

(1);break;

default:

{printf("运算符错!

\n");exit

(1);}

}

returnx;

}

voidmain(){

intx=20,y=8;

printf("%",SD(x,y,'-'));

printf("%",SD(x,y,'*'));

printf("%\n",SD(x+y,y,'/'));

}

 

3.程序代码:

#include<>

voidWF(intx,inty){

x=x+y;

y=x+y;

printf("subs:

x,y=%d,%d\n",x,y);

}

voidmain(){

intx=18,y=23;

printf("main:

x,y=%d,%d\n",x,y);

WF(x,y);

x=2*x;

printf("main:

x,y=%d,%d\n",x,y);

}

 

4.程序代码:

#include<>

#include<>

voidfun(charss[]);

voidmain(){

chars[15]="4";

fun(s);

printf("%s\n",s);

}

voidfun(charss[]){

inti,n=strlen(ss);

for(i=0;i

charc=ss[i];

ss[i]=ss[n-1-i];

ss[n-1-i]=c;

}

}

 

5.程序代码:

#include<>

voidInsertSort(inta[],intn)

{

inti,j,x;

for(i=1;i

}

 

1.程序代码:

structStrNode{

charname[15];//字符串域

structStrNode*next;//指针域

};

structStrNode*QB(intn){

structStrNode*f,*p;

if(n==0)returnNULL;

f=malloc(sizeof(structStrNode));

scanf("%s",f->name);

p=f;

while(--n){

p=p->next=malloc(sizeof(structStrNode));

scanf("%s",p->name);

}

p->next=NULL;

returnf;

}

 

2.程序代码:

structIntNode{

intdata;//结点值域

structIntNode*next;//结点指针域

};

structIntNode*FindMax(structIntNode*f)

{

structIntNode*p=f;

if(!

f)returnNULL;

f=f->next;

while(f){

if(f->datadata)p=f;

f=f->next;

}

returnp;

}

 

3.*程序代码:

structIntNode{

intdata;//结点值域

structIntNode*next;//结点指针域

};

intCount(structIntNode*f)

{

intc=0;

while(f){

c++;

f=f->next;

}

returnc;

}

 

4.程序代码:

structIntNode{

intdata;//结点值域

structIntNode*next;//结点指针域

};

structIntNode*Input(intn)

{

structIntNode*f,*p;

f=malloc(sizeof(structIntNode));

if(n==0)returnNULL;

f->next=NULL;

printf("从键盘输入%d个整数:

",n);

while(n--){

scanf("%d",&(f->data));

p=f;

f=malloc(sizeof(structIntNode));

f->next=p;

}

returnf->next;

}

 

5.程序代码:

#include<>

#include<>

#include<>

voidJA(char*fname)

{

FILE*fout=fopen(fname,"w");

chara[20];

printf("输入若干个字符串,每个字符串长度小于20,字符串end作为结束标志\n");

while

(1){

scanf("%s",a);

if(strcmp(a,"end")==0)break;

fputs(a,fout);

fputc('\n',fout);

}

fclose(fout);

}

voidmain()

{

char*p="d:

\\xxk\\";

JA(p);

}

 

参考答案:

一、1、答案:

运行结果:

wanghua52

wanghua53

2、答案:

运行结果:

liouting39

3、答案:

运行结果:

def58

二、1、答案:

从标准输入设备读入n-1个人员的信息,依次存到结构数组的a[1]到a[n-1]元素中

2、答案:

创建具有n个structStrNode结点的单向链表并返回其表头结点地址,n为0时返回NULL。

3、答案:

函数功能:

查找单向链表中结点值域最大的结点,并返回其地址。

如链表为空则返回NULL

4、答案:

函数功能:

统计并返回单向链表结点个数

5、答案:

函数功能:

从表尾结点开始,逆序创建具有n个structIntNode结点的单向链表并返回其表头结点地址,n为0时返回NULL

6、答案:

函数功能:

将输入的若干个字符串保存到文本文件d:

\xxk\中,每个字符串一行。

输入的单个字符串长度必须小于20,输入字符串end结束

 

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

当前位置:首页 > 总结汇报 > 学习总结

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

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