putchar(*(p+i)); free(p);
}
4-1-44、下列程序的运行结果是_____________________________【2015年】 main()
{ FILE *fp;
int x[6]={0,1,2,3,4,5},i; fp=fopen(\fwrite(x,sizeof(int),3,fp); rewind(fp);
fread(x,sizeof(int),3,fp); for(i=0;i<6;i++)
printf(\fclose(fp); }
4-1-45、下列程序的运行结果是_____________________________【2016年】 #include
void f(char *from,char *to)
{ while((*to++=*from++)!='\\0'); }
int main()
{ char s1[80]=\char s2[80]=\f(s2,s1);
printf(\printf(\return 0; }
4-1-46、下列程序的运行结果是_____________________________【2016年】 #include
{ static int y=0; x=0; x++;y++;
printf(\}
int main() { int i;
for(i=0;i<2;i++) f(i); return 0; }
4-1-47、下列程序的运行结果是_____________________________【2016年】 #include
第 16 页 共 46 页
{ int s=0;
while(n)
{ s=s*10+n; n=n/10; }
return s; }
int main()
{ printf(\return 0; }
4-1-48、下列程序的运行结果是_____________________________【2016年】 #include
{ int i,x=0,t=1;
char s[10]=\
for(i=strlen(s)-1;i>=0;i--,t<<=1) if(s[i]!='0') x+=t;
printf(\return 0; }
4-1-49、下列程序的运行结果是_____________________________【2016年】 #include
while(p[i]!='\\0') { if(max
{ max=p[i];q=p+i;} i++; }
while(q>p)
{ *q=*(q-1);q--;} p[0]=max; }
int main()
{ char str[80]=\
f(str); puts(str); printf(\return 0; }
2、程序填空
第 17 页 共 46 页
4-2-1、下面程序的功能是求1000以内的完数。所谓完数是指一个数的子因子之和等于这个数本身。例如:6是一个完数,因为6=1+2+3。【2007年】 #include
{ int i,j,sum;
printf(\以内的完数有:\\n\ for(i=1;______________________;i++) { sum=0;
for(j=1;j
_________________________ sum+=j;
if(_________________) printf(\ } }
4-2-2、以下程序是统计一维数组arr中小于平均值的元素个数。【2007年】 #include
int fun(int s[],float aver) { int i,count=0; for(i=0;i if(________________) count++; return count; } main() { int i,arr[N]={87,34,56,78,90,66,88}; float aver=0; for(i=0;i printf(\统计结果为:%d\ } 4-2-3、任意输入坐标平面上一点(x,y),求该点到原点(0,0)间的距离。【2008年】 #include { Node *p; p=_________________; scanf(\ printf(\_________________; } 第 18 页 共 46 页 4-2-4、下列给定程序中,函数fun()的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。【2008年】 #include char *fun(char (*q)[M]) { int i; char *p; _________________; for(i=0; i if (strlen(p)< _________________) _________________; return p; } main( ) { char str[N][M]={\char *longest; int i; longest=fun(str); printf(\puts(longest); } 4-2-5、下列程序定义了3*3的二维数组,并在主函数中自动赋值;函数fun的功能是使二维数组的上三角元素的值全部置0。【2008年选做】 调用函数前 调用函数后 1 2 3 1 0 0 2 4 6 2 4 0 3 6 9 3 6 9 #include int a[3][3],i,j; for(i=1;i<=3;i++) for(j=1;j<=3;j++) _________________=i*j; fun(3,a); printf(\for(i=0;i<3;i++) {for(j=1;j<3;j++) printf(\ printf(\ } } 第 19 页 共 46 页 void fun (int n,int a[3][3]) { int i,j; for(i=0;i for(j=i+1;j<_________________;j++) a[i][j]=0; } 4-2-6、以下程序的功能是:从3个红球、6个白球、5个蓝球中任意取出8个球,且其中至少有一个白球,输出所有可能的方案。【2009年】 #include int i,j,k; printf(\ for(i=0;i<=3;i++) for(_________________;j<=6;j++) { k=_________________; if(_________________) printf(\} 4-2-7、以下程序的功能是:求100以内最大的一对孪生素数之和,孪生素数是指两个素数之差为2【2009年】 #include int j,r=0,k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break; } if(j>k) { r=1; } _________________; } main() { int i,sum=0; for (i=100;i>=5,i--) { if (_________________) { sum=i+i-2; _________________; } } printf(\ 第 20 页 共 46 页