实验二教案Word文档格式.docx

上传人:b****2 文档编号:3229672 上传时间:2023-05-01 格式:DOCX 页数:22 大小:22.02KB
下载 相关 举报
实验二教案Word文档格式.docx_第1页
第1页 / 共22页
实验二教案Word文档格式.docx_第2页
第2页 / 共22页
实验二教案Word文档格式.docx_第3页
第3页 / 共22页
实验二教案Word文档格式.docx_第4页
第4页 / 共22页
实验二教案Word文档格式.docx_第5页
第5页 / 共22页
实验二教案Word文档格式.docx_第6页
第6页 / 共22页
实验二教案Word文档格式.docx_第7页
第7页 / 共22页
实验二教案Word文档格式.docx_第8页
第8页 / 共22页
实验二教案Word文档格式.docx_第9页
第9页 / 共22页
实验二教案Word文档格式.docx_第10页
第10页 / 共22页
实验二教案Word文档格式.docx_第11页
第11页 / 共22页
实验二教案Word文档格式.docx_第12页
第12页 / 共22页
实验二教案Word文档格式.docx_第13页
第13页 / 共22页
实验二教案Word文档格式.docx_第14页
第14页 / 共22页
实验二教案Word文档格式.docx_第15页
第15页 / 共22页
实验二教案Word文档格式.docx_第16页
第16页 / 共22页
实验二教案Word文档格式.docx_第17页
第17页 / 共22页
实验二教案Word文档格式.docx_第18页
第18页 / 共22页
实验二教案Word文档格式.docx_第19页
第19页 / 共22页
实验二教案Word文档格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验二教案Word文档格式.docx

《实验二教案Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验二教案Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

实验二教案Word文档格式.docx

i=1;

while(*n)

