:题库为50套,主要找你的填空题第一道题的题干,然后后面的答案都是相对应,分别是填空,改错,编程(),注:1、请在纯英文输入法状态下答题2、当出现“==”是指连续输入两个等于号=。
第1套:1、程序填空题
给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写在文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
填空:(1)FILE* (2)fclose(fp) (3)fp
改错:(1)t=(STU *)calloc(sizeof(STU),m); (2)t[k]=b[j];
编程:int i,t,j=0,*p=a;
t=p[0];
for(i=0;i<=n;i++)
if(t==p[i]) ;
else
{ a[j]=t; t=p[i]; j++;}
if(i>=n) a[j]=t;
return j;
第2套:程序填空题
给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数:27638496函数返回值为26846。
填空:(1)1 (2)s (3)i*10
改错:
(1)int fun(int n,int xx[][M]) (2)printf(“%4d”,xx[i][j]);
编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);
最后在黑色对话框中输入45 12后按回车键
第3套:程序填空题
给定程序中,函数fun的功能是:找出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个。
填空:(1)999 (2)t/10 (3)x
改错:(1)void fun(long s,long *t) (2)while(s>0)
编程:(注意:此题在/*请按题目要求完成以下代码*/的下面填入答案)
if(a[i].s < a[j].s)
{tmp=a[i]; a[i]=a[j]; a[j]=tmp; }
第4套:程序填空题
给定程序中,函数fun的功能是:找出100至x(x<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。
填空:(1)0 (2)x (3)t++
改错:
(1)int i,s1; (2)t[i]=s[s1-1-i];
编程:
*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;
最后在黑色对话框中输入45 12后按回车键
第5套:程序填空题
给定程序中,函数fun的功能是计算下式 s=1/(2*2)+3/(4*4)+5/(6*6)+…+(2n-1)/(2n*2n)直到|(2n-1)/(2n*2n)|<=1e-3,函数的返回值2.985678。
填空:
(1)0 (2)i++ (3)2.0*i
改错:
(1)void fun(char *s,char *t) (2)t[2*d]=’\0’;
编程:int i,j=0;
for(i=1;i
表中结点的个数,存放在形参n所指的存储单元中。
填空:
(1)*n (2)next (3)head
改错:
(1)a=NULL; (2)if(*r==*p)
编程:
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
最后在黑色对话框中输入45 12后按回车键
第8套:程序填空题
给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出 x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000
填空:
(1)double (2)f1 (3)f2
改错:
(1)char *fun(char *s,char *t) (2)ss++; (3)tt++;
编程:int i;
for(i=0;i
=’0’ && *s<=’9’) s++;}
return n;
}
第17套:程序填空题
给定程序中,函数fun的功能是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,…… a[9]存放9出现的次数。
例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1。
填空:
(1)a[i] (2)m%10 (3)m/10
改错:
(1)b[i]=a[i][0]; (2)for(j=1;j<=N-1;j++)
(3) if(b[i] > a[i][j])
编程:double sum=0,max,min; int i;
max=min=a[0];
for(i=0;ia[i]) min=a[i];
}
sum=sum-max-min;
return (sum/(n-2));
最后在黑色对话框中输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4后按回车键(每个小数之间只有一个空格)
第18套:程序填空题
给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
填空:
(1)FILE* (2)fp (3)ch
改错:
(1)s[j++]=s[i]; (2)s[j]=’\0’;(双引号改成引号)
编程:(注意:这道题是在/*请填写相应语句完成其功能*/下面的大括号中填入答案)
for(j=0;j=0;j--)
b[i++]=s[j];
strcpy(s,b);
最后在黑色对话框中输入abcdefg后按回车键
第21套:程序填空题
给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号 姓名 和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。
填空:(1)STU (2)score[i] (3)&std
改错:((1)if(k>0)
(2)else if (k==0)
编程:int I,j;
for(i=0;i (3)fwrite
改错:(1)p=s; (顺序反了)
(2)while(*p++); (缺少分号)
编程:int I,j;
for(j=0;j=0&&[i]<=9) b[0]+=1;
else
if(a[i]>=10&&a[i]<=19)
b[1]+=1;
else if(a[i]>=20&&a[i]<=29)
b[2]+=1;
else if(a[i]>=30&&a[i]<=39)
b[3]+=1;
else if(a[i]>=40&&a[i]<=49)
b[4]+=1;
else if(a[i]>=50&&a[i]<=59)
b[5]+=1;
else if(a[i]>=60&&a[i]<=69)
b[6]+=1;
else if(a[i]>=70&&a[i]<=79)
b[8]+=1;
else if(a[i]>=90&&a[i]<=99)
b[9]+=1;
else
b[10]+=1;
第23套:程序填空题
甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。函数fun的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第0秒。
例如,若t1=7,t2=5,t3=6, t4=4,n=10,则总共可听到28次鞭炮声。
填空:(1) i (2) t++
(3)count
改错:(1)int fun (int a, int b, int c)
(2) else return 1;(注意:这题不仅缺少分号,中间的单词也错了,应该是return)
编程:int i,j=0;
double s=0.0;
for (i=3;i<=n;i++)
{ for (j=2;j<=i;j++)
if(i%j==0) break;
if(j==i) s=s+sqrt(i);
}
return s;
最后在黑色对话框中输入100按回车键
第24套:程序填空题
给定程序中,函数fun的功能是:计算出带有头结点的单向链表中个结点数据域中值之和作为函数值返回。
填空:
(1) data (2) next (3) head
改错:(1)while (*r)
(2) *a=*r;a++;r++;(缺少分号)
编程:int i,j=0;
for(i=0;idata
(3) p->next
改错: (1)int i,one=0,zero=0;
(2)switch(s[i]) (多了分号)
(3)case 0=:zero++;break;
编程:while(*s)
{ *a=*s;
s++;
a++;
}
*a=’/0’;
第27套:程序填空题
人员的记录由编号和出生年 月 日(加顿号)组成,N名人员的数据已在主函数中存入结构数组std中。函数fun的功能是:找出指定年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
填空:(1)std[i].year
(2) std[i] (3) n
改错: (1)IsPrime(int n) (去掉后面的分号) (2)if (!(n%i))
编程:int i, max=a[0].s,j=0;
for(i=0;imax)
{ j=I;
max=a[i].s;
}
*s=a[j];
第28套:程序填空:函数fun的功能是:输出a所指数组中的前n个个数据,要求每行输出5个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果
填空:(1)i%5==0 (2)\n (3)a[i]
改错: (1)return t;
(2)for (i=0;i=eps)
{pi+=s;
t=n/(2*n+1);
*s=t;
n++;
}
pi=pi*2;
return pi;
最后在黑色对话框中输入0.0005后按回车键
第31套:程序填空题
请补充fun函数,该函数的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。
填空:
(1)j=3 (2)i (3)j
改错:(1)sum=0;j=0;
(2)if(sum%4==2)
编程:int i;
double sum=0.0;
if(n>1&&n<=100){
for(i=1;i<=n;i++)
sum+=1.0(2*i-1)-1.0/(2*i);
}
return sum;
最后在黑色对话框中输入8后按回车键
第32套:程序填空题
人员的记录由编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号惟一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回 ,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
填空:(1)STU (2)std[i].num (3)std[i]
改错:
(1)r++;p++; (2)if(*r==’\0’)
编程:int i,j=0;
for(i=0;ia[i].s)
{j=0;b[j++]=a[i];min=a[i].s;}
else if(min==a[i].s)
b[j++]=a[i];}
return j;
第34套:程序填空题
给定程序中,函数fun的功能是:计算下式前n项的和
s=(1*3)/(2*2)- (3*5)/(4*4)+ (5*7)/(6*6)-…+(-1)( n-1) *(2n-1)(2n+1)/(2n*2n)
作为函数值返回。
例如:当形参n的值为10时,函数返回:-0.204491.
填空:
(1)1 (2)2*i (3)(-1)
改错:(1)k++; (2)if(m==k)
编程:int i;
*max=a[0];
*d=0;
for(i=0;ib[i])
编程:
int i,j;long int p;
i=strlen(s);
p=s[0]-48;
for(j=1;j (3)(2*i+1)
改错 :
(1)double fun(int n)
(2)s=s+(double)a/b;
编程:int i,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;i<2;i++)
if(max='a'&&s[i]<='z'&&(s[i+1]==''||s[i+1]=='\0'))
n++;
}
return n;
第40套:程序填空题
给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值保持递增有序。
填空:(1)x (2) p (3)s
改错:(1)long k=1; (2)num/=10;
编程题:int i;
float aver=0.0;
for(i=0;idata (3) t
改错:(1)void fun(char *a)
(2) printf (“%c”,*a);
编程:int i;
char *p=s, *q=t;
int n=0,m=0;
while(*p)
{ n++;
p++;}
While (*q)
{m++;
q++;
}
if(n>=m)
p=s;
else
p=t;
return p;
最后在黑色对话框中输入beijing后按回车键
再输入shanghai后按回车键
第43套:程序填空题
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
填空:(1)STYPE (2) FILE (3) fp
改错:(1) for( i=0; i<=s1;i++)
(2) t[2*s1]=’\0’或t[s1+s1]=’\0’
编程:
*c=(a/10) *1000+(b/10) *100+(a%10) *10+(b%10);
最后在黑色对话框中输入45 12后按回车键
第44套:程序填空题
给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数返回。
例如,输入一个整数:27638496,函数返回值为:64862.
填空:
(1)0 (2) 10*x (3) n/10
改错:(1)*t=0; (2)if(d%2!=0)
编程:char *p=p1;
while(*p2)
{*p++=*p2++;
*p=0;
}
最后在黑色对话框中输入:
FirstString—
SecondString后按回车键
第45套:程序填空题
函数fun的功能是:计算
F(x)=1+x-x2/2!+x3/3!-x4/4!+...+(-1)x-2xn-1/(n-1)!+(-1)x-2xn/n!
的前n项之和。若x=2.5,n=15时,函数值为:1.917914.
填空:(1)1 (2) -1 (3) t
改错:(1)for(i=0;i<=3;i++)
(2)if(k>=0&&k<=6)
编程:double s=1;
lng t=1;
int i;
for(i=1;i<=n;i++)
{t*=I;
s+=1./t;
}
Return s;
最后在黑色对话框中输入15后按回车键
第46套:程序填空题
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置为0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;以此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,11,13,17,19,23,……
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
填空:(1)a[i] (2) a[i] (3) 0
改错:(1)y=1; (2)d=a-i;
编程:int i;
double sum=0.0;
for (i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
return sum;
最后在黑色对话框中输入20后按回车键
第47套:程序填空题
程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。
填空:(1)tt
(2)tt.score[i] (3)std
改错:
(1)m=i;
(2)if(a[k]>a[m])m=k;
编程:unsigned t,s=0,sl=1,p=0;
t=w;
while(t>10)
{ if(t/10)
P=t%10;
s=s+p*s1;
s1=s1*10;
t=t/10;
}
return s;
最后在黑色对话框中输入5923后按回车键
第48套:程序填空题
给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除。剩下的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如:输入一个数:27638496,新的数:739.
填空:(1)10
(2)0 (3)x
改错:(1)if(n= =0)
(2); (缺分号)
编程:(注意:这道题是在/*在下代码仅供参考*/到return x;删除,填入下面答案)
long s=0,t;
int i=0,j,n=strlen(p),k,sl;
if(p[0]=‘-‘)
i++;
for(j=i;j<n-1;j++)
{ t=p[j]-‘0’;
sl=10;
for(k=j;k<n-1,k++)
t*=sl;
s+=t;}
if(p[0]=‘-’)
return — s;
else return s;
第49套:程序填空题
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。
填空:
(1)0或NULL (2)n (3)head,ch
改错:(1)for(i=0,t=0;p[i];i++)
(2)c[t]=’\0’;
编程: int i;
for (i=1;i<strlen(ss);i+=2)
{ if((ss[i]>=‘a’&&ss[i]<=‘z’))ss[i]-=32;
}
最后在黑色对话框中输入abc4EFg后按回车键
第50套:程序填空题
函数fun的功能是:计算
f(x)=1+x-x2/2!+x3/3!-x4/4!+ … +(-1)x -2xn-1/(n-1)!+(-1)x-2xn/n!直到|xn/n!|<10-6。若x=2.5,函数值为:1.917915。
填空:(1)x (2)n (3)fabs(t)
改错:
(1)for(i=1;i<=y;i++) (2)t=t%1000;最后在黑色对话框中输入5 6后按回车键
编程:int n=1;
double sn=1;
double xn=1;
while(fabs(xn)>le-6)
{ xn=xn*x*(0.5-n+1)/n;
n+=1;
sn+=xn;
}
return (sn);
最后在黑色对话框中输入0.210000后按回车键