文档库 最新最全的文档下载
当前位置:文档库 › c语言第一套

c语言第一套

第一套

1. 1.程序填空

程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;

第二处for(i=0;i0)

22程序修改

给定程序MODI1.C中函数fun的功能是:在p 所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。/**found**/

q=p+i;

/**found**/

while(q>p)

3程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b 所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h)

{int i,j=0;

for(i=0;i

if((a[i].s>=1&&a[i] .s<=h)

b[j++]=a[i];

return j;

}

第二套

1. 1.程序填空

给定程序中已建立一个带有头结点的单向链表,链表中的各结点

按数据域递增有序连

接。函数fun的功能是:

删除链表中数据域值

相同的结点,使之只保

留一个。

第一处 free(q);

第二处 q=p->next;

第三处 q=q->next;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:用选

择法对数组中的n各元

素按从小到大的顺序

进行排序。

/**found**/

p=j;

/**found**/

p=i;

3. 程序设计

请编写一个fun函数,

它的功能是:求出1到

m之间(含m)能被7

或11整除的所有整数

放在数组a中,通过n

返回这些数的个数。

void fun(int m,int

*a,int *n)

{

int i;

*n=0;

for(i=7;i<=m;i++)

if((i%7==0)||(i%11=

=0))

a[(*n)++]=i;

}

第三套

1. 程序填空

函数fun的功能是:逆

置数组元素是的值。例

如:若a所指数组中的

数据依次为:1、2、3、

4、5、6、7、8、9,则

逆置后依次为:9、8、

7、6、5、4、3、2、1。

形参n给出数组中数组

中数据的个数。

第一处

for(i=0;i

第二处

a[i]=a[n-1-i];

第三处 a[n-i-1]=t;

2程序修改

给定程序MODI1.C中函

数fun的功能是:将一

个由八进制数字字符

串组成的字符串转换

为与其面值相等的十

进制整数。规定输入的

字符串最多只能包含5

位八进制数字字符。

/**found**/

n=*p-‘0’;

/**found**/

n=n*8+*p-‘0’;

3. 程序设计

学生的记录由学号和

成绩组成,N名学生的

数据已在主函数中放

入结构体数组s中,请

编写了函数fun,它的

功能是:函数返回指定

学号的学生数据,指定

的学生号在主函数中

输入,若没有找到指定

学号,在结构体变量中

给学号置空串,给成绩

置-1,作为函数值返

回。(用于字符串比较

的函数是strcmp)。

STREC

fun(STREC*a,char *b)

{

STREC c;

Int i;

c.num[0]=’\0’;

c.s=-1;

for(i=0;i

if(strcmp(a[i].num,

b)==0)

{strcpy(c.num,a[i].

num);

c.s=a[i].s;break;}

return c;

}

第四套

1. 1. 程序填空

给定程序中,函数fun

的功能是:在带有头结

点的单向链表中,查找

数据域中值为ch的结

点。找到后通过函数值

返回该结点在链表中

所处的顺序号:若不存

在值为ch的结点,函

数值返回0.

第一处 while(p!=0)

第二处

if(p->data==ch)retu

rn n;

第三处

k=fun(head,ch);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:删除

p所指字符串的所有空

白字符(包括制表符、

回车符及换行符)。输

入字符串时用‘#’结

束输入。

/**found**/

for(i=0,t=0;p[i];i+

+)

/**found**/

c[t]=’\0’;

3. 程序设计

请编写一个函数fun,

将ss所指字符串中所

有下标为奇数位置上

的字母转换为大写(若

该位置上不是字母,则

不转换)。

void fun(char *ss)

{

int i;

for(i=1;i

);i+=2)

{if(ss[i]>=’a’

&&ss[i]<=’z’)

ss[i]-=32;

}

}

第五套

1. 程序填空

给定程序中,函数fun

的功能是:计算下式前

n项的和作为函数值返

回。例如:当形参n的

值为10 的时,函数返

回:9.6125588。

第一处 s=0;

第二处

for(i=1;i<=n;i++)

第三处

s=s+(2.0*i-1)*(2.0*

i+1)/(t*t);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:统计

substr所指字符串在

str所指字符串中出现

伯次数。

/**found**/

for(i=0;str[i];i++)

/**found**/

if(substr[k+1]==’

\0’)

3. 程序设计

请编写一个函数fun,

它的功能是:根据以下

公式求JI的值(要求

满足精度0.0005,即某

项小于0.0005时停止

送代):程序运行后,

如果输入精度为0.0005,则程序输出为3.14…。

double fun(double eps)

{ double s=1,t=1./3; int n=1;

while(t>=eps)

{s+=t;n++;t=t*n/(2. 0*n+1)

;}

return(s*2.0);

}

第六套

1. 程序填空

给定程序中,函数fun 的功能是:将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。

第一处t[j]=s[i];j++;

第二处for(i=0;i

t[j+i]=p[i];

第三处 t[j+k]=0;

2. 程序修改

给定程序MODI1.C中函数fun的功能是:将s 所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。

/**found**/

while(*w)

/**found**/

if(*r==*p)

3. 程序设计

函数fun的功能是:将s所指字符串中ASCII 值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。

void fun(char *s,char t[])

{ int i,j=0;

for(i=0;i

if(s[i]%2==0)t[j++ ]=s[i];

t[j]=0;

}

第七套

1. 1.程序填空

程序通过定义学生结

构体变量,存储了学生

的学号、姓名和三门课

的成绩。函数fun的功

能是将形参a所指结构

体变量s中的数据进行

修改,并把a中地址作

为函数值返回主函数,

在主函数中输出修改

后的数据。

第一处struct

student *

fun(struct

student*a)

第二处

for(i=0;i<3;i++)

a->score[i]+=1;

第三处 return a;

2. 程序修改

给定程序

MODI1.C中函数fun的

功能是:从N个字符串

中找出最长的那个串,

并将其地址作为函数

值返回。各字符串在主

函数中输入,并放在一

个字符串数组中。

/**found**/

char *fun(char

(*sq)[M])

/**found**/

return sp;

3. 程序设计

函数fun的功能是:将

a、b中的两位正整数合

并形成一个新的整数

放在c中。合并的方式

是:将a中的十位和个

位依次放在变量c的百

位和个位上,b中的十

位和个位数依次放在

变量c的十位和千位

上。

#include

void fun(int a,int

b,long *c)

{ *c=(b%10)*1000+(a

/10)*100+(b/10)*10+

a%10;

}

第八套

1. 程序填空

函数fun的功能是:将

形参观者工所指数组

中的前半部分元素中

的值和后半部分元素

中的值对换。形参n中

存放数组中数据的个

数,若n为奇书,则中

间元素不动。

第一处

p=(n%2==0)?n/2:n/2+

1;

第二处 a[i]=a[p+i];

第三处 a[p+i]=t;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:把主

函数中输入的三个数,

最大的放在a中,最小

的放在c中,中间的放

在b中。

/**found**/

float k;

/**found**/

if(*a<*c)

3. 程序设计

学生的记录由

学号和成绩组成,N名

学生的数据已在主函

数中放入结构体数组s

中,请编写了函数fun,

它的功能是:把分数最

高的学生数据放在b所

指的数组中,注意:分

数最高的学生可能不

止一个,函数返回分数

最高的学生的人数。

int fun(STREC

*a,STREC *b)

{

int

i,max=a[0].s,n=0;

for(i=1;i

if(max

[i].s;

for(i=0;i

if(max==a[i].s)b[n+

+]=a[i];

return n;

}

第九套

1. 程序填空

给定程序中,函数fun

的功能是:计算形参x

所指数组中N个数的平

均值,(规定所有数均

为正数),将所指数组

中小于平均值的数据

移至数据的前部,大于

等于平均数的移至x所

指数组的后部,平均值

作为函数值返回,在主

函数中输出平均值和

移动后的数据。

第一处

for(i=0;i

av+=x[i]/N

第二处 y[j]=x[i];

x[i]=-1;j++;}

第三处 i++;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:统计

字符串各元音字母

(即:A、E、I、O、U)

的个数。注意字母不分

大小写。

/**found**/

num[k]=0;

/**found**/

switch(*s)

3. 程序设计

请编写函数fun,函数

的功能是:求出二级数

组周边元素之和,作为

函数值返回。二维数组

中的值在主函数中赋

予。

int fun(int a [M][N])

{

int tot=0,i,j;

for(i=0;i

{

tot +=a[0][i];

tot +=a[M-1][i];

}

for(i=1;i

tot +=a[i][0];

tot +=a[i][N-1];

}

return tot;

}

第十套

1. 1.程序填空

程序通过定义学生结

构体变量,存储了学生

的学号、姓名和三门课

的成绩。函数fun的功

能是将形参a中的数据

进行修改,把修改后的

数据作为函数值返回

主函数进行输出。

第一处struct

student

fun(struct student

a)

第二处

strcpy(https://www.wendangku.net/doc/e15912988.html,,”

LiSi”);

第三处a.score[i]+=1;

2程序修改

假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C 中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。

/**found**/

if(p==n) return-1’/**found**/

a[i]=a[i+1];

3. 程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。int fun(STREC *a,STREC *b)

{

int

i,j=0,min=a[0].s; 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;

}

第十一套

1. 程序填空

给定程序中,函数fun 的功能是:计算形参x 所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

第一处 av=s/N;

第二处y[j++]=x[i];x[i]=-1

;}

第三处 if(x[i]!=-1)

y[j++]=x[i];

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:读入

一行英文文本行,将其

中每个单词的第一个

字母改成大写,然后输

出次文本行(这里的

“单词”是指由空格隔

开的字符串)。

/**found**/

#include

/**found**/

upfst (char *p)

3. 程序设计

程序定义了N×N的二

级数组,并在主函数中

赋值,请编写函数fun,

函数的功能是:求出数

组周边元素的平均值

并作出函数值饭给主

函数中的s。

double fun(int

w[][N])

{ int i,j,n=0;

double sum=0;

for(i=0;i

{ sum+=w[0][i]+w[N-

1][i];

n+=2;}

for(i=1;i

{ sum+=w[i][0]+w[i]

[N-1];

n+=2;

}

return sum/n;

}

第十二套

1. 程序填空

给定程序中,函数fun

的功能是:将自然数1

—10以及它们的平方

根写到名为

myfile3.txt的文本文

件中,然后再顺序读出

显示在屏幕上。

第一处

fprintf(fp,”%d%f\n

”,i,sqrt((double)i

));

第二处 fclose(fp);

第三处

if((fp=fopen(fname,

”r”))==NULL)

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:将n

个无序整数从小到大

排序。

/**found**/

for(i=j+1;i

/**found**/

p=i;

3. 程序设计

函数fun的功能是:将

a、b中的两位正整数合

并形成一个新的整数

放在c中。合并的方式

是:将a中的十位和个

位依次放在变量c的个

位和百位上,b中的十

位和个位数依次放在

变量c的十位和千位

上。

#include

void fun(int a,int

b,long *c)

{

*c=(b%10)*1000+(a%1

0)*100+(b/10)*10+(a

/10);}

第十三套

1. 程序填空

给定程序中,函数fun

的功能是:找出N*N矩

阵中每列元素中的最

大值,并按顺序一次存

放于形参b所指的一维

数组中。

第一处

b[i]=a[0][i];

第二处if

(b[i]

b[i]=a[j][i];

第三处 fun(x,y);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:交换

主函数中的两个变量

的值。

/**found**/

int fun(int *x,int

*y)

/**found**/

t=*x;*x=*y;*y=t;

3. 程序设计

编写函数fun,函数的

功能是求出小于或等

于lim的所有素数并放

在aa数组中,函数返

回所求出的素数的个

数。函数fun中给出的

语句仅供参考。

#include

#define MAX100

int fun(int lim,int

aa[MAX])

{int i,j,k=0;

for(i=2;i<=lim;i++)

{

for(j=2;j<=(i/2);j+

+)

if(i%j==0)break;

if(j>(i/2))aa[k++]=

i;

} return k;}

第十四套

1. 程序填空

函数fun的功能是进行

字母转换。若形参ch

中小写英文字母,则转

换成相应的大写英文

字母;若形参ch中是

大写英文字母,则转换

成相应的小写英文字

母;并将转换的结果作

为函数值返回。

第一处 if((ch>=’

a’)&&(ch<=’z’))

第二处 return

ch+’a’-‘A’

第三处 return ch;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:给一

维数组a输入任意四个

整数并按下列的规律

输出。例如输出1、2、

3、4,程序输出一下方

阵。

a)a)1 2 3

3 4 1 2

2 3 4 1

1 2 3 4

/**found**/

void fun(int *a)

/**found**/

a[j]=a[j-1];

3. 程序设计

请编写函数fun,函数

的功能是:计算并输出

给定整数n的所有因子

(不包过1和n本身)

之和。规定n的值不大

于1000.

int fun(int n)

{

int s=0,i;

for(i=2;i

if(n%i==0)s+=i;

return s;

}

第十五套

1. 程序填空

给定程序中,函数的功能是:把形参s所指字符串下标为奇数的字符右移到下一个奇书位置,最右边呗移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedg。

第一处if(n%2==0) k=n-1;

第二处 c=s[k];

第三处 s[1]=c;

2. 程序修改

给定程序MODI1.C中函数fun的功能是:求s=aa…aa—…—aaa—aa—a(此处aa…aa表示n个a,a和n的值在1至9之间)。

/**found**/

long s=0,t=0;

/**found**/

t=t/10;

3. 程序设计

请编写一个函数void fun(char*tt,int pp[ ]),统计在tt所指字符串中‘a’至‘z’26个小写字母各自出现在的次数,并依次放在pp数组中。

void fun(char*tt, int pp[ ])

{

char *p=tt;

int i;

for(i=0;i<26;i++) pp[i]=0;

while(*p)

{if(*p>=’a’&&*p<=’z’)

pp[*p-‘a’]+=1;

p++;

}

}

第十六套

1. 程序填空

人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数

组std中,且编号唯一。

函数fun的功能是:找

出指定编号人员数据,

作为函数值返回,由主

函数输出,若指定编号

不存在,返回数据中编

号为空串。

第1处 STU fun(STU

*std, char *num)

第2处if(strcmp

(std[i].num, num)

= =0)

第3处return

(std[i]);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:从s

所指字符串中,找出与

t所指字符串相同的子

串的个数作为函数值

返回。

/**found**/

r++; p++;

/**found**/

if(*r= =0)

3. 程序设计

函数fun的功能是:将

s所指字符串中ASCII

值为偶数的字符删除,

串中剩余字符形成一

个新串放在t所指数组

中。

#include

#include

void fun (char*s,

char t[])

{

int i, j=0;

for(i=0;i

;i++)

if(s[i]%2)

t[j++]=s[i];

t[j]=0;

}

第十七套

1. 程序填空

给定程序中,函数fun

的功能是:统计形参s

所指字符串中数字字

符出现的次数,并存放

在形参t所指的变量

中,最后在主函数中输

出。例如,形参s所指

的字符串为:

abcdef35adgh3kjsdf7

。输出结果为:4。

第1处

for(i=0;s[i]!=NULL;

i++)

第2处 if(s[i]>=’0’

&&s[i]<=’9’)

n++;

第3处 *t=n;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:通过

某种方式实现两个变

量的交换,规定不允许

增加语句和表达式。例

如变量a中的值原为

8,b中的值原为3,程

序运行后a中值为3,b

中的值为8.

/**found**/

t=*x;*x=y;

/**found**/

return(t);

3. 程序设计

请编写函数fun,函数

的功能是:求出1到

1000之间能被7或11

整除,但不能同时被7

和11整除的所有整数

并将它们放在a所指的

数组中,通过n返回这

些数的个数。

#include

viod fun (int *a,int

*n)

{int i;

*n=0;

for(i=7;i<1000;i++)

if(((i%7)= =0││

(i%11)= =0

&&(i%77)!=0)

a[(*n)++]=i;

}

第十八套

1. 程序填空

给定程序中,函数fun

的功能是:有N×N矩

阵,根据给定的m

(m<=n)值,将每行元

素中的值均右移m个位

置,左边值为0.

第1处

for(i=0;i

第2处

t[i][j+m]=t[i][j];

第3处

for(j=0;j

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:计算

并输出high以内最大

的10个素数之和。high

的值由主函数传给fun

函数。

/**found**/

while((2<=high)&&(n

<10))

/**found**/

yes=0;break;

3. 程序设计

请编写函数fun,函数

的功能是:利用一下所

示的简单迭代方法求

方程求方程:cos(x)

-x=0的一个实根。

x n+1=cos(x n)迭代步骤

如下:(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.739058。

float fun()

{

float x0,x1=0.0;

do{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>

0.000001);

return x1;

}

第十九套

1. 程序填空

给定程序中,函数fun

的功能是:将a所指的

3×5矩阵中第k列的

元素左移到第0列,第

k列以后的每列元素行

依次左移,原来左边的

各列依次绕到右边。

第1处

for(p=1;p<=k;p++)

第2处

for(j=0;j

a[i][j]=a[i][j+1];

第3处

a[i][N-1]=temp;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

形参m的值(2<=m<=9),

在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2则输出:

112

224

/**found**/

fun(int a[][M],int m)

/**found**/

a[j][k]=(k+1)*(j+1) ;

3. 程序设计

函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。

void fun(int a,int b,int*c)

{

*c=(a%10)*1000+(b%1 0)*100

+(a/10)*10+(b/10); }

第二十套

1. 程序填空

给定程序中,函数fun 的功能是:对形参s所指字符串中下标为奇数的字符ASCII码大小递增排序,并将排序后的下标为奇数的字符取出,形成一个新串。第1处t=i;

第2处for(j=i+2;j

第3处p[j]=0;

2. 程序修改

给定程序MODI1.C中函数fun的功能是:用下面的公式求π的近似值,知道最后一项的近似值小于指定数(参数num)为止:例如程序0.0001,则程序输出3.1414。

/**found**/

while((fabs(t))>=nu m)

/**found**/ t=s/n

3. 程序设计

请编写一个函数void

fun(char a[ ],char

b[ ],int n),其功能

是:删除一个字符串指

定下标的字符。其中,

a指向原字符串,删除

指定字符后的字符串

放在b所指的n中存入

指定的下标。

viod fun (char

a[ ],char

b[],int n)

{

strncpy (b,a,n);

b[n]=0;

strcat(b,a+n+1);

}

第二十一套

1. 程序填空

给定程序中,函数fun

的功能是:在形参ss

所指字符串数组中,将

所有串长超过k的字符

串右边的字符删去,只

保留左边的k个字符。

ss所指字符串数组中

共有N个字符串,且串

小于M。

第一处 void fun(char

(*ss)[M], int k)

第二处 while (i

第三处

ss[i][k]=0;i++;}

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

以下公式求π值,并作

为函数值返回。例如,

给指定精度的变量eps

输入0.0005时,应当

输出Pi=30140578.。

/**found**/

t=1;

/**found**/

return(2*s);

3. 程序设计

假定输入字符串中只

包含字母和*号。请编

写函数fun,它的功能

是:将字符串的前导*

号不得多于n个;若多

于n个,则删除多余的

*号;若少于或等于n

个,则什么也不做,字

符串中间和尾部的*号

不删除。函数fun中给

出的语句仅供参考。

void fun(char*a,int

n)

{

int i=0,k=0;

while(a[k]= =’

*’)k++;

if(k>n)

{

i=n;j=k;

for(;a[j]!=0;j++)

a[i++]=a[j];

a[i]=0;

}}

第二十二套

1. 程序填空

给定程序中,函数fun

的功能是:a所指4×3

矩阵中第k行的元素与

第0行元素交换。例如:

有下列矩阵

112 3

4 5 6

7 8 9

10 11 12

若k为2,程序执行结

果为

7 8 9

4 5 6

1 2 3

10 11 12

第一处 void fun(int

(*a)[N],int k)

第二处

for(i=0;i

第三处

a[0][i]=a[k][i];

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:读入

一个字符串(长度<20),

将该字符串中的所有

字符串按ASCII码升序

排序后输出。例如,若

输入edcba,则应输出:

abcde。

/**found**/

for(i=strlen(t)-1;i

;i--)

/**found**/

if(t[j]>t[j+1])

3. 程序设计

请编写函数fun,函数

的功能是:将ss所指

字符串中所有下标为

奇数位置上的字母转

换为大写(若该位置上

不是字母,则不转换)。

void fun(char *ss)

{

char *p=ss;

inr i=0;

while(*p){

if((i%2)&&(*p>=’a’

&&*p<=’z’))

*p-=32;

p++;

i++;

}

}

第二十三套

1. 程序填空

给定程序的功能是:调

用函数fun将指定源文

件中的内容复制到指

定的目标文件中,复制

成功时函数的返回值

是1,失败是返回值是

0.在复制的过程中,把

复制的内容输出到终

端屏幕。主函数源文件

名放在变量sfname中,

目标文件放在变量

tfname中。

第一处

if((fs=fopen(source

,”r”))==NULL)

第二处

while(!feof(fs))

第三处

fputc(ch,ft);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:将长

整型中每一位上为偶

数的数依次取出,构成

一个新数放在t中。高

位仍在高位,低位仍在

低位。

/**found**/

if(d%2==0)

/**found**/

s/=10;

3. 程序设计

函数fun的功能是:将

两位正整数a、b合并

形成一个新的整数放

在c中。合并的方式是:

将a中的十位和个位依

次放在变量c的十位和

千位上,b中的十位和

个位数依次放在变量c

的百位和个位上。

void fun(int a,int

b,long*c)

{

*c=(a%10)*1000+(b/1 0)*100+(a/10)*10+(b %10);

第二十四套

1. 1.程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。

第一处 b=a;

第二处strcpy(https://www.wendangku.net/doc/e15912988.html,,”LiSi”)

第三处for (i=0;i<3;i++)

printf(“%6.2f”,b. score[i]);

2. 程序修改

给定程序MODI1.C中函数fun的功能是:从s 所指字符串中删除所有小写字母c。请改正程序中的错误,使它能计算出正确的结果。

/**found**/

s[j++]=s[i];

/**found**/

s[j]=’\0’;

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号全部移到字符串的尾部。函数fun中给出的函数仅供参考。

void fun(char *a) { char *p,*q;

int n=0;

p=a;

while(*p==’*’)

{n++;p++;}

q=a;

while(*p){

*q=*p;

p++;q++;

}

for(;n>0;n--)

*q++=’*’;

*q=’\0’;

}

第二十五套1. 程序填空

用筛选法可得

到2—n(n<10000)之

间的所有素数,方法

是:首先从素数2开始,

将所有2的倍数的数从

数表中删去(把数表中

相应位置的值置成0);

接着从数表中找下一

个非0数,并从数表中

删去该数的所有倍数,

依此类推,直到所找的

下一个数等于n为止。

这样会得到一个序列:

2、3、5、7、11、13、

17、19、23……函数fun

用筛选法找出所有小

于等于n的素数,并统

计素数的个数作为函

数值返回。

第一处

for(j=a[i]*2;j<=n;j

+=a[i])

第二处while(a[i]=

=0)

第三处 if(a[i]!=0)

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:为一

个偶数寻找两个素数,

这两个素数之和等于

该偶数,并将这两个素

数通过形参指针传回

主函数。

/**found**/

y=1;

/**foune**/

d=a-i;

3. 程序设计

请编写函数fun,它的

功能是:计算并输出n

(包括n)以内能被5

或9整除的所有自然数

的倒数之和。

double fun(int n)

{

int i;

double sum=0.0;

for(i=1;i

if(i%5= =0||i%9==0)

sum+=1.0/i;

return sum;

}

第二十六套

1. 程序填空

给定程序中,函数fun

的功能是建立一个N×

N的矩阵。矩阵元素的

构成规律是:最外层元

素的值全部是1;从外

向内第二层元素的值

全部为2;第三层元素

的值全部是3,…依此

类推。

第一处void

fun(int(*a)[N])

第二处

for(j=i;j

第二处

a[k][i]=a[k][N-i-1]

=i+1;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:将十

进制正整数m转换成k

(2<=k

<=9)进制数,并按高

位到低位顺序输出。

/**found**/

aa[i]=m%k;

/**found**/

printf(“%d”,aa[i-

1]);

3. 程序设计

编写一个函数,从num

个字符串中找出最长

的一个字符串,并通过

形参指针max传回该串

地址。(注意:主函数

中用****作为结束输

入的标志,函数fun中

给出的语句仅供参

考)。

fun(char

(*a)[81],int

num,char **max)

{

int i,k=0,maxlen;

maxlen=strlen(a[k])

;

for(i=1;i

{

if(strlen(a[i])>max

len)

{maxlen=strlen(a[i]

);

k=i;

}

}

*max=a[k];

}

第二十七套

1. 程序填空

函数fun的功能是计算

f(x)=1+x-2/2!+3/3!

-4/4!+……的前n项

和。若x=2.5,n=15时,

函数值为1.917914。

第一处 f=1;

第二处 t*=(-1)*x/i;

第三处 f+=t;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:从三

个红球,5个白球,6

个黑球中任意取出8个

作为一组,进行输出。

在没组中,可以没有黑

球,但必须要有红球和

白球。组合数作为函数

值返回。正确的组合数

应该是15.程序中i的

值代表红球数,j代表

白球数,k代表黑球数。

/**found**/

for(i=1;i<=3;i++)

/**found**/

if(k>=0&&k<=6)

3. 程序设计

请编写函数fun,它的

功能是:计算并输出下

列多项式的值:

s n=1+1/1!

+1/2!+1/3!+1/4!+…

…1/n!。例如:在主函

数中从键盘给n输入

15,则输出为:

s=2.718282。注意:要

求n的值大于1但不大

于100。

double fun(int n)

{

double s=1’

long t=1;

int i;

for(i=1;i<=n;i++){

t=t*i;

s+=1.0/t;}

return s;

}

第二十八套

1. 程序填空

给定程序中,函数fun

的功能是:计算N*N矩

阵的主对角线元素和

方向对角线元素之和,

并作为函数值返回。注

意:要求先累加主对角

线元素中的值,然后累

加反响对角线元素的

值。

第一处 sum=0;

第二处

sum+=t[i][i];

第三处sum+=t[i][n-i-1]; 2. 程序修改

给定程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。

/**found**/

double r;

/**found**/

while(fabs(n-m)>0.0 01)

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中的第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。void fun(char *a,char *h,char *p) {

int j=0;

char *q=a;

while(*q&&q

while(*h&&*p&&h

if(*h!=’*’)a[j++]=*h;

h++;

}

while(*p)a[j++]=*p+ +;

a[j]=0;

}

第二十九套

1. 程序填空

给定程序中,函数fun 的功能是:有N*N矩阵,将矩阵的外围元素顺时针旋转。操作的顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为第一行,临时数组中和元素成为最后一列。

第一处t[0][N-j-1]=t[j][0]

;

第二处

for(j=N-1;j>=0;j--)

第三处

t[j][N-1]=r[j];

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:计算

s=f(-n)+f(-n+1)

+……+f(0)+f(1)

+f(2)+……f(n)的

值。例如,当n为5时,

函数值应该是:

10.407143。

/**found**/

double f(double x)

/**found**/

return s;

3. 程序设计

编写一个函数fun,它

的功能是计算:s=根号

下(ln(1)+ln(2)

+ln(3)+……ln(m))

S作为函数返回,在C

语言中可以调用log

(n)求ln(n)。log

函数引用说明是:

Double log(double x)

例如,若m的值为:20,

fun函数值为:

60506583。

double fun(int m)

{

double s=0.0;

int i;

for(i=0;i<=m;i++)

s+=log(1.0*i);

s=sqrt(s);

return s;

}

第三十套

1. 程序填空

函数fun的功能是:反

形参a所指数组中的奇

数按原顺序依次存放

到a[0]、a[1]、a

[2]……中,把偶数从

数组中删除,奇数个数

通过函数值返回。例

如:若a所指数组中的

数据最初排列为:9、1、

4、2、3、6、

5、8、7,

删除偶数后a所指数组

中的数据为:9、1、3、

5、7,返回值为5。

第一处

if(a[i]%2==1)

第二处 j++;

第三处 return j;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:求出

两个非零正整数的最

大公约数,并作为函数

值返回。

/**found**/

t=a;a=b;b=t;

/**found**/

return (b);

3. 程序设计

假定输入的字符串中

只包含字母和*号。请

编写函数fun,它的功

能是:删除字符串中所

有的*号。在编写函数

时,不得使用C语言提

供的字符串函数。

void fun(char *a)

{

int j=0;

char *p=a;

while(*p){

if(*p!=’*’)

a[j++]=*p;

p++;

}

a[j]=0;

}

第三十一套

1. 程序填空

给定程序中,函数fun

的功能是:在形参ss

所指字符串数组中,删

除所有串长超过k的字

符串,函数返回所剩字

符串的个数。Ss所指字

符串数组中共有N个字

符串,且串长小于M。

第一处

for(i=0;i

第二处 if(len<=k)

第三处

strcpy(ss[j++],ss[i

]);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:逐个

比较p、q所指两个字

符串对应位置中的字

符,把ASCII值或相等

的字符依次存放在c所

指数组中,形成一个新

的字符串。

/**found**/

int k=0;

/**found**/

while(*p||*q)

3. 程序设计

假定输入的字符串中

只包含字母和*号。请

编写函数fun,它的功

能是:除了字符串前导

*号之外,将串中其它*

号全部删除。在编写函

数时,不得使用C语言

提供的字符串函数。函

数fun中给出的语句仅

供参考。

void fun(char *a)

{

int i=0,k;

while(a[i]!==’

*’)i++;

k=i;

while(a[i]!=’\0’)

{

if(a[i]!=’*’)

a[k++]=a[i];

i++;

}

a[k]=’\0’;

}

第三十二套

1. 程序填空

给定程序中已建立一

个带头结点的单向链

表,链表中的各结点按

结点数据域中的数据

递增有序链接。函数

fun的功能是:把形参

x的值放入一个新结点

并插入到链表中,插入

后各结点数据域的值

仍保持递增有序。

第一处 s->data=x;

第二处 q=p;

第三处 q->next=s;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:计算

正整数num的各位上的

数字之积。

/**found**/

long k=1;

/**found**/

num/=10

3. 程序设计

请编写函数fun,它的

功能是:计算n门课程

的平均分,计算结果作

为函数返回。

float fun(float

*a,int n)

{

int i;

float ave=0.0;

for(i=0;i

ave=ave/n;

return ave;

}

第三十三套

1. 程序填空

给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。Ss所指字符串数组中共有N个字符,且串长小于M。程序中库函数strstr (s1、s2)的功能是早s1串中查找s2子串,若没有,函数值为0,若有,为非0。

第一处for(i=0;i

第二处if(strstr(ss[i],sub str)!=NULL)

第三处 if(find==0) 2. 程序修改

给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

/**found**/

fun(int x,int y,int z)

/**found**/

return j;

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数。在编写函数时,不得使用C语言提供的字符串函数。

void fun(char *a,int n,int h,int e)

{

char *p=a;

int j=0,len=0;

while(*p){p++;len++;}

while(j

a[j]=a[h+j];

j++;

}

a[j]=0;

}

第三十四套

1. 程序填空

给定程序中,函数fun

的功能是:在形参ss

所指字符串数组中查

找与形参t所指字符串

相同的串,找到后返回

该串在字符串中的位

置(下标值),未找到

则返回-1。ss所指字符

串数组中共有N个内容

不同的字符串,且串长

小于M。

第一处

for(i=0;i

第二处

if(strcmp

ss[i],t)==0

return i;

第三处 if(n==-1)

printf(“\nDon’t

found!\n”);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:从整

数1到55之间,选出

能被3整除、且有一位

上的数是5的那些事,

并且把这些数放在b所

指的数组中,这些数作

为函数值返回。规定,

函数中a1放个位数,

a2放十位数。

/**found**/

a2=k/10;

/**found**/

return i;

3. 程序设计

假定输入的字符串中

只包含字母和*号。请

编写函数fun,它的功

能是:将字符串尾部的

*号全部删除,前面和

中间的*号不删除。

void fun(char *a)

{

char *p=a;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;

*p=0;

}

第三十五套

1. 程序填空

给定程序中,函数fun

的功能是:统计出带有

头结点的单向链表中

结点的个数,存放在形

参n所指的存储单元

中。

第一处 *n=0;

第二处 p=p->next;

第三处

fun(head,&num);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:求出

s所指字符串最后一次

出现的t所指字符串的

地址,通过函数值返

回,在主函数中输出从

此地址开始的字符串;

若未找到,则函数值

NULL。

/**found**/

a=NULL;

/**found**/

if(*r==*p)

3. 程序设计

函数fun的功能是:将

s所指字符串中除了下

标为偶数,同时ASCII

指也为偶数的字符外,

其余的全部都删除:串

中剩余字符所形成的

一个新串放在t所指的

数组中。

void fun(char

*s,char t[ ])

{

int i,j=0;

for(i=0;i

;i+=2)

if(s[i]%2==0)t[j++]

=s[i];

t[j]=0;

}

第三十六套

1. 程序填空

函数fun的功能是:进

行数字字符转换。若形

参ch中是数字字符‘0’

—‘9’,则‘0’转换

成‘9’,‘1’转换成‘8’,

‘2’转换成‘7’,……

‘9’转换成‘0’;若

是其他字符则保持不

变,并将转换后的结果

做函数值返回。

第一处 char fun(char

ch)

第二处 if(ch>=’0’

&&ch<=’9’)

第三处 return ‘9’

-(ch-‘0’);

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:将p

所指字符串中所有字

符复制到b中,要求复

制第三个字符之后插

入一个空格。

/**found**/

b[k]=*p;

/**found**/

b[k++]=’‘;

3. 程序设计

N名学生的成绩已在主

函数中放入一个带头

结点的链表结构中,h

指向链表的头结点。请

编写函数fun,它的功

能是:求出平均分,有

函数值返回。

double fun(STREC *h)

{

STREC *p=h->next;

double av=0.0;

int n=o;

while(p!=NULL)

{

av=av+p->s;

p=p->next;

n++;

}

av/=n;

return av;

}

第三十七套

1. 程序填空

函数fun的功能是:把

形参a所指数组中的偶

数按原顺序依次存放

a[0]、a[1]、a[2]……

中,把奇数从数组中删

除,偶数个数通过函数

值返回。

第一处

if(a[i]%2==0){

第二处

a[j]=a[i];j++;

第三处 return j;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:按以

下递推公式求函数值。

例如,当给n输出5时,函数值为18;当给n 输入3时,函数值为14.

/**found**/

fun(int n)

/**found**/

if(n==1)

3. 程序设计

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n 个,则什么也不做,字符串中间和前面的*号不删除。

void fun(char *a,int n)

{

char *p=a;

int j=0;

while(*p)p++;p--; while(*p==’*’)p--; p++;

while(j

p++;

j++;

}

*p=0;

}

第三十八套

1. 程序填空

给定程序中,函数fun 的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。ss 所指定字符串数组中共有N个字符串,且串长小于M。

第一处 k=i

第二

if(strlen(ps[k])

ps[j]))k=j;

第三处tp=ps[i];ps[i]=ps[k ];ps[k]=tp;

2. 程序修改

已知一个数列从第0项开始的前三项分别是0、0、1以后的各项都是它相邻的前三项之和。给定程序MODI1.C

中函数fun的功能是:

计算并输出该数列前n

项的平方根之和。n的

值通过形参传入。

/**found**/

double fun(int n)

/**found**/

return sum;

3. 程序设计

请编写函数fun,它的

功能是:计算下列级数

和,和值由函数值返

回。例如,当n=10,

x=0.3时,函数值为

1.349859。

double fun(double

x,int n)

{double s=1.0,y=x;

int i;

for(i=1;i<=n;i++)

{

s+=y/(double)jc(i);

y*=x;

}

return s;

}

第三十九套

1. 程序填空

给定程序中,函数fun

的功能是:计算x所指

数组中N个数的平均值

(规定所有数均为正

数),平均值通过形参

返回主函数,将小于平

均值且最接近平均值

的数作为函数值返回,

在主函数中输出。

第一处 *av=s/N;

第二处

d=*av-x[i];j=i;}

第三处 return x[j];

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

整型形参n计算如下公

式的值。例如:若n=10,

则应输出:0.617977.

/**found**/

float fun(int n)

/**found**/

for(i=2;i<=n;i++)

3. 程序设计

程序定义了N×N的二

维数组,并在主函数中

自动赋值,请编写函数

fun,它的功能是:使

数组右上三角元素中

的值乘以m。

int fun(int

a[][N],int m)

{

int i,j;

for(i=0;i

for(j=i;j

a[i][j]*=m;

}

第四十套

1. 程序填空

给定程序中,函数fun

的功能是:将s所指字

符串所有数字字符移

到所有非数字字符之

后,并保持数字字符串

和非数字字符串原有

的先后次序。

第一处 j++;

第二处 s[i]=t1[i];

第三处

for(i=0;i

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:用冒

泡法对6个字符串按由

小到大的顺序排列。

/**found**/

for(j=i+1;j<6;j++)

/**found**/

*(pstr+i)=*(pstr+j)

;

3. 程序设计

请编写函数fun,它的

功能是:求出ss所指

字符串中指定字符个

数,并返回次值。

int fun(char

*ss,char c)

{

int cnt=0;

char *p=ss;

while(*p){

if(*p==c)cnt++;

p++;

}

return cnt;

}

第四十一套

1. 程序填空

给定程序中,函数fun

的功能是:将形参s所

指定字符串中的数字

字符转换成对应的数

值,计算出这些数值的

累加和作为函数值返

回。

第1处

if(isdigit(*s))sum+

=*s-48;

第2处s++;

第3处return sum;

2. 程序修改

给定程序MODI1.C中函

数fun的功能是:计算

小于形参k的最大的

10个能被13或17整除

的自然数之和。K的值

由主函数传入,若K的

值为500.则主函数为

4622。

/**found**/

if((k%13= =0││

(k%17= =0))

/**found**/

}

3. 程序设计

请编写函数fun,它的

功能是:求小于形参n

同时能被3和7整除的

所有自然数之和的平

方根,并作函数的返回

值。

double fun(int n)

{

double sum=0.0;

int i;

for(i=21;i<=n;i++)

if((i%3= =0)&&(i%7=

=0))sum

+=i;

return sqrt(sum);

}

第四十二套

1 程序填空

给定程序中,函数fun

的功能是:将不带头结

点的单向链表结点数

据域中的数据从小到

大排序。即若原链表节

点数据域从头到位的

数据为10、4、2、8、6,

排序后链表结点数据

域从头至尾的数据为

2、4、6、8、10.

第1处q=p->next;

第2处while(q)

第3处 p=p->next;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:将s

所指字符串中的字母

转换为按字母顺序的

后续字母(但Z转化成

A,z转换为a),其它

字符不变。

/**found**/

while(*s)

/**found**/

s++;

3程序设计

void fun(int*w, int p, int n)

{

int i,j=0,b[N];

for(i=p+1;i

for(i=0);i<=p;i++)

b[j++]=w[i];

for(i=0;i

w[i]=b[i];

}

第四十三套

1 程序填空

给定程序中,函数fun 的功能是:判定形参a 所指的N乘以N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值是1;不是,函数返回值为0.“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。

第1处row=colum=0; 第2处

if((row!=colum)││(row!=m1))return 0; 第3处return 1;

2 程序修改

给定程序MODI1.C中函数fun的功能是:根据整型形参m计算如下公式的值。

/**found**/

t=t-1.0/i;

/**found**/

return t;

3 程序设计

请编写一个函数,函数的功能是:删除字符串中所有的空格。

int fun(char *str) {

char *p=str;

int i=0;

while(*p){

if(*p!=’’)str[i+ +]=*p;

p++;

}

str[i]=0;

} 第四十四套

1 程序填空

给定程序中,函数fun

的功能是:将N乘以N

矩阵中元素的值按列

右移一个位置,右边被

移出矩阵的元素绕回

左边。

第1处

for(i=0;i

第2处x=t[i][N-1];

第3处t[i][0]=x;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:计算

并输出下列级数的前n

项的和Sn,直到Sn+1

大于q为止,q的值通

过形参传入。

/**found**/

s=s+(n+1.0)/n;

/**found**/

return t;

3程序编写

编写函数fun,它的功

能是:求Fibonacci数

列中大于t的最小一个

数,结果由函数返回。

其中Fibonacci数列F

(n)定义为

F(0)=0,F(1)=1,F(n)。

。。

int fun(int t)

{

int f0=0,f1=1,f;

do

{f=f0+f1;

f0=f1;

f1=f;

}while(f

return f;

}

第四十五套

1 程序填空

给定程序中,函数fun

的功能是将带头结点

的单向链表逆置。即若

原链表中从头至尾结

点数据域依次为:2、4、

6、8、10,逆置后,从

头至尾结点数据域依

次为:10、8、6、4、

2.。

第1处p=h->next;

第2处if (p= =0)

return;

第3处p=q;q=r;

2 程序修改

给定MODI1.Cfun函数

的功能是:计算s所指

字符串中含有t所指字

符串的数目,并作为函

数值返回。请改正函数

fun中指定部位的错

误,使它能得出正确的

结果。

/**found**/

r=t;

/**found**/

if(*r= =0)

3 程序设计

请编写函数fun,函数

的功能是:将放在字符

串数组中的M个字符串

(每串的长度不超过

N),按顺序合并组成一

个新的字符串,函数

fun中给出的语句提供

参考。

void fun (char

a[M][N]),char *b)

{int i;*b=0;

for(i=0;i

cat(b,a[i]);

}

第四十六套

1 程序填空

给定程序中,函数fun

的功能是:将形参s所

指字符串所有ASCII码

小于97的字符存入形

第1处

*(t+n)=*s;n++;}

第2处s++;

第3处return n;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:由形

参给定n个实数,输出

平均值以上(含平均

值)的实数个数。

/**found**/

int j,c=0;float

xa=0.0;

/**found**/

if(x[j]>=xa)

3 程序设计

编写函数fun,其功能

是:根据以下公式求p

的值,结果由函数值带

回。m与n为两个正整

数且要求m>n。

p=m!/(n!*(m-n)!)

float fun(int m, int

n)

{

float p;

p=1.0*jc(m)/jc(n)/j

c(m-n);

return p;

}

第四十七套

1 程序填空

函数fun的功能是:计

算f(x)=1+x-x2∕2!+x3

∕3!-X4/4! 直到∣

x n/n!∣<10-6若

x=2.5,函数值为:

1.917915。

第1处t=x

第2处

t*=(-1.0)*x/n;

第3处

while(fabs(t)>=1e-6

)

2 程序修改

给定程序MODI1.C中函

数fun的功能是:求整

数x的y次方的低3位

值。例如,整数5的6

次方为15625,此值的

低3位值为625。

/**found**/

for(i=1;i<=y;i++)

/**found**/

t=t%1000;

3程序设计

请编写函数fun,其功

能是:计算并输出当x

﹤0.97时下列多项式

的值,直到

Sn-Sn-1<0.000001为

止。

double fun(double x)

{

int n=1;

double sn=1;

double xn=1,xn1=0;

while(fabs(xn-xn1)>

=0.000001)

{

xn=xn*x*(0.5-n+1)/n

;

n+=1;

sn+=xn;

}

return(sn);

}

第四十八套

1 程序填空

给定程序中,函数fun

的功能是:计算出带有

头节点的单向链表中

各节点数据域中值之

和作为函数值带回。

第1处s+=p->data; 第2处p=p->next;

第3处

printf(“\nsum=%d\n ”,fun(head));

2 程序修改

给定程序MODI1.C中函数fun的功能是:将s 所指字符串中出现的与t1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。

/**found**/

while(*r)

/**found**/

*a=*r;a++;r++;

3 程序设计

函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。void fun(char *s,char t[])

{

int i,j=0;

for(i=1;i

t[j++]=s[i];

t[j]=0;

}

第四十九套

1 程序填空

给定程序中,函数fun 的功能是:把形参s所知字符串中最左边的n 个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。第1处if(n>=len)strcpy(t, s);

第2处t[j++]=s[i]; 第3处t[j]=0;

2 程序修改

给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值带回。/**found**/

if(i%k= =0)

/**found**/

if(k>=i)

3 程序设计

编写函数fun,它的功

能是:求出能整除形参

x切不是偶数的各整

数,并按从小到大的顺

序放在pp所指的数组

中,这些除数的个数通

过形参n返回。

void fun(int x,int

pp[],int*n)

{

int i;

*n=0;

for(i=1;i<=x;i++)

if((x%i==0)&&(i%2))

pp[(*n)++]=i;

}

第五十套

1 程序填空

给定程序中,函数fun

的功能是:将形参s所

知字符串中的所有数

字字符顺序前移,其他

字符顺序后移,处理后

新字符串的首地址作

为函数值返回。

第1处

p[j]=s[i];j++;}

第2处

for(i=0;i

+i]=t[i];

第3处return p;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:首先

把b所指字符串中的字

符按逆序存放,然后将

a所指字符串中的字符

和b所指字符串中的字

符,按排列的顺序交叉

合并到c所指数组中,

过长的剩余字符接在c

所指数组的尾部。

/**found**/

while(i

/**found**/

if(*a)

3 程序设计

函数fun的功能是:将

s所指字符串中下标为

偶数同时ASCII值为奇

数的字符删除,s 所指

串中剩余的字符形成

的新串放在 t所指的

数组中。

void fun(char

*s,char t[])

{

int i,j=0;

for(i=0;i

;i++)

if(!((i%2)=

=0&&(s[i]%2)))

t[j++]=s[i];

t[j]=0;

}

第五十一套

1 程序填空

给定程序中,函数fun

的功能是:计算下式

s=1/22+3/42+5/62…+(2

×n-1)/(2×n)2直到

︱(2×n-1)/(2×n)

2︱《10-3并把计算结果

作为函数值返回。例

如,若形参e的值le-3 ,

函数值的返回值为

2.735678。

第1处i=0;

第2处i++;

第3处x=(2.0*i-1) /

((2.0*i)* (2.0*i));

2 程序修改

给定程序MODI1.C中函

数fun的功能是:将s

所指字符串的正序和

反序进行连接,形成一

个新串放在t所指的数

组中。

/**found**/

void fun(char*s,

char *t)

/**found**/

t[2*d]=’\0’;

3 程序设计

函数fun的功能是:将

s所指字符串中除了下

标为奇数、同时ASCII

值也为奇数的字符之

外,其余的所有字符都

删除,串中剩余字符所

形成的一个新串放在t

所指的数组中。

viod fun(char*s,

chat t[])

{

int i,j=0;

for(i=1;i

;i+=2)

if(s[i]%2)

t[j++]=s[i];

t[j]=0;

}

第五十二套

1 程序填空

给定程序中,函数fun

的功能是:在3×4的

矩阵中找出在行上最

大,列上最小的那个元

素,若没有符合条件的

元素则输出相应信息。

第1处

max=a[i][j];c=j;}

第2处find=0;

第3处i++;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

整形形参m的值:计算

如下公式的值?……例

如:若m中的值为5,则

应输出:0.536389。

/**found**/

for(i=2;i<=m;i++)

/**found**/

y-=1.0/(i*i);

3 程序设计

m个人的成绩存放在

score数组中,请编写

函数fun,它的功能是:

将低于平均分的人数

作为函数值返回,将低

于平均分的分数放在

below所指的数组中。

int fun(int

score[],int m,int

below[])

{

float av=0.0;

int i,j=0;

for(i=0;i

av+=score[i];

av/=m;

for(i=0;i

if(av>score[i])

below[j++]=score[i]

;

return j;

}

第五十三套

1 程序填空

给定程序中,函数fun

的功能是将形参指针

所指结构体数组中的

三个元素按num成员进

行升序排列。

第1处void

fun(PERSON*std)

第2处PERSON temp;

第3处fun(std);

2 程序修改

给定程序MODI1.C中函数fun的功能是:将m (1≦m≦10)个字符串连接起来,组成一个新串,放入pt所指存储区中。

/**found**/

int k,q,i;

/**found**/

pt[i]=str[k][i];

3 程序设计

程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N]),函数的功能是:使数组左下三角元素中的值全部置成0。

int fun(int a[][N]) {

int i,j;

for(i=0;i

for(j=0;j<=i;j++)

a[i][j]=0;

}

第五十四套

1 程序填空

给定程序中,函数fun 的功能是:计算形参x 所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。第1处av=0;

第2处av=av+x[i]/N; 第3处y[j++]=x[i];

2 程序修改

给定程序MODI1.C中函数fun的功能是:根据整形形参m,计算如下公式的值。

/**found**/

double fun(int m)

/**found**/

for(i=100;i<=m;i+=1 00)

3 程序设计

已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入a 结构体数组中,轻便鞋函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)

fun(STU a[],STU *s)

{

int

i,min=a[0],s,j=0;

for(i=1;i

if(min>a[i].s){

j=i;

min=a[i].s;

}

*s=a[j];

}

第五十五套

1程序填空

给定程序中,函数fun

的功能是:判断形参s

所指字符串是否是“回

去”(Palindrome)若

是,函数返回值为1;

不是,函数返回值为0,

“回文”是正读和反读

都是一样的字母串(不

区分大小写字母)。

第1处1p=s;

第2处1p++;rp--;}

第3处

if(1p

2 程序修改

给定程序MODI1.C中函

数fun的功能是:求出

以下分数序列的前n项

之和。

2/1+3/2+5/3+8/5+13/

8+21/13+……和值通

过函数值返回main函

数。例如n=5,则应输

出:8.391667。

/**found**/

double fun(int n)

/**found**/

c=a;a+=b;b=c;

3程序设计

请编写函数fun,函数

的功能是:将大于形参

m且紧靠m的k个素数

存入xx所指的数组中。

19,23,29,31,37,

函数fun中给出的语句

仅供参考。

void fun(int m,int

k,int xx[])

{

int i,j=1,t=m+1;

while(j<=k)

{

for(i=2;i

if(t%i= =0)break;

if(i= =t){

xx[j-1]=i;

j++;

}

t++;

}

}

第五十六套

1 程序填空

给定程序的功能是:从

键盘输入若干行文本

(每行不得超过80个

字符),写到文件

myfile4.txt中,用-1

作为字符串输入结束

的标志。然后将文件的

内容读出显示在屏幕

上。文件的读写分别由

自定义函数ReadText

和WriteText实现。

第1处void

WriteText(FILE*fw)

第2处

fputs(str,fw);fputs

(“\n”,fw);

第3处

printf(“%s”,str);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:从低

位开始取出长整形变

量s中奇数位上的数,

依次构成一个新数t

中。高位仍在高位,低

位仍在低位。

/**found**/

void fun(long

s,long*t)

/**found**/

s1=s1*10;

3 程序设计

函数fun的功能是:将

两个两位数的正整数

a 、b合并形成一个整

数放在c中。合并的方

式是:将a数的十位和

个位数依次放在 c 数

的十位和百位上,b数

的十位和个位数依次

放在c数的千位和十位

上。

void fun(int a,int

b,long*c)

{

*c=(b/10)*1000+(a%1

0)*100+(b%10)*10+(a

/10);

}

第五十七套

1 程序填空

给定程序中,函数fun

的功能是:计算出形参

s所指字符串中包含的

单词个数,作为函数值

返回。为便于统计,规

定各单词之间用空格

隔开。

第1处n++;flag=1;}

第2处if(*s=

=’’)flag=0;

第3处s++;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:从n

(形参)个学生的成绩

中统计出低于平均分

的学生人数,此人数由

函数值返回,平均分存

放在形参aver 所指的

存储单元中。

/**found**/

t+=s[k];

/**found**/

*aver=ave;

3程序设计

请编写函数fun,其功

能是求出数组的最大

元素在数组中的下标

并存放在k所指的存储

单元。

int fun(int *s,int

t,int *k)

{

int i,pos=0,max=*s;

for(i=1;i

{

if(max<*(s+i)){

max=*(s+i);

pos=i;

}}

*k=pos;

}

第五十八套

1 程序填空

给定程序中,函数fun

的功能是计算下式

s=3/22-5/42 +7/62

-…+(-1)n-1(2×

n-1)/(2×n)2直到︱

(2×n-1)/(2×n2)︱

≤10-3并把计算结果作

为函数值返回,例如:

若形参e的值为-le-3,

函数的返回值为

0.551690。

第1处x=3.0/4;

第2处while(x>e)

第3处x=(2*i+1)/(t*t);

2 程序修改

给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1,3/2,5/2,8/5,13/ 8,31/13…和值通过函数值返回到main函数。/**found**/

double fun(int n) /**found**/

s=s+(double)a/b;

3 程序设计

请编写函数fun,它的功能是:求出一个2×M 整型二维数组中最大元素的值,并将此值返回调有函数。

fun(int a[][M])

{

int i,j,max=a[0][0]; for(i=0;i<2;i++)

for(j=0;j

if(max

max=a[i][j];

return max;

}

第五十九套

1 程序填空

函数fun的功能是:把形参a所指数组中的的最小值放在元素a[0],接着把形参a所指数组中的最大值放a[1]元素中;再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。

第1处max=min=a[i]; 第2处if(maxa[j]) 2 程序修改

给定程序MODI1.C中函数fun的功能是:用递归算法计算列中第n项的值。从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……/**found**/

switch(g)

/**found**/

case 1:return 1; case 2:return 1;

3 程序设计

某学生的记录由学号、8门课程和平均分组

成,学号和8门课程成

绩已在主函数中给出。

请编写函数fun,它的

功能是;求出该学生的

平均分放在记录的ave

成员中。

void fun(STREC *a)

{ int i;

for(i=0;i

a->ave=a->ave+a->s[

i];

a->ave/=N

}

第六十套

1 程序填空

给定程序中,函数fun

的功能是:有N×N矩

阵,以主对角线为对称

线,对称元素相加并将

结果存放在左下三角

元素中,右上三角元素

来。

第1处 void fun (int)

(*t)[N]

第2处

t[i][j]=t[i][j]+t[j

][i];

第3处 t[j][i]=0;

2程序修改

给定程序MODI1.C中函

数fun的功能是:计算

函数值,F(x,y,z)

=(x+y)/(x-y)+(z+y)/

(z-y)其中x和y的值

不等,z和y的值不等。

例如,当x的值为9、y

的值为11、z的值为15

时,函数值为-3.50。

/**found**/

#define FU(m,n)

((m)/(n))

/**found**/

return (value);

}

3程序设计

规定输入的字符串中

只包含字母和*号。请

编写函数fun ,它的功

能是:将字符串中的前

导*号全部删除,中间

和尾部的*号不删除。

void fun (char *a)

{

int j=0;

char *p=a;

while (*p=='*')p++;

while (*p){

a[j++]=*p;

p++;

}

a[j]=0;

}

第六十一套

1 程序填空

人员的记录由编号和

出生年、月、日组成,

N名人员的数据已在主

函数中存入结构体数

组std中。函数fun的

功能是:找出指定出生

年份的人员,将其数据

放在形参k所指出的数

组中,由主函数输出,

同时由函数值返回满

足指定条件的人数。

第1处if

(std[i].year==year)

第2处

k[n++]=std[i];

第3处 return (n);

22程序修改

给定程序MODI1.C中函

数fun的功能是:读入

一个整数k(2≤k≤

10000)打印它的所有

质因子(即所有为素数

的因子)。

/**found**/

IsPrime (int n)

/**found**/

if (!(n%i))

33程序设计

已知学生的记录由学

号和学习成绩构成,N

名学生的数据已存入

结构体数组a中。请编

写给函数fun,函数的

功能是:找出成绩最高

的学生的记录,通过形

参指针传回主函数(规

定只有一个最高分),

已给出函数的首部,请

完成函数。

fun(STU a[],STU *s)

{

int i, max = a[0]. s,

j=0;

for (i=1; i

{ if (max

j=i;

max =a[i].s;

}

*s=a[j];

}

第六十二套

1程序填空

给定程序中,函数fun

的功能是:将N×N矩

阵主对角线元素中的

值与反向对角线对应

位置上元素中的值进

行交换。例如:若N=3

有下列矩阵:

1 2 3

4 5 6

7 8 9

交换后:

3 2 1

4 5 6

9 8 7

第1处 void fun (int

t [] [N], int n)

第2处 for (i=0; i

i++)

第3处t [i]

[n-i-1]=s;

2 程序修改

由N个有序整数组成的

数列已放在一维数组

中,给定程序MODI1.C

中函数fun的功能是:

利用折半查找算法查

找整数m在数组中的位

置。若找到,返回其下

标值;反之,返回-1.

折半查找的基本算法

是:每次查找前先确定

数组中待查的范围:

low和high(low﹤

high),然后把m的值

大于中间位置元素中

的值,则下一次的查找

范围落在中间位置之

前的元素中。直到low

﹥high,查找结束。

/**found**/

fun (int a [], int m)

/**found**/

else if (m>a [mid])

3 程序设计

假定输入的字符串中只包含字母和*号,请编写函数fun,它的的功能是:除了尾部的*号之外,将字符串中其他*全部删除。形参p 已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。

void fun (char *a,char *p)

{

char *q=a;

int j=0;

while (*q&&q

if (*q!=' *')

a[j++]=*q;

q++;

}

while (*p) a [j++] = *p++;

a [j]=0;

}

第六十三套

1 程序填空

给定程序中,函数fun 的功能是;求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。Ss所指字符串数组中共M个字符串,且串长﹤N。

第1处for (i=0;i

第2处 if (len<*n) 第3处 return(k);

2 程序修改

给定程序MODI1.C中函数fun的功能是:将tt 所指字符串中的小写字母都改为对应的大写字母,其他字符不变。

/**found**/

if (( ' a ' <=tt[i])&&(tt[i]

<= ' z ' ))

/**found**/ tt[ i ]- =32;

3程序设计

请编写函数fun,函数

的功能是:将所有大于

1小于整数 m的非素数

存入xx所知数组中,

非素数的个数通过k传

回。

void fun (int m, int

*k, int xx[])

{

int i , cnt=0;

for (i=0; i

if (isP(i)) xx

[cnt++]=i;

*k=cnt;

}

第六十四套

1 程序填空

给定程序中,函数fun

的功能是:对形参ss

所指字符串数组中的M

个字符串按长度由短

到长进行排序。Ss所指

字符串数组中共有M个

字符,且串长﹤N。

第1处 for (j=i+1;

j

第2处 k=j;

第3处 strcpy (ss[k],

t);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:判断

ch中的字符是否与str

所指串中的某个字符

相同:若相同,什么也

不做,则将其插在串的

最后。

2 /**found**/

if (*str! =ch)

/**found**/

str [1]=0;

3 程序设计

请编写一个函数

fun(chae*s),函数的

功能是把s所指的字符

串中的内容逆置。

fun (char *s)

{

char b[N];

int i=0, j;

meset (b,0,N);

for (j=strlen(s)-1;

j>=0; j--)

b [i++]=s[j];

strcpy (s,b);

}

第六十五套

1程序填空

给定程序中,函数fun

的功能是:计算下式前

5项的和作为函数值返

回。S=1×3/22-3×

5/42+5×7/62-……

+(-1)n-1(2×n-1)×(2

×n+1)/(2×n)2例如,

当形参n的值为10时,

函数返回:-0.204491。

第1处 k=1;

第2处 t=2*j;

第3处 k=k*(-1);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:判断

一个整数是否是素数,

若是返回1,否则返回

0.

/**found**/

K++;

/**found**/

if (m==k)

3 程序设计

请编写一个函授fun,

它的功能是:找出一维

整数组元素中最大的

值和他所在的下标,最

大的值和它所在的下

标通过形参传回。数组

元素中的值已在主函

数中赋予。主函数中x

是数组名,n是x中的

数据个数,max存放在

大值,index存放最大

值所在元素的下标。

void fun (int a[],

int n, int *max, int

*d)

{

int i;

*max=a[0];*d=0;

for (i=1; i

if (*max

{ *max=a[ i ];

*d=i;

}

}

第六十六套

1程序填空

给定程序中,函数fun

的功能是:在形参s所

知字符串中的每个数

字字符之后插入一个*

号。

第1处 if (s[ i ]>='

0' &&s [ i ]<=' 9')

第2处while

(s[i+1+n]! =0)n++;

第3处 s[j+1]=s [j];

2 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

整形形参m=1,计算如

下公式的值。

m=1+1/2*2+1/3*3+1/4

*4…1/m*m

例如,若m中的值为5,

则应输出1.463611

2 /**found**/

for (i =2 ; i<= m;

i++)

/**found**/

y+=1. 0/ ( i* i) ;

3 程序设计

编写函数fun,函数的

功能是:实现B=A+A’

即把矩阵A加上A的转

置,存放在矩阵B中。

计算结果在main函数

中输出。

void fun ( int a [3]

[3], int b [3] [3])

{

Int c [3] [3];

int i,j;

for (i=0;i<3;i++)

for (j=0; j<3; j++)

{

c [i][j]=a [j] [i] ;

b [i] [j]=a[i] [j] +c

[i] [j] ;

}

}

第六十七套

1 程序填空

给定程序中,函数fun

的功能是:找出

100~999之间(含100

和999)所有整数中个

位上数字之和为x(x为

一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。

第1处while (t<=999)

第2处s1=t%10; s2=(t/10)%10;s3=t/1 00;

第3处if (s1+s2+s3==x)

2 程序修改

给定程序MODI1.C中函数fun的功能是:低位开始取出长整形变量s 中偶数位上的数,依次构成一个新数放在t 中。高位仍在高位,低位仍在低位。

/**found**/

void fun (long s, long *t)

/**found**/

while (s>0)

3程序设计

学生的记录由学号和学生成家组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能是;按分数的高低排列学生的记录,高分在前。

int fun (STREC a[]) {

STREC tmp;

int i,j;

for (i=0;i

a [i]=a [j];

a[j] =tmp;

}}

第六十八套

1 程序填空

给定程序中,函数fun 的功能是:将形参n中,个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数。并作为函数值返回。

1 第1处 if (t%2==0) 第2处 x=10*x+t;

第3处 n=n/10;

2 程序修改

给定程序MODI1.C中函数fun的功能是:将长

整数中每一位上为奇

数的数依次取出,构成

一个心数放在t中。高

位仍在高位,低位仍在

低位。

/**found**/

*t=0;

/**found**/

if (d%2!=0)

3 程序设计

编写一个函数fun,它

的功能是:实现两个字

符串的连续(不使用库

函数strcat),即把p2

所指的字符串连接到

p1所指的字符串后。

void fun (char p[],

char p2[])

{

char *p=p1;

while (*p)p++;

while

(*p2)*p++=*p2++;

*p=0;

}

第六十九套

1 程序填空

甲乙丙丁四人同时开

始放鞭炮,甲每隔t1

秒放一个,乙每隔t2

秒放一个,丙每隔t3

秒放一个,丁每隔t4

秒放一个,每人各放n

次。函数fun的功能是

通过形参提供的信息,

求出总共听到多少次

鞭炮声作为函数值返

回。注意,当几个鞭炮

同时炸响,只算一声响

声,第一声响是在第0

秒。

1 第1处 max t =t1;

第2处 for (t=1; t<

max t*(n-1); t++)

第3处 return count;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

输入的三个边长(整值

型),判断能否构成三

角形,还是等腰三角

形。若能够构成等边三

角形函数返回3,若能

构成等腰三角形,函数

返回2,若构成一般三

角形,则函数返回1,

若不能构成三角形,则

函数返回0.

/**found**/

int fun (int a,int b,

int c)

/**found**/

else return 1;

3 程序设计

编写一个函数fun,它

的功能是:计算并输出

3到n之间(含3和n)

所有素数平方根之和。

double fun (int n)

{

int i, j=0;

double s=0;

for (i=3;i<=n; i++){

for (j=2; j

if ( i %j==0)break;

if (j==i)

s =s+sqrt ( i );

}

return s;

}

第七十套

1 程序填空

给定程序中,函数fun

的功能是:统计长整数

n的各个位数上出现数

1、2、3的次数,并通

过外部(全局)变量c1、

c2、c3返回主函数。

第1处 switch (n%10)

第2处 case 1: c1++;

break;

第3处 case 2: c2++;

break;

2 程序修改

给定程序modi1.c中函

数fun函数功能是:统

计一个无符号整数中

各位数字值为零的个

数,通过形参传回主函

数并把该整数中各位

上最大的数字值作为

函数值返回。

/**found**/

if (t==0)

/**found**/

*zero =count;

3 程序设计

请编写一个函数fun,

它的功能是:计算并输

出下列多项式的值:

double fun (int n)

{

double s=0, t=1;

int i ;

for ( i=1; i<=n;i++)

{ t*=1;

s+=1. 0/t;

}

return s;

}

第七十一套

1 程序填空

给定程序中,函数fun

的功能是:反形参a所

指数组中的最大值放

在a[0]中,接着求出a

所指数组中的最小值

放在a[1]中;再把a

所指数组元素中的次

大值放在a[2]中,吧a

组元素中的次小值放

在a[3]中,依此类推。

第1处 void fun (int

*a, int n)

第2处for (i=0;

i

第3处 for (j=i+1;

j

2 程序修改

给定程序modi1.c中函

数fun函数功能是:按

顺序给s所指数组中元

素赋予从2开始的偶

数,然后再按顺序对每

五个元素求平均值,并

将这些值依次存放在w

所指的数组中,若s所

指数组中元素个数不

是5的倍数,多余部分

忽略不计。

/**found**/

sum=0.0;

/**found**/

if ((i+1)%5==0)

3 程序编写

学生的记录由学号和

成绩组成,N名学生的

数据已在主函数中放

入结构体数组s中,低

于平均分的学生人数

通过形参n传回。平均

分通过函数值返回。

double fun (STREC *a,

STREC *b, int *n)

{

int i;

double ave=0. 0;

*n=0;

for (i=0; i

i++)

ave =ave=a[ i ].

S;

ave /=N;

for( i=0 ; i

if (a [i]. s

{ b[*n]=a[ i ];

(*n)++;

}

return ave;

}

第七十二套

1 程序填空

给定程序中,函数fun 的功能是:统计所有<=n(n>2)的素数的个数,素数的个数作为函数值返回。

第1处for ( j=2; j

第2处 if (i%j==0)

第3处 if (j>=i)

2 程序修改

数列中,第一项值为3,后一项都比前一项的增5;给定程序modi1.c 中函数fun函数功能是:计算前n(4

/**found**/

sum =0; j=0;

/**found**/

if (sum %4==2)

3 程序设计

请编写一个函数fun,它的功能是:计算并输出下列多项式的值:……例如,在主函数中从键盘给n输入8后,输出为

s=0.662872。注意:要求n的值大于1但不大于10.

double fun (int n)

{

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;

}

第七十三套

1 程序填空

给定程序中,函数fun

的功能是:

f(x)=1+x+x2/+…+x n/n!

直到|x/n!|<10-6,若

x=2.5,函数值为:

12.182494。

第1处 f=1. 0+x ;

第2处 t*=x/n

第3处 f+=t ;

2 程序修改

给定程序MODI1.C中

fun函数的功能是:计

算n的5次方的值(规

定n的值大于2 小于

8),通过形参指针传向

主函数,并计算该值的

个位、十位、百位上的

数字之和作为函数值

返回。

/**found**/

d=1 ; s=0 ;

/**found**/

d=d/10 ;

3 程序设计

请编写一个函数fun,

它的功能是:计算并输

出给定数组(长度为9)

中每相邻两个元素之

平均值的平方根之和。

double fun (double

x[9])

{

int i ;

double avg=0. 0,

sum=0. 0 ;

for (i=0 ; i<8 ; i++){

avg =( x [i] + x

[i+1])/2;

sum += sqrt ( avg);

}

rturn sum ;

}

第七十四套

1 程序填空

给定程序中,函数fun

的功能是:计算

f(x)=1+x+x2/+…+x n/n!

的前n项。若x=2.5,

函数值为:12.182340。

第1 处 t=1 ;

第 2 处for

(i=1 ;i

第3处 t*=x/ i ;

2 程序修改

给定程序MODI1.C中

fun函数的功能是:找

出100至n(n不大于

1000)之间三位数字相

等的所有整数,把这些

整数放在s所指数组

中,个数作为函数值返

回。

/**found**/

k= i ;

/**found**/

c=k%10;

3 程序设计

请编写一个函数fun,

它的功能是:计算并输

出给定10个数的方差:

例如,给定的10个数

为95.0、89.0、76.0、

65.0、88.0、72.0、

85.0、81.0、90.0、

56.0、1输出为

s=11.730729.

double fun (double x

[10])

{

Int i;

double avg =0. 0, sum

=0. 0, abs =0. 0, fc;

for (i=0; i<10; i ++)

sum +=x[ i ];

avg =sum/10;

for (i=0; i<10; i++)

abs +=(x[i]- avg)*(x

[i ] -avg );

fc =sqrt (abs/10);

return fc ;

}

第七十五套

1 程序填空

给定程序中已经

建立一个带有头结点

的单项链表,在main

函数中将多次调用fun

函数,每调用一次fun

函数,输出链表尾部结

点中的数据,并释放该

结点,使链表缩短。

第1处 t=t- >next;

第2处 printf ("%d" ,

t->data);

第3处 free (t);

2 程序修改

给定程序

MODI1.C中fun函数的

功能是:将字符串中的

字符按逆序输出,但不

改变字符串中的内容。

/**found**/

fun (char *a )

/**found**/

printf ( "%c" , *a);

3 程序设计

编写一个函数

fun,它的功能是:比

较两个字符串的长度

(不得调用C语言提供

的求字符串长度的函

数),函数返回较长的

字符串。若两个字符串

长度相同,则返回第一

个字符串。

char *fun (char *s,

char *t)

{

int i ;

char *p =s ,*q=t;

for (i=0; *p&&*q ;

i++){

p++ ; q++;

}

if (*p==0&&*q==0)

return s;

if (*p) return s;

else return t;

}

第七十六套

1 程序填空

在给定程序中,函数

fun的功能是在形参s

所指字符串中寻找与

参数c相同的字符,并

在其后插入一个与之

相同的字符,若找不到

相同的字符则函数不

做任何处理。

第1处for (i=0;

s[ i ]!='\0' ;i++)

第2处 n=0;

第3处 s[j+1] =c ;

2 程序修改

在主函数中键盘输入

若干个数放入数组中,

用0结束输入并放在最

后一个元素中。给定程

序MODI1.C中函数fun

的功能是:计算数组元

素中值为正数的平均

值(不包括零)

/**found**/

double sum =0. 0;

/**found**/

sum/=c;

3 程序设计

编写程序fun,它的功

能是:根据以下分工计算s,计算结果作为函数值返回:n通过形参传入。

float fun (int n)

{

int i, j, t;

float s=0;

for(i=1;

i<=n;i++){

t=0;

for (j=1; j<=i; j++)

t+=j;

s=s+1. 0/t;

}

return s;

}

第七十七套

1 程序填空

给定程序中,函数fun 的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。如输入一个数:27638496,新的数为729

第1处 { t=*n%10 ; 第2处 if (t %2!=0) 第3处 *n=x ;

2 程序修改

给定程序modi1.c中函数fun函数功能是:计算n!。例如,给n输入5,则输出120.000000。/**found**/

if (n==0)

/**found**/

result *=n--;

3 程序设计

请编写一个函数fun,它的功能是:将一个数字字符转换为一个整数(不得调用C语言提供的将字符转换为整数的函数)。例如,若输入字符串“-1234”,则函数将它转换为整数值-1234.

long fun (char *p) {

int i, len , t;

long x=0;

len =strlen (p);

if (p[0]== ' - ') { t= - 1; len--;p++;}

else t=1;

While (*p)

x =x*10 - 48 +(*p++);

return x*t;

}

第七十八套

1 给定程序中,函数

fun的功能是将形参给

定的字符串、整数、浮

点数写到的文本文件

中,再用字符方式从此

文本文件中逐个读入

并显示在终端屏幕上。

请在程序的下划线处

填入正确的内容分并

把下划线删除,使得程

序得出正确的结果。

注意:源程序存

放在考生文件夹下的

BLANK1.C中。

第1处 FILE * fp;

第2处 while (!feof

(fp)) {

第3处 putchar (ch) ;

ch= fgetc (fp); }

2 程序修改

给点那个程序MODI1.C

中函数fun的功能是:

依次取出字符串中所

有的数字字符,形成新

的字符串,并取代原字

符串。

/**found**/

s [j++]=s [ i ];

/**found**/

s [ j ]= ' \ 0 ' ;

3 程序设计题

请编写函数fun,函数

的功能是:将M行N列

的二维数组中的字符

数据,按列的顺序依次

放到一个字符串中。

void fun (char s[]

[N] , char *b)

{

int i, j, n=0;

for (i=0; i

/*请填写其相应语句

完成其功能*/

{

for ( j=0 ; j

{

b [n] =s [j ] [i ];

n= i *M+j+1;

}

}

b [n] = ' \0 ' ;

}

第七十九套

1 程序填空

给定程序中,函数fun

的功能是将带头结点

的单项链表结点数据

域中的数据从小到大

排序,即若原链表节点

数据域从头至尾的数

据为:10、4、2、8、6,

排序后链表结点数据

域从头至尾的数据为:

2、4、6、8、10。请在

程序的下划线处填入

正确的内容并把下划

线删除,使程序得出正

确结果。

第1处 p = h - >next ;

第2处 q= p - > next;

第3处if (p - >

data >=q - >data))

2 程序修改

给定程序MODI1.C是建

立一个带头结点的单

项链表,并用随机函数

为各节点数据赋值。函

数fun的作用是求出单

项链表结点(不包括头

结点)数据域中的最大

值,并且作为函数值返

回。请改正函数fun中

所指部位的错误,使它

能得出正确结果。

/**found**/

p= h - >next;

/**found**/

p=p->next;

3 程序设计

请编写函数fun,函数

的功能是:将M行N列

的二维数组中的数据,

按行的顺序依次放到

一维数组中。一维数组

中数据的个数存在形

参n所指的存储单元

中。

void fun ( int (*s)

[10] , int *b, int *n,

int mm, int nn)

{

int i, j, k ;

for (i=0 ; i

for (j=0; j

{

k=i *nn +j ;

b [k] =s [ i ] [j ];

}

*n= mm*nn;

}

第八十套

1 程序填空

给定程序中,函数fun

的功能是用函数指针

指向要调用的函数,并

进行调用。在规定的 2

处使f指向函数f1,在

3 处使f指向函数f2.

当调用正确时,程序输

出:x1=5.000000,

x2=3.000000,

x1*x1+x1*x2=40.0000

00 请在程序下划线处

填入正确的内容并把

下划线删除,使程序得

出正确结果。

第1处 double ( *f )

() ;

第2处 f = f 1;

第3处 f = f 2;

2 程序修改

给定程序MODI1.C是建

立一个带头点的单向

链表,并用随机函数为

各结点赋值。函数fun

的功能是将单向链表

结点(不包括头结点)

数据域为偶数的值累

加起来,并且作为函数

值返回。请改正函数

fun中指定部位的错

误,使它能得出正确的

结果。

/**found**/

p= h - >next;

/**found**/

p= p - >next;

33程序设计

请编写函数fun,函数

的功能是:判断字符串

是否为回文?是,函数

返回1,主函数中输出:

YES,否则返回0,主函

数中输出NO。回文是指

顺读t和倒都都一样的

字符串。

int fun ( char * str)

{

int i , j= strlen

(str) ;

for ( i=0 ; i < j /2 ;

i++)

if (str [ i ] ! = str

[j- i - 1])

return 0 ;

return 1 ;

}

第八十一套

1 程序填空

给定程序中,函数fun 的功能是将参数给定的字符串、整数、浮点数写到文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atof和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。

第1处 FILE * fp ; 第2处 fclose (fp) ; 第3处 fscanf ( fp , "%s % s % s" ,str, str1 ,str2);

2 程序修改

给定程序MODI1.C中函数fun的功能是:对N 名学生的学生成绩,按从高到低的顺序找出前m(m<10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

/**found**/

t= ( STU *) calloc (sizeof (STU),m) ;

/**found**/

t [k] =b [ j ] ;

33程序设计

请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。int fun ( int a [ ] , int n )

{

int i , j =1 , k=a [0]; for ( i = 1; i

if ( k!=a [ i ]) { a [j++] =a [ i ] ; k = a [ i ] ; }

a [ j ] = 0;

return j ;

}

第八十二套

11程序填空

给定程序中,函数 fun 的功能是根据形参i的

值返回某个函数年值。

当调用正确时,程序输

出:x1=5.000000

第1处double fun

( int i , double x ,

double y)

第2处renturn f1

(x) ;

第3处 return f2 (x,

y) ;

22程序修改

给定程序MODI1.C中函

数fun的功能是:比较

两个字符串,将长的那

个字符串的首地址作

为函数值返回。

/**found**/

char *fun (char

*s ,char *t)

/**found**/

ss++;

/**found**/

tt++;

33程序设计

请编写函数fun,函数

的功能是,移动字符串

中的内容,移动的规则

如下:把第一到m个字

符,平均移到字符串的

醉最后,把m+1个到最

后的字符移到字符串

的前部。

void fun (char *w,

int m)

{

int i ;

for ( i=0 ; i

fun 1 (w);

}

第八十三套

1 程序通过定义并赋

初值的方式,利用结构

体变量存储了一名学

生的信息,函数fun的

功能是输出这位学生

的信息。

第1处 void show (STU

tt)

第2处 printf ("%5.

if " , tt . score

[ i ]) ;

第3处 show (std)

22程序修改

给定程序MODI1.C中函

数fun的功能是:求出

数组中最大数和次最

大数,并把最大数和

a[0]中的数对调、次最

大数和a[1]中的数对

调。

/**found**/

m= i ;

/**found**/

if ( a [k]>a [m]) m=k;

33程序设计

请编写一个unsigned

fun(unsigned w ),w

是一个大雨于10的无

符号整数,若w是n

(n>=2)位的整数,函

数求出w的后n-1位的

数作为函数值返回。

例如:w值为5923,则

函数返回923;w值为

923,则函数返回23.

unsigned fun

( unsigned w)

{

if ( w >=10000)

return w%10000;

if ( w >=1000) return

w%1000;

if ( w >=100) return

w%100;

return w%10;

}

第八十四套

1 程序填空

程序通过定义学生结

构体变量,存储了学生

的学号、姓名和三门课

的成绩。所有学生数据

均以二进制方式输出

到文件中。函数fun的

功能是重写形参

filename所指的文件

中最后一个学生的数

据,即用新的学生数据

覆盖该学生原来的数

据,其他学生的数据不

变。

第1处fp =fopen

( filename , " rb+" )

第2处fseek

(fp ,-1L*sizeof

(STU), SEEK_END);

第3处 fwrite ( &n,

sizeof (STU), 1,

fp) ;

22程序修改

给定程序MODI1.C中函

数Creatlink的功能是

创建带头结点的单向

链表,并为各结点数据

域赋0到m-1的值。请

改正函数Creatlink中

指定部位的错误,使它

能得出正确的结果。

/**found**/

p= ( NODE *) malloc

(sizeof(NODE));

/**found**/

return h;

33程序设计

请编写函数fun,函数

的功能是,统计一行字

符串中单词的个数,作

为函数值返回。一行字

符串在主函数中输入,

规定所有单词有小写

字母组成,单词之间由

若干个空格隔开,一行

的开始没有空格。

int fun ( char *s )

{

int k=1;

while (*s)

{ if (*s==' ')k++;

s++; }

return k ;

}

第八十五套

1 程序填空

程序通过定义学生结

构体变量,存储了学生

的学号、姓名和三门课

的成绩。所有学生数据

均以二进制方式输出

到文件中。函数fun的

功能是从形参

filename所指的文件

中读入学生书数据,并

按照从小到大排序后,

再用二进制方式把排

序后的学生数据输出

到filename所指的文

件中,覆盖原来的文件

内容。

第1处fp =fopen

( filename , " rb" );

第2处 if ( s [ i ] .

sno >s [ j ] .sno)

第3处fwrite

(s,sizeof (STU), N,

fp);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:在字

符串的最前端加入n个

*号,形成新串,并且覆盖原串。注意:字符串的长度最长允许为79.

/**found**/

p=s ;

/**found**/

while (*p++)

3程序设计

请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能通过调用随机函数获得,并放在主函数的age数组中:要求函数把0到9岁的年龄段的人数放在d[0]zhong 把10—19岁的年龄段的人数放在d[1]中,其余依此类推,把100岁(含100岁)的年龄段的人数放在d[10]中。结果在主函数中输出。void fun ( int *a , int *b)

{

int i , j ;

for ( i=0; i

for ( i=0; i

if ( j>10) b [M-1]++; else b [j ]++;

}

}

第八十六套

1 程序填空

给定程序中,函数fun 的功能是将不代头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第1处NODE * fun (NODE *h)

第2处 r=q - >next ; 第3处 q=r;

2 程序修改

给定程序MODI1.C中函数fun的功能是:将s 所指字符串中位于奇数位置的字符或ASCII

码为偶数的字符放入t

所指数组中(规定第一

个字符放在第0位中)

/**found**/

if ( i % 2 || s

[ i ]%2==0 )

/**found**/

t [ j ]= ' \0 ' ;

3程序设计

请编写函数fun,函数

的功能是:将M行N列

的二维数组中的数据,

按列的顺序依次放到

一维数组中。函数fun

中给出的语句仅供参

考。

# include

void fun ( int (*s)

[10] , int *b , int *n,

int mm, int nn)

{

int i, j, np=0;

for ( i=0; i

for ( j=0; j

{

b[np] = s [ j ] [ i ];

np=i*mm+j+1;

}

*n=np ;

}

第八十七套

1程序填空

程序通过定义学生结

构体变量,存储了学生

的学号、姓名和三门课

的成绩。所有学生数据

均以二进制方式输出

到student.dat文件

中。函数fun的功能是

从指定文件中找出指

定学号的学生数据,读

入此学生数据,对该生

的分数进行修改,使每

门的分数加3分,修改

后重写文件中该学生

的数据,即用该学生背

后的数据覆盖原数据,

其他学生数据不变;若

找不到,则什么都不

做。请在程序的下划线

处填入正确的内容并

把下划线删除,使程序

得出正确的结果。

第1处 while (!feof

(fp))

第2处if (n. sno

==sno) break ;

第3处fseek (fp,

-1L*sizeof(STU),SEE

K CUR) ;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:利用

插入排序法对字符串

中的字符按从小到大

的顺序进行排序,插入

法的基本算法是:先对

字符串中的头两个元

素进行排序,然后把第

三个字符插入到前两

个字符中,插入后前三

个字符依然有序;再把

第四个字符插入到前

三个字符中,……。待

排序的字符串已在主

函数中赋予。请改正函

数fun中指定部位的错

误,使它能得出真确结

果。

/**found**/

n=strlen (aa);

/**found**/

ch =aa [i];

3程序设计

N名学生的成绩已在主

函数中放入一个带头

结点的链表结构中,h

指向链表的头结点。请

编写函数fun,它的功

能是:找出学生的最高

分,由函数值返回。

double fun ( STREC

*h )

{

double max=h ->s ;

STREC *p ;

p=h->next ;

while (p)

{ if (p-s>max)

max=p->s ;

p=p->nest;

}

return max ;

}

第八十八套

1程序填空

给定程序中,函数fun

的功能是调用随机函

数产生的20个互不相

同的整数放在形参a所

指数组中(此数组在主

函数中已置0)。

第1处 while (n

第2处 if ( x==a[ i ])

break ;

第3处if ( i==n)

{ a[n] =x ; n++;}

22程序修改

给定程序MODI1.C中函

数fun的功能是:先从

键盘上输入一个3行3

列矩阵的各个元素的

值,然后输出主对角线

元素之和。

/**found**/

sum=0

/**found**/

scanf ("%d" , &a [ i ]

[ j ]) ;

33程序设计

编写程序,实现矩阵(3

行3列)的转置(即行

列互换)

int fun ( int array[3]

[3])

{

int i, j, arr [3] [3];

memcpy(arr,array,9*

sizeof(int) );

for ( i=0; i<3; i++)

for ( j=0; j<3; j++)

array [ i ] [ j ] =arr

[ j ] [ i ];

第八十九套

1 程序填空

给定程序中,函数fun

的功能是:求ss所知

字符串数组中长度最

长的字符串所在的行

下标,作为函数值返

回,并把其串长放在形

参n所指变量中。Ss

所指字符串数组中共m

个字符串,且串长>N。

第1处 int fun( char

(*ss)[N], int *n)

第2处if ( i==0)

*n=len;

第3处 *n=len;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:根据

形参m计算如下公式的

值。例如,若输入5,

则应输出2.283333

/**found**/

t+=1. 0/ i ;

/**found**/

return t;

3程序设计

编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。int fun (char *str, char *substr)

{

int cnt =0 ;

char *p =str, *q ; while (*p) {

q=strstr

(p,substr) ;

if (q==NULL) break ; p=q +strlen (substr) ;

cnt++;

}

第九十套

1 程序填空

给定程序中,函数fun 的功能是:求出形参ss 所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中有M个字符串,且串长

第一处n=strlen(ss[i]);

第二处 ss[i][n+j]=’*’;

第三处ss[i][n+j+1]=’\0’;

2 程序修改

给定程序MODI1.C中函数fun的功能是:将p 所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中错误之处,使它能得出正确结果。

/**found**/

if(*p= =’’)

/**found**/

*(p-1)=toupper(*(p-1));

3请编写函数fun对长度为7个字符的字符串,除首、尾字符外,

将其余5个字符ASCII

码降序排列。

int fun(char *s,int

num)

{

char ch;

int i,j;

for(i=1;i<6;i++)

for(j=i+1;j<6;j++)

{

if(*(s+i)<(s+j))

{

ch=*(s+j);

*(s+j)=*(s+i);

*(s+i)=ch;

}}}

第九十一套

1程序填空

给定程序中,函数fun

的功能是:将形参std

所指结构体数组中年

龄最大者的数据作为

函数值返回,并在main

函数中输出。

第一处 max=*std;

第二处

if(max.age

ge)

max=std[i];

第三处

printf(“\nName:%s,

Age:%d\n”,https://www.wendangku.net/doc/e15912988.html,

,max.age);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:实现

两个整数的交换。例如

给a和b分别输入:60

和65,输出为:a=65

b=60

/**found**/

void fun(int *a,int

*b)

/**found**/

t=*b;*b=*a;*a=t;

3程序编写

请编写一个函数void

fun(int t t[M] [N],

int pp [N]),tt指向

一个M行N列的二维数

组,求出二维数组每列

中最小元素,并依次放

入pp所指唯一数组中。

二维数组中的数已在

主函数中赋予。

void fun(int

tt[M][N],int pp[N])

{

int i,j,min,k;

for(i=0;i

{

min=tt[0][i];k=0;

for(j=1;j

if(min>tt[j][i])

{min=tt[j][i];

k=j;

}

pp[i]=tt[k][i];

}

}

第九十二套

1 程序填空

给定程序中,函数fun

的功能是:将a和b所

指的两字符串转达换

成面值相同的整数,并

进行相加作为函数值

返回,规定字符串只含

9个以下数字字符。

第一处d=d*10+*s-

‘0’;

第二处 s++;

第三处return

ctod(a)+ctod(b);

2 程序修改

给定程序MODI1.C中函

数fun的功能是:分别

统计字符串大写字母

和小写字母的个数和。

/**found**/

*a=*a+1;

/**found**/

*b=*b+1;

3程序设计

请编写函数fun,函数

的功能是:使用实型整

数保留2位小数,并对

第三位进行四舍五入

(规定实型数为正数)

float fun(float h)

{

long w;

w=h*100+1.5;

return (float)w/100;

}

第九十三套

1 程序填空

给定程序中,函数fun

的功能是:找出100—x

(x<=999)之间各位上

的数字之和为15的所

有整数,然后输出,符

合条件的整数个数作

为函数值返回。

第一处 n=0;

第二处 while(t<=x)

第三处 t++;

2 程序修改

给定程序MODI1.C中函

数fun的功能是:先将

s所指字符串中的字符

按逆序放到t所指字符

串中,然后把s所指的

字符串中的字符按正

序连接到t所指串的后

面。

/**found**/

int i,s1;

/**found**/

t[i]=s[s1-i-1];

3程序设计

请编写函数fun,函数

的功能是:将a、b中

的两个两位整数合并

形成一个新的整数放

在c中。合并的方式是:

将a中的十位和个位数

依次放在变量c的百位

和个位上,b中的十位

和个位依次放在变量c

的千位和十位上。

void fun(int a,int

b,int *c)

{

*c=(b/10)*1000+(a/1

0)*100+(b%10)*10+(a

%10);

}

第九十四套

1 程序填空

给定程序中,函数fun

的功能是:从三个形参

a、b、c中找出中间那

个数,作为函数值返

回。

第一处 t=a>b?(b>c?b:

(a>c?c:a)):((a

:((b>c)?c:b));

2 程序修改

给定程序MODI1.C中函

数fun的功能是:首先

将大写字母转换为对

应的小写字母:若小写

字母为a—u,则将其转

换为其后的第五个字

母;若小写字母为v—

z,使其值减21。转换

后的小写字母作为函

数值返回。

/**found**/

c=c+32;

/**found**/

c=c+5;

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

c语言试卷第二套

以下叙述中正确的是(D)。 A.C语言中的函数不可以单独进行编译 B.C语言的源程序不必通过编译就可以直接运行 C.C源程序经编译形成的二进制代码可以直接运行 D.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 若有说明语句:char c='\72';则变量c(D)。 A.说明不合法,c的值不确定 B.包含2个字符 C.包含3个字符 D.包含1个字符 定义字符变量c1的值是'A',c2的值是'D'. 执行语句printf("%d,%d",c1,c2-2);后,输出结果是(A)。 A.65,66 B.65,68 C.A,68 D.A,B 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是(D)。 A.A%2==1 B.A%2 C.!(A%2==0) D.!(A%2) 为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与(A)配对。 A.其之前最近的if B.其之后最近的if C.同一行上的if D.缩排位置相同的if 下面程序段运行的结果是(A). x=-1; do{ x=x*x; }while (!x); A.循环执行一次 B.有语法错误 C.死循环 D.循环执行两次 以下正确的描述是(A). A.只能在循环体内和switch语句内使用break语句 B.continue语句的作用是终止整个循环的执行 C.从多层嵌套的外层循环中退出时,只能使用goto语句

D.在循环体内使用break和continue语句的作用相同 以下不能正确定义二维数组的选项是(A)。 A.int a[2][]={{1,2},{3,4}}; B.int a[2][2]={{1},2,3}; C.int a[2][2]={{1},{2}}; D.int a[][2]={1,2,3,4}; char a[10];不能将字符串"abc"存储在数组中的是(B)。 A.int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; B.a="abc"; C.strcpy(a,"abc"); D.a[0]=0;strcat(a,"abc"); 在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。 A.整型常量 B.整型常量或整型表达式 C.整型表达式 D.任何类型的表达式 在定义全局变量和局部静态变量的同时赋值,变量的初始化在(C)时确定的. A.运行 B.编辑 C.编译 D.调试 以下不正确的说法是:C语言规定(C)。 A.实参可以是常量,变量或表达式 B.实参可以为任何类型 C.形参可以是常量,变量或表达式 D.形参应与其对应的实参类型一致 C语言程序中必须有的函数是(B)。 A.#include "stdio.h" B.main C.printf D.scanf 在"文件包含"的预处理中,被包含的文件应是(A). A.文本文件 B.可执行文件 C.目标文件 D.二进制文件 若有说明:int *p,m=5,n;以下正确的程序段是(D)。 A.scanf("%d",&n);*p=n; B.p=&n;scanf("%d",*p)

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识 一、单项选择题 1、面向过程的程序设计语言是________。 A)机器语言 B)汇编语言 C)高级语言 D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。 A)设计数据结构和算法B)建立数学模型 C)编写程序 D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是_________。 A)枚举法B)递推法 C)分治法 D)排序法 4、以下不属于算法基本特征的是__________。 A)有穷性 B)有效性C)可靠性 D)有一个或多各输出 5、以下描述中不正确的是___________。 A)程序就是软件,但软件不仅仅是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是_____________。 A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是______________。 A)递归法的关键是必须有一个递归终止的条件。 B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是_________。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(功能操作流程控制) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性)

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

上海理工大学 C语言 第二套试题

注意: 1. 本练习时间为1小时,如有多余时间请完成实验5 2. 请单号的机器完成A 卷测试题,双号机器完成B 卷测试题 3. 以自己学号为文件夹名,并上传1.cpp,2.cpp,3.cpp 3个源代码文件 A 卷测试题目(机器号为单号学生完成) 1. 输入两个值分别为a,b,请输出ab b 42 的值, 程序保存为1.cpp. 2. 编写程序,判断输入的两个小数是否相互等, 程序保存为2.cpp. 3.编写程序, [问题的描述] 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现有100元钱要买100只鸡,列出所有可能的购鸡方案。 程序保存为3.cpp. B 卷测试题目(机器号为双号学生完成) 1. 编写程序 [问题的描述] 有2个变量,分别存入2个不同的整数,有人试图将这2个变量中的值互换。 [案例] 原始状态为:x=5 y=6 互换后的状态为:y=6 x=5 程序只允许定义两个变量,程序保存为1.cpp.

2.编写程序,连续输入10个值,请输出输入值的最大值和最小值, 程序保存为2.cpp. 3.[问题的描述] 打印出下图所示的杨辉三角形 两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就是1,2,1这就是杨辉三角的其中一行,立方,四次方,运算的结果看看各项的系数,这就是杨辉三角,也叫贾宪三角,2项式乘方展开式的系数规律。如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式依次类推,杨辉三角是一个由数字排列成的三角形数表,一般形式如下图所示。 [案例] 输出10行的图

《C语言程序设计》第1章 C语言概述练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。 A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性 二、填空题 1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。 2.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式 执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

C语言试卷第2套 含答案

第二套试题 一、判断题 第1题:C语言允许直接访问物理地址。参考答案:对第2题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。参考答案:错第3题:全局变量的作用域一定比局部变量的作用域范围大参考答案:错 第4题:C语言的源程序不必通过编译就可以直接运行参考答案:错 第5题:指针变量与变量的指针都与地址有关参考答案:对 第6题:C语言的函数可以嵌套定义参考答案:错 第7题:局部变量的作用域是当前文件。参考答案:错 第8题:在标准C语言中,宏替换是程序运行时完成的。参考答案:错 第9题:在标准C中,“=”是判断两个数是否相等。参考答案:错 第10题:C语言编译时不检查语法参考答案:错 二、选择题(请选择正确的选项) 第1题:以下程序的输出结果是 main( ) { int n=4; while(n--) printf("%d ",--n); } 参考答案:A A、2 0 B、3 1 C、3 2 1 D、2 1 0 第2题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 参考答案:B A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 第3题:字符串指针变量中存入的是 参考答案:A A、字符串的首地址 B、字符串 C、第一个字符 D、字符串变量 第4题:下列表达式的值为0的是() 参考答案:C A、3﹪5 B、3/5.0 C、3/5 D、3<5 第5题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:D A、“r” B、“w” C、“rb” D、“a” 第6题:C语言中while和do-while循环的主要区别是 参考答案:A A、do-while循环体至少无条件执行一次 B、while的循环控制条件比do-while循环控制条件严格 C、do-while循环允许从外部转到循环体内 D、do-while循环体不能是复合语句

第一章C语言概述习题附答案

第一章C语言概述 一、单选题 1. C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。 2、C语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C语言中规定:在一个源程序中main函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C程序中,main函数可有可无 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。 7、下面对C语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符 分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。 9.计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

c语言模拟题目第十七套

第十七套 设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。 A、0 B、144 C、132 D、12 【参考答案】错误 A 【学生答案】 [未答此题] 设变量定义为"int a, b;",执行下列语句时,输入( ),则a和b的值都是10. scanf("a=%d, b=%d",&a, &b); A、a=10, b=10 B、a=10 b=10 C、10, 10 D、10 10 【参考答案】错误 A 【学生答案】 [未答此题] main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、a=1,b=1 B、a=1,b=0 C、a=2,b=2 D、a=2,b=1 【参考答案】错误 D 【学生答案】 [未答此题] 执行下列语句后的输出为()。

int j=-1; if(j<=1) printf("****\n"); else printf("%%%%\n"); A、%%%% B、**** C、有错,执行不正确 D、%%%%c 【参考答案】错误 B 【学生答案】 [未答此题] 以下正确的描述是( ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 【参考答案】错误 A 【学生答案】 [未答此题] 设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是( ). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 【参考答案】错误 A 【学生答案】 [未答此题] 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A、将5个初值依次赋给a[6]至a[10] B、将5个初值依次赋给a[0]至a[4] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[1]至a[5] 【参考答案】错误 B

C语言程序设计第一章参考答案

第一章参考答案 1.3.1 思考: 1.error C2199: syntax error : found 'int (' at global scope (was a declaration intended?) error C2143: syntax error : missing ';' before '{' error C2447: missing function header (old-style formal list?) 在c程序设计中特别要注意每个程序都有且只有一个主函数,切忌不可忘了主函数main. 2. error LNK2001: unresolved external symbol _main fatal error LNK1120: 1 unresolved externals 在c程序设计中要注意区分大小写,相同的字符的大小写所代表的意义可能完全不一样。 3.error C2146: syntax error : missing ';' before identifier 'printf'. 在c程序设计中要注意每个完整的语句后面都必须要有“;”,否则就会出现错误。 4.error C2065: 'printf' : undeclared identifier error C2146: syntax error : missing ';' before identifier 'printf't. 在c程序设计中#include是包含头文件函数库,象标准的输入和输出函数’scanf’和’printf’都是包含定义在#include中的。所以一般的函数都不应缺少这个头文件。 5在例1-1.c中,任何一行的输出语句中少了符号\n,将会使下一条语句的输出紧跟在该行,而不会出现在例1-1.c那样的每行输出一条语句。 在C语言中符号\n的作用是在输出中换行。 6. error C2001: newline in constant error C2146: syntax error : missing ')' before identifier 'printf'’ 1.3.2 思考: 1.error C2065: ’x’ :undeclared identifier error C2065: ’y’ :undeclared identifier 在c程序设计中要注意,任何一个变量都要遵循先定义再使用的原则。 2 .程序运行出错,无法得到结果。 3 能 4. warning C4390: ';' : empty controlled statement found; is this the intent? error C2181: illegal else without matching if 这是因为判断语句if后面必须要有其他语句,这样if语句才有意义,满足if语句的条件后就执行跟在其后的语句,而在if(x>y)后面加分号就是使if(x>y)单独成为一个语句,所以才出现了错误。 5. 因为int、if、else在c语言中都是保留字(也叫关键字),它们是具有特定含义的、用 于构成语句成分或作为存储类型和数据类型说明的一些单词。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

c语言模拟题目第二十套

第二十套 下列程序段的输出结果为()。 float x=213.82631; printf("%3d",(int)x); A、213.82 B、213.83 C、213 D、3.8 【参考答案】错误 C 【学生答案】 [未答此题] a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。 A、a/b*b+a%b==a B、a/b*b==a C、a*b/a*b==1 D、a/b*b/a==1 【参考答案】错误 A 【学生答案】 [未答此题] int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。 A、3 B、2 C、1 D、不一定 【参考答案】错误 C 【学生答案】 [未答此题] C语言的switch语句中case后( )。 A、可为任何量或表达式 B、可为常量或表达式或有确定值的变量及表达式 C、只能为常量或常量表达式 D、只能为常量 【参考答案】错误 C 【学生答案】 [未答此题]

设j和k都是int类型,则下面的for循环语句( )。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环 C、循环体一次也不执行 D、最多执行10次 【参考答案】错误 D 【学生答案】 [未答此题] 以下程序中,while循环的循环次数是( ). main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、1 B、6 C、死循环,不能确定次数 D、4 【参考答案】错误 C 【学生答案】 [未答此题] 以下不能对二维数组a进行正确初始化的语句是()。 A、int a[2][3]={{1,2},{3,4},{5,6}}; B、int a[][3]={{1,2},{0}}; C、int a[2][3]={0}; D、int a[][3]={1,2,3,4,5,6}; 【参考答案】错误 A 【学生答案】 [未答此题] 下面函数调用语句中,fun含有实参的个数为( ). fun((x,y),(x+y,z,x/y));

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

c语言模拟题目第三套

第三套 若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=32)后,x的值为:( ). A、52 B、16 C、4 D、32 【参考答案】错误 D 【学生答案】 [未答此题] 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、10 和 11 C、11 和 11 D、10 和 10 【参考答案】错误 B 【学生答案】 [未答此题] 以下程序的输出结果是:( ) main() {int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--); } A、6 B、5 C、7 D、4 【参考答案】错误 A 【学生答案】 [未答此题] 执行下面程序段后,i的值是( ). int i=10; switch(i) {case 9: i+=1;

case 10: i--; case 11: i*=3; case 12: ++i; } A、28 B、10 C、9 D、27 【参考答案】错误 A 【学生答案】 [未答此题] 下面有关 for 循环的正确描述是( )。 A、for 循环是先执行循环体语句,后判断表达式 B、在 for 循环中,不能用 break 语句跳出循环体 C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for 循环只能用于循环次数已经确定的情况 【参考答案】错误 C 【学生答案】 [未答此题] 针对下列程序段回答问题( ). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); } A、x>=0时什么也不输出 B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束 【参考答案】错误 B 【学生答案】 [未答此题] 若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是()。 A、for(i=0;i<10;i++)a[i]=getchar(); B、scanf("%s",a); C、gets(a);

C语言第一章习题带答案

练习1-1答案 选择题 1.下列4组字符串中都可以用作C语言程序中的标识符的是( D )。 A.print 3d oodb B.I\m one_half start$it C.Pxq my->book line# D.str_1 Cpp into 2.下面的说法正确的是( C )。 A.C程序由符号构成B.C程序由标识符构成 C.C程序由函数构成D.C程序由C语句构成3.与十进制数35相等的二进制数是( A )。 A.100011 B.01001 C.100110 D.100101 4.与47值相等的十六进制数是( A )。 A.2F B.215 C.32F D.115 5.(01101)2 + (101101)2的值是( B )。 A.(101010)2 B.(3A)16 C.(2A)16 D.57 6.将15向左移动2位后的值是( D )。 A.(3C)16 B.(00111100)2 C.(60)10 D.都正确7.将250与5进行按位与的结果是( A )。 A.0 B.1 C.(FF)16 D.(F0)16 8.将(AF)16与(78)16进行按位异或的结果是( A )。 A.(D7)16 B.(28)16 C.(D8)16 D.(27)16 9.将(717)8按位取反的结果是( B )。

A.(110001)2 B.(060)8 C.(60)10 D.都不正确 练习2-1答案 选择题 1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的int类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0'

相关文档