{t=*n%【1】;

if(t%2!

=【2】

{x=x+t*i;

i=i*10;

}

n=*n/10;

*n=【3】;

}

main()

{unsignedlongn=-1;

while(n>

99999999||n<

0)

{printf("

Pleaseinput(0<

n<

100000000):

"

);

scanf("

%ld"

&

n);

fun(&

printf("

\nTheresultis:

%ld\n"

n);

2、程序改错题

下列给定程序中,函数fun的功能是:

找出100到n(不大于1000)之间三个位上的数字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

请改正函数fun中的错误,使它能得出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构。

#defineN100

intfun(int*s,intn)

{intI,j,k,a,b,c;

j=0;

for(I=100;

I<

n;

I++)

{

/*************found**************/

k=n;

a=k%10;

k/=10;

b=k/10;

c=k/10;

if(a==b&

&

a==c)

s[j++]=I;

}

returnj;

}

voidmain()

{inta[N],n,num=0,i;

do

\nEntern(<

=1000):

"

%d"

}while(n>

1000);

num=fun(a,n);

\n\nTheresult:

\n"

for(i=0;

i<

num;

i++)

printf("

%5d"

a[i]);

\n\n"

3、程序设计题

请编写函数fun,函数的功能是:

将大于形参m且紧靠m的k个素数存入xx所指的数组中。

例如,若输入17,5,则应输出:

19,23,29,31,37。

函数fun中给出的语句仅供参考。

注意:

部分源程序在文件PROG1.C文件中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

voidfun(intm,intk,intxx[])

{}

{intm,n,zz[1000];

printf("

\nPleaseentertwointegers:

);

scanf("

%d%d"

&

m,&

n);

fun(m,n,zz);

for(m=0;

m<

n;

m++)

%d"

zz[m]);

第二套

将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。

例如,从主函数输入一个整数:

27638496,函数返回值为:

26846。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

不得增行或删行,也不得更改程序的结构!

unsignedlongfun(unsignedlongn)

{unsignedlongx=0,s,i;

s=n;

/**********found**********/

i=【1】;

while(【2】)

{t=s%10;

if(t%2==0)

i=【3】;

}

s=s/10;

returnx;

{printf("

fun(n));

给定程序MODI1.C中函数fun的功能是:

计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;

并计算该值的个位、十位、百位上数字之和作为函数值返回。

例如,7的5次方是16807,其低3位数的和值是15。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

math.h>

intfun(intn,int*value)

{intd,s,i;

/**************found**************/

d=0;

s=0;

for(i=1;

=5;

i++)d=d*n;

*value=d;

=3;

{s=s+d%10;

d=d\10;

returns;

{intn,sum,v;

do

\nEntern(2<

8):

scanf("

while(n<

=2||n>

=8);

sum=fun(n,&

v);

\n\nTheresult:

\nvalue=%dsum=%d\n\n"

v,sum);

函数fun的功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12时,调用该函数后,c=1524。

部分源程序存在文件PROG1.C中。

数据文件IN.DAT中的数据不得修改。

voidfun(inta,intb,long*c)

{}

{inta,b;

longc;

Inputa,b:

%d,%d"

a,&

b);

fun(a,b,&

c);

Theresultis:

c);

三、课后练习

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。

例如,输入一个整数:

64862。

{unsignedlongx=0;

while(n)

{t=n%10;

if(t%2==【1】)

x=【2】+t;

n=【3】;

2、程序填空题

找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;

符合条件的整数个数作为函数值返回。

例如,当x值为5时,100~999之间各位上数字之和为5的整数有:

104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。

共有15个。

当x值为27时,各位数字之和为27的整数是:

999。

只有1个。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

fun(intx)

{intn,s1,s2,s3,t;

n=0;

t=100;

while(t<

=【1】)

{s1=t%10;

s2=(【2】)%10;

s3=t/100;

if(s1+s2+s3==【3】)

{printf("

t);

n++;

t++;

returnn;

{intx=-1;

while(x<

Pleaseinput(x>

0):

x);

%d\n"

fun(x));

3、程序填空题

统计所有小于等于n(n>

2)的素数的个数,素数的个数作为函数值返回。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

intfun(intn)

{inti,j,count=0;

\nTheprimenumberbetween3to%d\n"

n);

for(i=3;

=n;

/**********found**********/

{for(【1】;

j<

i;

j++)

if(【2】%j==0)

break;

if(【3】>

=i)

{count++;

printf(count%15?

:

\n%5d"

i);

returncount;

{intn=20,r;

r=fun(n);

\nThenumberofprimeis:

r);

4、程序填空题

统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。

例如:

当n=123114350时,结果应该为:

c1=3c2=1c3=2。

intc1,c2,c3;

voidfun(longn)

{c1=c2=c3=0;

while(n)

{switch(【1】)

{case1:

c1++;

【2】;

case2:

c2++;

【3】;

case3:

c3++;

n/=10;

{longn=123114350L;

fun(n);

\nTheresult:

n=%ldc1=%dc2=%dc3=%d\n"

n,c1,c2,c3);

5、程序改错题

给定程序MODI1.C中函数fun的功能是:

从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为:

7654321时,t中的数为:

642。

请改正程序中的错误,使它能得出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

给定源程序:

/************found************/

voidfun(longs,longt)

{longsl=10;

s/=10;

*t=s%10;

/************found************/

while(s<

0)

{s=s/100;

*t=s%10*sl+*t;

sl=sl*10;

{longs,t;

\nPleaseenters:

s);

fun(s,&

t);

t);

6、程序改错题

给定程序MODI1.C中函数fun的功能是:

判断一个整数是否是素数,若是返回1,否则返回0。

在main()函数中,若fun返回1输出YES,若fun返回0输出NO!

不要改动main函数。

intfun(intm)

{intk=2;

while(k<

=m&

(m%k))

k++

if(m=k)

return1;

elsereturn0;

main()

{intn;

\nPleaseentern:

);

scanf("

n);

if(fun(n))printf("

YES\n"

elseprintf("

NO!

7、程序改错题

下列给定程序中函数fun的功能是:

计算n!

例如,给n输入5,则输出120.000000。

请改正程序中的错误,使程序能输出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构。

#include<

conio.h>

doublefun(intn)

{doubleresult=1.0;

/*************found**************/

ifn==0

return1.0;

1&

170)

result=n--;

returnresult;

voidmain()

{

intn;

InputN:

\n\n%d!

=%lf\n"

n,fun(n));

8、程序改错题

给定程序MODI1.C的功能是:

读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。

例如,若输入整数:

2310,则应输出:

2、3、5、7、11。

请改正程序中的语法错误,使程序能得出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

IsPrime(intn);

{inti,m;

m=1;

for(i=2;

i<

n;

i++)

if!

(n%i)

{m=0;

break;

return(m);

{intj,k;

Pleaseenteranintegernumberbetween2and10000:

k);

\n\nTheprimefactor(s)of%dis(are):

k);

for(j=2;

j<

=k;

j++)

if((!

(k%j))&

(IsPrime(j)))

printf("

\n%4d"

j);

9、程序改错题

求整数x的y次方的低3位值。

例如,整数5的6次方为15625,此值的低3位值为625。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:

longfun(intx,inty,long*p)

{inti;

longt=1;

y;

t=t*x;

*p=t;

t=t/1000;

returnt;

{longt,r;

intx,y;

\nInputxandy:

%ld%ld"

x,&

y);

t=fun(x,y,&

r);

\n\nx=%d,y=%d,r=%ld,last=%ld\n\n"

x,y,r,t);

10、程序改错题

统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;

并把该整数中各位上最大的数字值作为函数值返回。

例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

intfun(unsignedn,int*zero)

{intcount=0,max=0,t;

/**************found**************/

if(t=0)count++;

if(max<

t)max=t;

n=n/10;

}while(n);

/**************fo

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

当前位置:首页 > 人文社科 > 法律资料

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

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