填空题下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为1.414214。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<math.h>#include<stdio.h>/**********found**********/fun(doublea,doublex0){doublex1,y;x1=(x0+a/x0)/2.0;/**********found**********/if(fabs(x1-x0)<0.00001)y=fun(a,x1);elsey=x1;returny;}voidmain(){doublex;printf("Enterx:");scanf("%lf",printf("Thesquarerootof%lfis%lf/n",x,fun(x,1,0));}
填空题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,给字符串s输入:AAaaBBbb123CCcccd,则应输出:
upper=6,lower=8。请改正程序中的错误,使它得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
/*********found*********/
void fun(char*s,int a,int b)
{
while(*s)
{if(*s>="A"
if(*s>="a"
s++;
}
}
main()
(char s[100];int upper=0,
lower=0;
printf("/nPlease a string:");
gets(s);
fun(s,
printf("/n upper=%d lower=%d/n",upper,lower);
}
填空题以下程序运行后的输出结果是______。 #include<stdio.h> main() FILE *fp; int x[6]=(1, 2, 3, 4, 5, 6), i; fp=fopen("test.dat", "wb"); fwrite(x, sizeof(int), 3, fp); rewind(fp); fread(x, sizeOf(int), 3, fp); for(i=0; i<6; i++) printf("%d", x[i]); printf("/n"); fclose(fp);
填空题给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!
#include <stdio. h>
#include <string. h>
#define N 5
#define M 8
void fun(char(*ss)[M])
{char *ps[N], *tp; int i, j, k;
for(i=0; i<N; i++) ps[i]=ss[i];
for(i=0; i<N-1; i++) {
/**********found**********/
k=______;
for(j=i+1; j<N; j++)
/**********found**********/
if(strlen(ps[k])<strlen
(______)) k=j;
/**********found**********/
tp=ps[i]; ps[i]=ps[k]; ps[k]=______;
}
printf ("/nThe string after sorting
by length:/n/n");
for(i=0; i<N; i++) puts(ps[i]);
}
main( )
{char ch[N][M]=("red", "green", blue", "yellow", "black");
int i;
printf("/nThe original string/n/n");
for(i=0; i<N; i++)puts(ch[i]);
printf("/n");
fun(ch);
}
填空题以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串: yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。
#include <string.h>
char*huiwen(char *str)
{ char *p1,*p2; int i,t=0;
p1=str;p2={{U}} 【18】 {{/U}};
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;bteak;}
if({{U}} 【19】 {{/U}})return("yes!");
else return("no!");
}
main()
{ char sb[50];
printf("Input:"); scanf("%s",str);
ptintf("%s/n",{{U}} 【20】 {{/U}});
}
填空题下列给定程序中函数fun的功能是:从整数10~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> intfun(int*b) int k,a1,a2,i=0; for(k=10;k<=55;k++) /**************found*************/ a2=k/10; a1=k-a2*10; if((k%3==0&&a2==5)||(k%3==0&&a1==5)) b[i]=k;i++; /********found***********/ return k; main() int a[100],k,m; m=fun(a); printf("The result is:/n"); for(k=0;k<m;k++) printf("%4d",a[k]); printf("/n");
填空题以下程序运行后的输出结果是______。 main() int i,m=0,n=0,k=0; for(i=9; i<=11;i++) switch(i/10) case 0: m++;n++;break; case 10: n++;;break; default: k++;n++; printf("%d %d%d/n",m,n,k);
填空题有以下程序:
int f(int n)
{ if(n==1)retum 1;
else return f(n-1)+1;}
main()
{ int i,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d/n",j);
}
程序运行后的输出结果是{{U}} 【16】 {{/U}}。
填空题以下程序运行后的输出结果是{{U}} 【10】 {{/U}}。
main()
{ int a[4][4]={{1,2,3,4),{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while (i++<4)
{
if (i==2 || i==4)continue;
j=0;
do{ S+= a[i][j] ;j++;} while (j<4);
}
printf("%d/n",s);
}
填空题已有定义:double*P;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元______。
填空题下面程序的输出是 【6】 。 main() int a[]=2,4,6,*ptr= for(y=0;y<3;y++) z=(*(ptr+y)<x)?*(prt+y):x; printf("%d/n",z);
填空题若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为 【7】 。
填空题以下程序运行后的输出结果是 【7】 。 main() int x=1,y=0,a=0,b=0; switch (x) case1:switch (y) case0:a++;break; case1:b++;break; case2:a++;b++;break; printf("% d%d/n",a,b);
填空题以下程序输出的最后一个值是{{U}} 【8】 {{/U}}。
int ff(int n)
{ static int f=1;
f=f*n;
retum f;
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d/n",ff(i))i
}
填空题以下程序用来判断指定文件是否能正常打开。请填空。 #include <stdio.h> main() FILE *fp; if(((fp=fopen("test. txt", "r"))==______)) printf("未能打开文件!/n"); else printf("文件打开成功!/n");
填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define N 9 int fun(int a[], int n) int i, j; j=0; for(i=0; i<n; i++) /******************found*******************/ if(a[i]%2== (1) ) /******************found*******************/ a[j]=a[i]; (2) ; /******************found*******************/ return (3) ; main() int b[N]=9, 1, 4, 2, 3, 6, 5, 8, 7, i, n; printf("/nThe original data:/n"); for(i=0; i<N; i++) printf("%4d", b[i]); printf("/n"); n=fun(b, N); printf("/nThe number of odd: %d/n", n); printf("/nThe odd number:/n"); for(i=0; i<n; i++) printf("%4d",b[i]); printf("/n");
填空题数据结构分为线性数据结构和非线性数据结构,带链的队列属于______。
填空题编写函数fun(),其功能是计算:
s=ln(1)+ln(2)+ln(3)+…+ln(m) s的平方根作为函数值返回。
在C语言中,可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。
例如,若m的值为20,则fun函数值为6.506583。 注意:部分源程序给出如下。
请勿改动主函数main()和其他函数中的任何内容,仅在函数:fun()的花括号中填入你编写的若干语句。
试题程序 #include
<stdlib.h> #include <conio.h> #include
<stdio.h> #include <math.h> double fun(int
m) { } void main()
{ printf("% f/n", fun(20)); }
填空题以下程序的输出结果是 【12】 。 float fun(int x,int y) return(x+y); main() int a=2,b=5,c=8; printf("%3.0f/n",fun((int)fun(a+c,b),a-c));
填空题在双链表中每个结点有两个指针域:一个指向 【3】 ,另一个指向 【4】 。
