C语言题库.docx

上传人:b****6 文档编号:3018919 上传时间:2022-11-17 格式:DOCX 页数:77 大小:36.18KB
下载 相关 举报
C语言题库.docx_第1页
第1页 / 共77页
C语言题库.docx_第2页
第2页 / 共77页
C语言题库.docx_第3页
第3页 / 共77页
C语言题库.docx_第4页
第4页 / 共77页
C语言题库.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

C语言题库.docx

《C语言题库.docx》由会员分享,可在线阅读,更多相关《C语言题库.docx(77页珍藏版)》请在冰豆网上搜索。

C语言题库.docx

C语言题库

(一)程序改错

================================================

题号:

866

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

功能:

用下面的和式求圆周率的近似值。

直到最后一项的绝对值

小于等于0.0001。

π111

-=1--+---+...

4357

-----------------------------------------------*/

#include

/**********ERROR**********/

#include

fun()

{

inti=1;

/**********ERROR**********/

ints=0,t=1,p=1;

/**********ERROR**********/

while(fabs(t)<=1e-4)

{

s=s+t;

p=-p;

i=i+2;

t=p/i;

}

/**********ERROR**********/

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

}

main()

{

fun();

}

答案:

位置1:

#include"math.h"【或】#include

位置2:

floats=0,t=1,p=1;【或】floats=0,p=1,t=1;【或】floatp=1,s=0,t=1;【或】floatp=1,t=1,s=0;【或】floatt=1,p=1,s=0;【或】floatt=1,s=0,p=1;

位置3:

while(fabs(t)>1e-4)【或】while(0.00010.0001)

位置4:

printf("pi=%f\n",s*4);【或】printf("pi=%f\n",4*s);

题号:

13282

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

题目:

以下函数功能,完成字符串的复制。

-------------------------------------------------

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

-----------------------------------------------*/

#include"stdio.h"

#include"string.h"

voidf(char*p)

{

charstr[10],*p1;

strcpy(str,"string");

/**********ERROR**********/

p1=*str;

for(;*p++=*p1++;);

}

main()

{

/**********ERROR**********/

chara[20],p=a;

f(p);

puts(p);

}

答案:

位置1:

p1=str;

位置2:

chara[20],*p=a;

题号:

8026

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

功能:

将整型数组中所有小于0的元素放到所有大于0的元素的前

面(要求只能扫描数组一次)。

-----------------------------------------------*/

#include"stdio.h"

#defineMax100

voidfun(inta[],intn)

{

/**********ERROR**********/

inti=5;j=n-1,temp;

while(i

{

while(a[i]<0)

i++;

while(a[j]>=0)

/**********ERROR**********/

j++;

/**********ERROR**********/

if(i>j)

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

voidmain()

{

statica[]={1,-3,-1,3,2,4,-4,5,-5,-2},n=10,i;

fun(a,n);

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

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

}

答案:

位置1:

inti=0,j=n-1,temp;【或】inti=0;intj=n-1,temp;

位置2:

j--;

位置3:

if(i

题号:

4067

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

功能:

求1到20的阶乘的和。

-----------------------------------------------*/

#include"stdio.h"

voidfun()

{

intn,j;

floats=0.0,t=1.0;

for(n=1;n<=20;n++)

{

/**********ERROR**********/

s=1;

for(j=1;j<=n;j++)

/**********ERROR**********/

t=t*n;

/**********ERROR**********/

s+t=s;

}

/**********ERROR**********/

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

}

main()

{

fun();

}

答案:

位置1:

t=1;【或】t=1.0;?

位置2:

t=t*j;【或】t*=j;【或】t=j*t;

位置3:

s=s+t;【或】s+=t;【或】s=t+s;

位置4:

printf("jiecheng=%f\n",s);

题号:

185

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

功能:

编写一个程序计算某年某月有几天。

(注意要区分闰年)

---------------------------------------------*/

#include"stdio.h"

main()

{

intyy,mm,len;

printf("year,month=");

scanf("%d%d",&yy,&mm);

/**********ERROR**********/

switch(yy)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

len=31;

/**********ERROR**********/

break

case4:

case6:

case9:

case11:

len=30;

break;

case2:

if(yy%4==0&&yy%100!

=0||yy%400==0)

len=29;

else

len=28;

break;

/**********ERROR**********/

default

printf("inputerror!

\n");

break;

}

printf("Thelengthof%d%did%d\n",yy,mm,len);

}

答案:

位置1:

switch(mm)

位置2:

break;

位置3:

default:

题号:

13112

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

功能:

求出N×M整型数组的最小元素及其所在的行坐标及列坐标

(如果最小元素不唯一,选择位置在最前面的一个)。

例如:

输入的数组为:

923

4156

1219

10112

求出的最小数为1,行坐标为2,列坐标为1。

----------------------------------------------*/

#defineN4

#defineM3

#include"stdio.h"

intRow,Col;

main()

{

inta[N][M],i,j,min,row,col;

printf("inputaarray:

");

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

for(i=0;i

{

for(j=0;j

printf("%d",a[i][j]);

printf("\n");

}

min=fun(a);

printf("max=%d,row=%d,col=%d",min,Row,Col);

}

intfun(intarray[N][M])

{

intmin,i,j;

min=array[0][0];

Row=0;

Col=0;

for(i=0;i

{

/**********ERROR**********/

for(j=i;j

/**********ERROR**********/

if(min

{

min=array[i][j];

Row=i;

/**********ERROR**********/

Col=i;

}

}

return(min);

}

答案:

位置1:

for(j=0;j

位置2:

if(min>array[i][j])

位置3:

Col=j;

题号:

13258

/*-----------------------------------------------

【程序改错】

-------------------------------------------------

题目:

-------------------------------------------------

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

--------------

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

当前位置:首页 > 法律文书 > 调解书

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

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