if(m%i==0)k=0;
returnk;
程序填空
==================================================
题号:
6527
/*------------------------------------------------------
【程序增空】
--------------------------------------------------------
功能:
根据以下函数关系,对输入的每个x值,计算出相应的y值。
x|y
----------|-------------
x<0|0
----------|-------------
0≤x<10|x
----------|-------------
10≤x<20|10
----------|-------------
20≤x<40|-0.5x+20
------------------------
---------------------------------------------------------
请在程序的下划线处填入正确的内容,并把下划线删除,使程序
得出正确的结果。
注意:
不得增行或删行,也不得更改程序的结构!
---------------------------------------------------------*/
#include
voidmain()
{
intx,c;
floaty;
scanf("%d",&x);
/***********FILL***********/
if(_____)c=-1;
/***********FILL***********/
elsec=_____;
switch(c)
{
case-1:
y=0;break;
case0:
y=x;break;
case1:
y=10;break;
case2:
/***********FILL***********/
case3:
y=-0.5*x+20;_____;
default:
y=-2;
}
/***********FILL***********/
if(_____)printf("y=%f",y);
elseprintf("error\n");
}
答案:
位置1:
x<0
位置2:
x/10
位置3:
break
位置4:
x<40【或】y!
=-2【或】c<=3【或】x<40||y!
=-2||c<=3
题号:
7248
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
输入三个实型数,输出其中的最小数。
要求定义和调用函数min,找出并返回最小数。
-------------------------------------------------------*/
#include"stdio.h"
/***********FILL***********/
doublemin(doublex,doubley,_____);
main()
{
doublea,b,c;
printf("Entera,b,c:
");
scanf("%lf,%lf,%lf",&a,&b,&c);
printf("最小者=%.2f\n",min(a,b,c));
}
/***********FILL***********/
double_____(doublex,doubley,doublez)
{
doublemin;
/***********FILL***********/
if(_____)min=x;
elsemin=y;
if(min>z)min=z;
/***********FILL***********/
_____;
}
答案:
位置1:
doublez
位置2:
min
位置3:
xx
位置4:
returnmin【或】return(min)【或】return(min)
程序改错
==================================================
题号:
6399
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
任意输入一个字符,如果是小写字母以大写字母输出,
是大写字母以小写字母输出;否则,按原样输出。
程序中共有4条错误语句,请改正错误。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
main()
{
charch;
printf("Enterch:
");
/**********ERROR**********/
ch=getchar(r);
/**********ERROR**********/
if(ch>=a&&ch<=z)
putchar(ch-32);
/**********ERROR**********/
elseif(ch>=A&&ch<=Z)
putchar(ch+32);
/**********ERROR**********/
elseputchar();
}
答案:
位置1:
ch=getchar();
位置2:
if(ch>=97&&ch<=122)【或】if(ch>='a'&&ch<='z')
位置3:
elseif(ch>='A'&&ch<='Z')【或】elseif(ch>=65&&ch<=90)
位置4:
elseputchar(ch);
题号:
7286
/*------------------------------------------------------
【程序改错】:
只允许修改错误代码,其他代码不允许修改!
--------------------------------------------------------
功能:
一个整数,它加上100后是一个完全平方数,再加上168又
是一个完全平方数,请问该数是多少?
------------------------------------------------------*/
#include
#include"stdio.h"
voidmain()
{
longinti,x,y,z;
/**********ERROR**********/
for(i==1;i<100000;i++)
{
/**********ERROR**********/
x=sqrt(i+100)
y=sqrt(i+268);
/**********ERROR**********/
if(x*x==i+100||y*y==i+268)
printf("\n%ld\n",i);
}
}
答案:
位置1:
for(i=1;i<100000;i++)
位置2:
x=sqrt(i+100);
位置3:
if(x*x==i+100&&y*y==i+268)
题号:
6982
/*------------------------------------------------------
【程序改错】:
只允许修改错误代码,其他代码不允许修改!
--------------------------------------------------------
功能:
输出Fabonacci数列的前20项,要求变量类型定义成浮点型,
输出时只输出整数部分,输出项数不得多于或少于20。
------------------------------------------------------*/
#include"stdio.h"
voidfun()
{
inti;
floatf1=1,f2=1,f3;
/**********ERROR**********/
printf("%8d",f1);
/**********ERROR**********/
i=1;
while(i<=20)
{
f3=f1+f2;
/**********ERROR**********/
f2=f1;
/**********ERROR**********/
f3=f2;
i++;
printf("%8.0f",f1);
}
printf("\n");
}
voidmain()
{
fun();
}
答案:
位置1:
printf("%8.0f",f1);【或】printf("%f",f1);【或】printf("%8f",f1);
位置2:
i=2;
位置3:
f1=f2;
位置4:
f2=f3;
题号:
5029
/*---------------------
【程序改错】
--------------------------------------------------------
有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素
即第一个数对换位置.
---------------------------------------------------*/
#include"stdio.h"
main()
{
inti,a[10],min,k=0;
printf("\npleaseinputarray10elements\n");
for(i=0;i<10;i++)
/***********ERROR***********/
scanf("%d",a[i]);
min=a[0];
/***********ERROR***********/
for(i=2;i<10;i++)
/***********ERROR***********/
if(a[i]>min)
{min=a[i];
k=i;
}
a[k]=a[0];
a[0]=min;
printf("\naftereschange:
\n");
for(i=0;i<10;i++)printf("%3d",a[i]);
printf("\nk=%d\nmin=%d\n",k,min);
}
答案:
位置1:
scanf("%d",&a[i]);【或】scanf("%d",a+i);
位置2:
for(i=1;i<10;i++)【或】for(i=0;i<10;i++)【或】for(i=1;i<=9;i++)【或】for(i=0;i<=9;i++)
位置3:
if(a[i]a[i])
题号:
7895
/*------------------------------------------------------
【程序改错】:
只允许修改错误代码,其他代码不允许修改!
--------------------------------------------------------
功能:
根据整型形参m,计算某一数据项的值。
y=1/(100*100)+1/(200*200)+1/(300*300)+……+1/(m*m)
例如:
若m=2000,则应输出:
0.000160。
------------------------------------------------------*/
#include
#include
/**********ERROR**********/
fun(intm)
{
doubley=0,d;
inti;
/**********ERROR**********/
for(i=100,i<=m,i+=100)
{
d=(double)i*(double)i;
/**********ERROR**********/
y+=1.0\d;
}
return(y);
}
voidmain()
{
intn=2000;
printf("\nTheresultis%lf\n",fun(n));
}
答案:
位置1:
doublefun(intm)
位置2:
for(i=100;i<=m;i+=100)
位置3:
y+=1.0/d;【或】y=y+1.0/d;