1◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】 (t*t)
【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】
【1】for(i=0;str[i];i++)
【2】if(substr[k+1]== ′\0′)
【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】
Double fun(double  eps)
{
double s=1.0,s1=1.0;
int n=1;
while(s1>=eps) 
{ s1=s1]s=s+s1; 
n++;
}
return 2}
2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到
低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。
【答案】【1】 0【2】 10*x【3】n/10
【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。
【答案】【1】*t=0;【2】if(d%2!=0)
【编程】编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:
FirstString—SecondString程序输出:FirstString--SecondString
【答案】
void fun(char p1[],char p2[])
{
int i,j;
for(i=0;p1[i]!=′\0′;i++);
for(j=0;p2[j]!=′\0′;j++)
p1[i++]=p2[j];
p1[i]=′\0′;
}
3◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长<N。
【答案】【1】M 【2】< 【3】k
【改错】下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其
它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
【答案】   
【1】if(( tt[i]>=′a′)&&( tt[i] <= ′z′)  【2】tt[i]-=32;
【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。
【答案】
void fun(int m, int *k, int xx[])
{
int i,j
,n=0;
for(i=4;i<m;i++)
{ for(j=2;j<i;j++)
   if(i%j==0) break;
if(j<i) xx[n++]=i;
}
*k=n;
}
4◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。
【答案】【1】j++  【2】s[i]=t1[i]
【3】j
【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。
【答案】
【1】for (j=i+1; j< 6; j++)字符串长度为0和50之间
【2】*(pstr+i)=*(pstr+j);
【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。
【答案】
int fun(char *ss, char c)
{
int i=0;
for(;*ss!=′\0′;ss++)
if(*ss==c)
i++;
return i;
}
5◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
【答案】【1】x 【2】p 【3】s
【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
【答案】【1】long k=1; 【2】num /=10;
【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。
【答案】
float  fun (float  *a, int n)
{
float av=0.0;
int i;
for(i=0;i<n;i++)
av=av+a[i];
return (av/n);
}
6◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇
数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。
【答案】【1】1 【1】s[k] 【1】c
【改错】下列给定程序中fun函数的功能是:求表达式s=aa… aa-…- aaa - aa -a(此处aa… aa表示n个a,a和n的值在1至 9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。
【答案】
【1】long s=0, t=0; 【1】t=t/10;
【编程】编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefg
abcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
【答案】
void fun(char *tt, int pp[])
{
int i;
for(i=0;i<26;i++)
 pp[i]=0;
if(*tt>=′a′&&*tt<=′z′) 
    pp[*tt-′a′]++; 
}
7◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
【答案】
【1】next 【2】t->data 【3】t
【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。
【答案】【1】void fun(char *a)
【2】printf("%c" ,*a);
【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
【答案】
char *fun(char *s, char *t)
{
int i,j;
for(i=0;s[i]!= ′\0′;i++);   
for(j=0;t[j]!= ′\0′;j++);
if(i>=j) 
return s; 
else
return t;
}
8◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
【答案】【1】"r" 【2】fs 【3】ft
【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放
在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数:8642。
【答案】【1】if(d%2==0)
【2】s/=10;
【编程】编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
  例如,当a=45,b=12时,调用该函数后,c =5142。
【答案】
void fun(int a,int b,long *c)
{
*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;
}
9◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。例如,N=3,m=2,有下列矩阵
1  2  3
      4  5  6
      7  8  9
  程序执行结果为
      0  0  1
      0  0  4
      0  0  7
【答案】【1】i++ 【2】m 【3】m
【改错】下列
给定程序中函数fun的功能是:计算并输出high以内最大的10个素数的和。high的值由主函数传给fun函数。例如,若high的值为100,则函数的值为732。
【答案】
【1】while((high>=2) && (n<10))
【2】yes=0; break;
【编程】编写函数fun,其功能是:利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。
  xn+1=cos(xn)
  迭代步骤如下:
  (1)取x1初值为0.0;
  (2)x0=x1,将x1的值赋给x0;
  (3)x1=cos(x0),求出一个新的x1;
  (4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2);
  (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
  程序将输出结果Root=0.739086。
【答案】
float fun()
{
float x1=0.0,x0;
do
{
x0=x1;
x1=cos(x0);
}
while (fabs(x0-x1)>=1e-6);
return x1;
}
10◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序的功能是:从键盘输入若干行字符串(每行不超过80个字符),写入文件中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数ReadText和WriteText实现。
【答案】【1】*fw 【2】str 【3】str
【改错】下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。
  例如,当s中的数为7654321时,t中的数为7531。
【答案】
【1】void fun(long s,long *t)
【2】s1=s1*10
【编程】编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
  例如,当a=45,b=12时,调用该函数后,c=1524。
【答案】
void fun(int a,int b,long *c)
{
*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;
}
11◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:有N×N矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。
  例如,若N=3,有下列矩阵:
  1  2  3
  4  5  6
  7  8  9
  操作后应为:
  7  4  1
  8  5  2
  9  6  3
【答案】【1】0【2】j--【3】j
【改错】下列给定程序中函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。
  例如,当n的值为5时,函数值应为10.407143。f(x)函数定义如下:
f(x)=(x+1)/(x-2) x>0且x≠2
f(x)  0    x=0或x=2
(x-1)/(x-2)      x<0
【答案】【1】dou
ble f(double x)
【2】return  s ;
【编程】编写函数fun,其功能是计算:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。例如,若m的值为20,则fun函数值为6.506583。
【答案】
double fun(int m)
{
int i;
double s=0.0;
for(i=1;i<=m;i++)
  s=s+log(i);
return sqrt(s);
}
12◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
【答案】【1】q 【2】next 【3】next
【改错】下列给定程序中函数fun的功能是:用选择法对数组中的n个元素进行升序排列。
【答案】【1】p=j;【2】p=i;
【编程】编写函数fun,其功能是:将1到m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。例如,若传给m的值为50,则程序输出:
  7 11 14 21 22 28 33 35 42 44 49
【答案】
void fun(int m, int *a, int *n)
{
int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0) 
   a[j++]=i;
*n=j;
}
13◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是计算下式
直到,并将计算结果作为函数值返回。例如,若形参e的值为1e-3,函数的返回值为2.985678。
【答案】【1】0 【2】i++ 【3】2.0*i
【改错】下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。
  例如,当s所指字符串为:"ABCD"时,t所指字符串中的内容应为:"ABCDDCBA"。
【答案】
【1】void fun ( char *s , char *t ) 【2】t[d+i]=0;
【编程】编写函数fun,其功能是:将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字
符串的内容为:"ABCDEFG12345",其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指数组中的内容应为:"135"。
【答案】
void fun(char *s,char t[])
{
int i,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0&&s[i]%2!=0) 
{
  t[j]=s[i]; 
  j++;
}
t[j]=′\0′; 
}
14◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为def35adh3kjsdf7,执行后结果为def3]
【答案】【1】&& 【2】0  【3】s[j]
【改错】下列给定程序中

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。