时间:2017-1-3来源:本站原创作者:佚名

小编有话说

第三轮试题来啦!

1、下面程序段的运行结果是________。//8

inti=1,s=3;

do{

s+=i++;

if(s%7==0)continu;

ls++i;

}whil(s15);

printf(%d,i);

2、若用0至9之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。请填空。

#includstdio.h

voidmain()

{

inti,j,k,count=0

for(i=1;i=9;i++)

for(j=0;j=9;j++)

if(________)continu;//i==j

lsfor(k=0;k=9;k++)

if(________)count++;//k!=ik!=j

printf(%d,count);

}

3、下面程序的功能是计算至0之间有多少个数其各位数字之和是5。请填空。

#includstdio.h

voidmain()

{

inti,s,k,count=0;

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

{

s=0;k=i;

whil(________){s=s+k%10;k=________;}//kk/10

if(s!=5)________;//continu

lscount++;

}

printf(%d,count);

}

4、下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notxist”。请填空。

#includstdio.h

voidmain()

{

inti,a;

for(i=1;i=10;i++)

{

scanf(%d,a);

if(a%7==0){printf(%d,a);________;}//brak

}

if(________)printf(notxist\n);//i==11

}

5、下面程序的功能是打印以内个位数为6且能被3整除的所有数。请填空。

#includstdio.h

voidmain()

{

inti,j;

for(i=0;________;i++)//i10

{

j=i*10+6;

if(________)continu;//j%3!=0

printf(%d,j);

}

}

6、下面程序的运行结果是________。//

#includstdio.h

voidmain()

{

inti=1;

whil(i=15)

if(++i%3!=2)continu;

lsprintf(%d,i);

printf(\n);

}

7、下面程序的输出结果是________。//i=6,k=4

#includstdio.h

voidmain()

{

inti,j,k=19;

whil(i=k-1)

{

k-=3;

if(k%5==0){i++;continu;}

lsif(k5)brak;

i++;

}

printf(i=%d,k=%d\n,i,k);

}

8、下面程序的运行结果是________。//a=16y=60

#includstdio.h

voidmain()

{

inta,y;

a=10;y=0;

do{

a+=2;y+=a;

if(y50)brak;

}whil(a=14);

printf(a=%dy=%d\n,a,y);

}

9、下面程序的运行结果是________。//31-1

#includstdio.h

voidmain()

{

inti=5;

do{

switch(i%2)

{

cas4:i--;brak;

cas6:i--;continu;

}

i--;i--;

printf(%d,i);

}whil(i0);

}

1.

下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。

y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m)

例如:m中的值为5,则应输出0.。请改正程序中的错误,使它能得到正确结果。

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

#includconio.h

#includstdio.h

doublfun(intm)

{

doubly=1.0;

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

intj=1;

inti;

for(i=2;i=m;i++)

{

j=-1*j;

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

y+=1/(i*i);}

rturn(y);}

main(){

intn=5;clrscr();

printf(\nThrsultis%lf\n,fun(n));}

(1)错误:intj=1;正确:doublj=1.0;

(2)错误:y+=1/(i*i);正确:y+=j/(i*i);

2.改错题

下列给定程序中,函数fun的功能是按以下递归公式求函数值。

?

例如:当给n输入5时,函数值为;当给n输入3时,函数值为60。请改正程序中的错误,使它能得到正确结果。

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

#includstdio.h

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

fun(intn);

{

intc;

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

If(n=1)

c=15;

ls

c=fun(n-1)*2;

rturn(c);}

main(){

intn;

printf(Entrn:);

scanf(%d,n);

printf(Thrsult:%d\n\n,fun(n));}

.改错题

(1)错误:fun(intn);正确:fun(intn)

(2)错误:if(n=1)正确:if(n==1)

3.改错题

下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。例如:输入,则输出应该是38;若输入,则输出应该是77。请改正程序中的错误,使它能得到正确结果。

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

#includstdio.h

#includconio.h

longfun(longnum){

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

longk=1;

do

{

k+=(num%10)*(num%10);

num/=10;

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

}whil(num)

rturn(k);

}

main()

{

longn;

clrscr();

printf(\Plasntranumbr:);

scanf(%ld,n);

printf(\n%ld\n,fun(n));}

改错题

(1)错误:longk=1;正确:longk=0;

(2)错误:whil(num)正确:whil(num);

4.改错题

下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。

例如:字符串中的数据为ADFESHDI,则输出应当是AFESDI。请改正程序中的错误,使它能得到正确结果。

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

#includconio.h

#includstdio.h

#includstring.h

#dfinN80

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

voidfun(chars,chart[])

{

inti,j=0;

for(i=0;istrln(s);i++)

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

if(i%2=0

s[i]%2!=0)

t[j++]=s[i]

t[j]=\0;

}

main(){

chars[N],t[N];

clrscr();

printf(\nPlasntrstrings:);

gts(s);

fun(s,t);

printf(\nThrsultis:%s\n,t);

}

改错题

(1)错误:voidfun(chars,chart[])正确:voidfun(char*s,chart[])

(2)错误:if(i%2=0

s[i]%2!=0)正确:if(i%2==0

s[i]%2!=0)

5.改错题

下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。

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

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

#includconio.h

#includstdio.h

#dfinN20

voidfun(int*a,intn)

{

inti,m,t,k;

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

for(i=0;in;i++)

{

m=i;

for(k=i;kn;k++)

if(a[k]a[m])

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

k=m;t=a[i];a[i]=a[m];a[m]=t;}}

main()

{

intx,b[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;

clrscr();

for(i=0;in;i++)

printf(%d,b[i]);

printf(\n);

fun(b,n);

for(i=0;in;i++)

printf(%d,b[i]);printf(\n);}

.改错题

(1)错误:for(i=0;in;i++)正确:for(i=0;i2;i++)

(2)错误:k=m;正确:m=k;









































白癜风初期症状
北京白癜风哪个医院治得好

转载请注明原文网址:http://www.gzdatangtv.com/cksc/5463.html
------分隔线----------------------------