填空题以下程序的运行结果是: 【14】 。 #include <stdio.h> #include <string.h> char *ss(char *s) return s+strlen(s)/2; main() char *p,*str="abcdefgh"; p=ss(str);printf("%s/n",p);
填空题以下函数用来求出2个整数之和,并通过形参将结果传回。 void func(int x, int y, 【6】 z) *z=x+y;
填空题阅读下面程序,则程序的执行结果为______。
#include"stdio.h"
main()
{int a=10;
fun(a);
printf("%d/n",a);}
fun(int x)
{x=50;}
填空题以下程序运行时,若从键盘输入:10 20 30<回车>。输出结果是______。
#include <stdio.h>
main()
{ int i=0,j=0,k=0;
acanf("%d%*d%d",printf("%d%d%d/n",I,j,k);
填空题下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入-100,n输入90,则函数求得的一个根为2.000。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<math.h> double funx(double x) return(2*x*x*x-4*x*x+3*x-6); double fun(double m,double n) /***********found**********/ int r; r=-(m+n)/2; /************found***********/ while(fabs(n-m)<0.001) if(funx(r)*funx(n)<0)m=r; else n=r; r=(m+n)/2; return r; main() double m,n,root; printf("Enter m n:/n"); scanf("%lf%lf",&m,&n); root=fun(m,n); printf("root=%6.3f/n",root);
填空题函数main()的功能是:在带头节点的单链表中查找数据域中值最小的节点。请填空。
#include<stdio.h>
struct node
{ int data;
struct node*next;
}
int main<struct node*first)/*指针first为链表头指针*/
{ struct node*p;int m;
P=first->next;m=P->data;p=p->next;
for(;P!=NULL;p=______)
if(p->data<m)m=p->data;
return m;
}
填空题下面程序把从终端读入的10个整数以二进制的方式写到一个名为bi.dat的新文件中。请填空。 #include<stdio.h> FILE * fp; main() int i,j; if((fp=fopen( 【19】 ,"wb"));=NULL)exit(0); for(i=0;i<10;i++) scanf("%d",&j); fwrite(&j,sizeof(int),1, 【20】 ); fclose(fp);
填空题若有以下程序
main()
{ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14} ,{-21,23,0,-24},{-31,32,-33,0}};
int i,j,s=0;
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{ if(a[i][j]<0) continue;
if(a[i][j]==0) break;
s+=a[i][j];
}
}
printf("%d/n",s);
}
执行后输出结果是{{U}}【10】{{/U}}。
填空题已知字母A的ASCII码为65。以下程序运行后的输出结果是 【11】 。 main() char a,b; a='A'+'5'-'3';b=a+'6'-'2'; printf("%d %c/n",a,B) ;
填空题以下程序运行后,当输入“14 63”时,输出结果是______。 #include<stdio.h> main() int m, n; scanf("%d %d", while(m!=n) while(m>n) m=m-n; while(m<n) n=n-m; printf("%d/n", m);
填空题fseek函数的正确调用形式是 【14】 。
填空题在长度为n的线性表中,寻找最大项至少需要比较______次。
填空题下列给定程序中,函数fun()的功能是:从n个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:
85 65.5 69 95.5 87 55 62.5 75
则高于平均分的学生人数为4(平均分为74.312500)。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
#define N 20
int fun(float *s,int n,float *aver)
{
/*************found*************/
int ave,t=0;
int count=0,k,i;
for(k=0;k<n;k++)
t+=s[k];
ave=t/n;
for(i=0;i<n;i++)
/*************found***************/
if(s[i]<ave)
count++;
/*************found*************/
aver=ave;
return count;
}
main()
{
float s[30],aver;
int m,i;
clrscr();
printf("/nPlease enter m:");
scanf("%d",&m);
printf("/nPlease enter%d mark:/n",m);
for(i=0;i<m;i++)
scanf("%f",s+i);
printf("/nThe number of students:%d/n",
fun(s,m,&aver));
printf("Ave=%f/n",aver);
}
填空题下面程序的运行结果是 【10】 。 #define DOUBLE(x,y) x/y main() int x=4,y=2,t; t=DOUBLE(x+y,x-y); printf("%d",t);
填空题请补充函数fun(),该函数的功能是:把数给aa中元素下标为奇数的元素按从大到小的顺序重新保存在原数组中,其它元素位置不变。 例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“33,76,42,67,25,58,85,56,41,16”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #define N 10 void fun(int aa[]) int i, j, t; for ( 【1】 ; i<N; i=i+2) for(j=i; j<N; j=j+2) if (aa [i]<aa[j]) 【2】 ; aa [j]=aa[i]; 【3】 ; main() int i; int aa[N]=33, 67, 42, 58, 25, 76, 85, 16, 41, 56; clrscr(); printf("/n*** original list ***/n"); for (i=0;i<N; i++) printf ("%4d",aa[i]); fun (aa); printf("/n*** new list ***/n"); for (i=0; i<N; i++) printf ("%4d",aa [i] );
填空题给定程序中,函数fun的功能是计算下式直到,并把计算结果作为函数值返回。例如,若形参e的值为1e-3,函数的返回值为2.985678。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include<stdio.h>doublefun(doublee){inti;doubles,x;/**********found**********/s=0;i=____________;x=1.0;while(x>e){/**********found**********/____________;/**********found**********/x=(2.0*i-1)/((____________)*(2.0*i));s=s+x;}returns;}main(){doublee=le-3;printf("/nTheresultis:%f/n",fun(e));}
填空题定义fp为文件型指针变量的定义方法为_______________________。
填空题有以下程序,其功能是:以二进制“写”方式打开文件d1.dat,写入1~100这100个整数后关闭文件。再以二进制“读”方式打开文件d1.dat,将这100个整数读入到另一个数组b中,并打印输出。请填空。
#include <stdio.h>
main()
{ FILE *fp;
int i,a[100],b[100];
fp=fopen("d1.dat","wb");
for(i=0;i<100;i++) a[i]=i+1;
fwrite(a,sizeof(int),100,fp);
fclose(fp);
fp=fopen("d1.dat", {{U}}【20】 {{/U}});
fread(b,sizeof(int ),100,fp);
fclose(fp);
for(i=0;i<100;i++) printf("%d/n",b[i]);
}
填空题若x和a均是int型变量,则计算x=(a=4,6*2)后的x值为______。
填空题当运行以下程序时,输入abcd,程序的输出结果是:{{U}} [9] {{/U}}。
insert(char str[])
{ int i;
i=strlen(str);
while(i>0)
{ str[2*i]=str[i]; str[2*i-1]:'*'; i-;}
printf("%s/n",str);
}
main()
{ char str[40];
scanf("%s/n",str); insert(str);
}
