搜档网
当前位置:搜档网 › 全国计算机二级c语言上机题库100套

全国计算机二级c语言上机题库100套

全国计算机二级c语言上机题库100套
全国计算机二级c语言上机题库100套

第一套

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

(1) struct student (2)

n-1 3

a[i].name,a[j].n

ame

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

1 q=p+i;

2 while(q>p)

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

int i,j=0;

for(i=0;i

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

)

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

return j;

第二套

(一)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

1q 2 next 3 next (二)给定程序MODI1.C 中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

1 p=j;

2 p=i;

(三)请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a 中,通过n返回这些数的个数。

int i;

*n=0;

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

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

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

第三套

(一)函数fun的功能是:

逆置数组元素是的值。例

如:若a所指数组中的数据

依次为:1、2、3、4、5、6、

7、8、9,则逆置后依次为:

9、8、7、6、5、4、3、2、

1。形参n给出数组中数组

中数据的个数。

1 n/

2 2 i 3

a[n-i-1]

(二)给定程序MODI1.C中

函数fun的功能是:将一个

由八进制数字字符串组成

的字符串转换为与其面值

相等的十进制整数。规定输

入的字符串最多只能包含5

位八进制数字字符。

1 n=*p-'0'; 2

n=n*8+*p-'0';

(三)学生的记录由学号和

成绩组成,N名学生的数据

已在主函数中放入结构体

数组s中,请编写了函数

fun,它的功能是:函数返

回指定学号的学生数据,指

定的学生号在主函数中输

入,若没有找到指定学号,

在结构体变量中给学号置

空串,给成绩置-1,作为函

数值返回。(用于字符串比

较的函数是strcmp)。

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;

第四套

(一)给定程序中,函数

fun的功能是:在带有头结

点的单向链表中,查找数据

域中值为ch的结点。找到

后通过函数值返回该结点

在链表中所处的顺序号:若

不存在值为ch的结点,函

数值返回0.

1 NULL

2 n 3

head,ch

(二) 给定程序MODI1.C中

函数fun的功能是:删除p

所指字符串的所有空白字

符(包括制表符、回车符及

换行符)。输入字符串时用

‘#’结束输入。

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

2. c[t]='\0';

(三)请编写一个函数fun,

它的功能是:将ss所指字

符串中所有下标为奇数位

置上的字母转换为大写(若

该位置上不是字母,则不转

换)。

int i;

for(i=1;i

=2)

{if(ss[i]>='a'&&ss[i]<=

'z')

ss[i]-=32;}

第五套

1. 给定程序中,函数fun

的功能是:计算下式前n项

的和作为函数值返回。例

如:当形参n的值为10 的

时,函数返回:9.6125588。

(1) 0 (2) n (3)

(t*t)

2. 给定程序MODI1.C中函

数fun的功能是:统计

substr所指字符串在str所

指字符串中出现伯次数。

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

(2) if(substr[k+1]=

='\0')

3. 请编写一个函数fun,

它的功能是:根据以下公式

求JI的值(要求满足精度

0.0005,即某项小于0.0005

时停止送代):程序运行后,

如果输入精度为0.0005,则

程序输出为3.14…。

double s=1.0,s1=1.0;

int n=1;

while(s1>=eps)

{s1=s1*n/(2*n+1);

s=s+s1;

n++;

}

return 2*s;

第六套

1. 给定程序中,函数fun

的功能是:将形参s所指定

字符串中所有的字母字符

顺序前移,其他字母顺序后

移,处理后字符串的首地址

作为函数值返回。

1 s[i]

2 k

3 0

2. 给定程序MODI1.C中函

数fun的功能是:将s所指

字符串中最后一次出现的

与t1所指字符串相同的子

串替换成t2所指定字符串,

所形成的新串放在w所指的

数组中。在此处,要求t1

和t2所指字符串的长度相

同。

1 while(*w)

2 if(*r = =*p)

3. 函数fun的功能是:将s

所指字符串中ASCII值为奇

数的字符删除,串中剩余字

符形成一个新串放在t所指

定的数组中。

int i,j=0;

for(i=0;i

)

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

i];

t[j]=0;

第七套

1 程序通过定义学生结

构体变量,存储了学生的学

号、姓名和三门课的成绩。

函数fun的功能是:将形参a

所指结构体变量s中的数据

进行修改,并把a中地址作

为函数值返回主函数,在主

函数中输出修改后的数据。

1 struct student * 2

a->score[i] 3 a

2. 给定程序MODI1.C中

函数fun的功能是:从N个

字符串中找出最长的那个

串,并将其地址作为函数值

返回。各字符串在主函数中

输入,并放在一个字符串数

组中。

1 char *fun(char (*sq)[M])

2 return sp;

3. 函数fun的功能是:将

a、b中的两位正整数合并形

成一个新的整数放在c中。

合并的方式是:将a中的十

位和个位依次放在变量c的

百位和个位上,b中的十位

和个位数依次放在变量c的

十位和千位上。

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

1

00+(b/10)*10+a%10;

第八套

1. 函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间元素不动。

1 1

2 i

3 a[p+i]

2. 给定程序MODI1.C中函数fun的功能是:把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。

1 float k;

2 if(*a<*c)

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

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

for(i=1;i

if(max

for(i=0;i

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

return n;

第九套

1. 给定程序中,函数fun 的功能是:计算形参x所指数组中N个数的平均值,

(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

1 x[i]/N

2 j++

3 i++

2. 给定程序MODI1.C中函数fun的功能是:统计字符串各元音字母(即:A、E、I、O、U)的个数。注意字母不分大小写。

1 num[k]=0;

2 switch(*s)

3. 请编写函数fun,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

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程序通过定义学生结构体

变量,存储了学生的学号、

姓名和三门课的成绩。函数

fun的功能是将形参a中的

数据进行修改,把修改后的

数据作为函数值返回主函

数进行输出。

1 struct student 2

https://www.sodocs.net/doc/5910259005.html, 3 a.score[i]

2假定整数数列中的数不重

复,并存放在数组中。给定

程序MODI1.C中函数fun的

功能是:删除数列中值为x

的元素。N中存放的是数列

中元素的个数。

1 if(p= =n) return-1; 2

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

3. 学生的记录由学号和成

绩组成,N名学生的数据已

在主函数中放入结构体数

组s中,请编写了函数fun,

它的功能是:把分数最低的

学生数据放在b所指的数组

中,注意:分数最低的学生

可能不止一个,函数返回分

数最低的学生的人数。

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

for(i=0;i

{ if(min>a[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所指数组

的后部,平均值作为函数值

返回,在主函数中输出平均

值和移动后的数据。

1 s/N

2 j++

3 -1

2. 给定程序MODI1.C中函

数fun的功能是:读入一行

英文文本行,将其中每个单

词的第一个字母改成大写,

然后输出次文本行(这里的

?单词?是指由空格隔开的

字符串)。

1 #include

2 void upfst (char *p)

3.程序定义了N×N的二级

数组,并在主函数中赋值,

请编写函数fun,函数的功

能是:求出数组周边元素的

平均值并作出函数值饭给

主函数中的s。

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的文本文件

中,然后再顺序读出显示在

屏幕上。

1 fp

2 fclose(fp)

3 fname

2. 给定程序MODI1.C中函

数fun的功能是:将n个无

序整数从小到大排序。

1 for(i=j+1;i

2 p=i;

3. 函数fun的功能是:将

a、b中的两位正整数合并形

成一个新的整数放在c中。

合并的方式是:将a中的十

位和个位依次放在变量c的

个位和百位上,b中的十位

和个位数依次放在变量c的

十位和千位上。

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

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

第十三套

1. 给定程序中,函数fun

的功能是:找出N×N矩阵

中每列元素中的最大值,并

按顺序一次存放于形参b所

指的一维数组中。

1 a[0][i]

2 < 3

x,y

2. 给定程序MODI1.C中函

数fun的功能是:交换主函

数中的两个变量的值。

1 void fun(int *x,int *y)

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

3. 编写函数fun,函数的

功能是:求出小于或等于

lim的所有素数并放在aa数

组中,函数返回所求出的素

数的个数。函数fun中给出

的语句仅供参考。

int i,j,k=0;

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

{ for(j=2;j

if(i%j==0)

break;

if(j>=i)

aa[k++]=i;

}

return k;

第十四套

1. 函数fun的功能是进行

字母转换。若形参ch中小

写英文字母,则转换成相应

的大写英文字母;若形参ch

中是大写英文字母,则转换

成相应的小写英文字母;并

将转换的结果作为函数值

返回。

1 &&

2 'A'

3 ch

2.给定程序MODI1.C中函数

fun的功能是:给一维数组

a输入任意四个整数并按下

列的规律输出。例如输出1、

2、3、4,程序输出一下方

阵。

1 void fun(int *a) 2

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

3. 请编写函数fun,函数

的功能是:计算并输出给定

整数n的所有因子(不包过

1和n本身)之和。规定n

的值不大于1000.

int s=0,i;

for(i=2;i

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

return s;

第十五套

1. 程序填空

给定程序中,函数

的功能是:把形参s所指字

符串下标为奇数的字符右

移到下一个奇数位置,最右

2

边被移出字符串的字符绕

回放到第一个奇数位置,下

标为偶数的字符不动(注:

字符串的长度大于等于2)。

例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedg。

1 1

2 s[k] 3

c

2. 给定程序MODI1.C中函

数fun的功能是:求s=aa…aa—…—aaa—aa—a(此处aa…aa表示n个a,a和n

的值在1至9之间)。

1 long s=0,t=0; 2

t=t/10;

3. 请编写一个函数void fun(char*tt,int pp[ ]),

统计在tt所指字符串中‘a’

至‘z’26个小写字母各自

出现在的次数,并依次放在

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

2 std[i].num

3 std[i]

2. 给定程序MODI1.C中函

数fun的功能是:从s所指

字符串中,找出与t所指字

符串相同的子串的个数作

为函数值返回。

1 if(*r==*p){r++;p++;}

2 if(*r= ='\0')

3. 函数fun的功能是:将

s所指字符串中ASCII值为

偶数的字符删除,串中剩余

字符形成一个新串放在t所

指数组中。

int i, j=0;

for(i=0;i

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

t[j]=0;

第十七套

1. 给定程序中,函数fun

的功能是:统计形参s所指

字符串中数字字符出现的

次数,并存放在形参t所指

的变量中,最后在主函数中

输出。例如,形参s所指的

字符串为:

abcdef35adgh3kjsdf7。输

出结果为:4。

1 s[i]

2 '9' 3

*t = n;

2. 给定程序MODI1.C中函

数fun的功能是:通过某种

方式实现两个变量的交换,

规定不允许增加语句和表

达式。例如变量a中的值原

为8,b中的值原为3,程序

运行后a中值为3,b中的

值为8.

1 t=*x;*x=y; 2

return(t);

3. 请编写函数fun,函数的

功能是:求出1到1000之

间能被7或11整除,但不

能同时被7和11整除的所

有整数并将它们放在a所指

的数组中,通过n返回这些

数的个数。

int i,j=0;

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

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

%77!=0)

a[j++]=i;

*n=j;

第十八套

1.给定程序中,函数fun的

功能是:有N×N矩阵,根

据给定的m(m<=n)值,将

每行元素中的值均右移m个

位置,左边值为0.

1 i++

2 m

3 m

2.给定程序MODI1.C中函数

fun的功能是:计算并输出

high以内最大的10个素数

之和。high的值由主函数传

给fun函数。

1 while((high >=

2)&&(n<10)) 2

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。

double x0,x1;

x1=0.0;

do

{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=0.0

00001);

return x1;

第十九套

1.给定程序中,函数fun的

功能是:将a所指的3×5

矩阵中第k列的元素左移到

第0列,第k列以后的每列

元素行依次左移,原来左边

的各列依次绕到右边。

1 k

2 N-1 3

temp

2.给定程序MODI1.C中函数

fun的功能是:根据形参m

的值(2<=m<=9),在m行m

列的二维数组中存放如下

所示规律的数据,由main

函数输出。例如,若输入2

则输出:

1 void fun(int

a[][M],int m)

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

3. 函数fun的功能是:将

a、b中的两位正整数合并形

成一个新的整数放在c中。

合并的方式是:将a中的十

位和个位依次放在变量c的

十位和千位上,b中的十位

和个位数依次放在变量c的

个位和百位上。

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

00

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

第二十套

1. 给定程序中,函数fun

的功能是:对形参s所指字

符串中下标为奇数的字符

ASCII码大小递增排序,并

将排序后的下标为奇数的

字符取出,形成一个新串。

1 t=i

2 i

3 0

2. 给定程序MODI1.C中函

数fun的功能是:用下面的

公式求π的近似值,知道最

后一项的近似值小于指定

数(参数num)为止:例如

程序0.0001,则程序输出

3.1414。

1 while(fabs(t)>=num)

2 t=s/n;

3. 请编写一个函数void

fun(char a[ ],char

b[ ],int n),其功能是:

删除一个字符串指定下标

的字符。其中,a指向原字

符串,删除指定字符后的字

符串放在b所指的n中存入

指定的下标。

strncpy (b,a,n);

b[n]=0;

strcat(b,a+n+1);

第二十一套

1. 给定程序中,函数fun

的功能是:在形参ss所指

字符串数组中,将所有串长

超过k的字符串右边的字符

删去,只保留左边的k个字

符。ss所指字符串数组中共

有N个字符串,且串小于M。

1 [M]

2 N 3

'\0'

2. 给定程序MODI1.C中函

数fun的功能是:根据以下

公式求π值,并作为函数值

返回。例如,给指定精度的

变量eps输入0.0005时,

应当输出Pi=30140578.。

1 t=1.0;

2 return(s*2);

3.假定输入字符串中只包

含字母和*号。请编写函数

fun,它的功能是:使字符

串的前导*号不得多于n个;

若多于n个,则删除多余的

*号;若少于或等于n个,

则什么也不做,字符串中间

和尾部的*号不删除。函数

fun中给出的语句仅供参

考。

int i=0;

int k=0;

char *p,*t;

p= t =a;

while(*t=='*')

{k++;t++;}

3

if(k>n)

{while(*p)

{a[i]=*(p+k-n);

i++;

p++; }

a[i]='\0';}

第二十二套

1. 给定程序中,函数fun

的功能是:将a所指4×3

矩阵中第k行的元素与第0

行元素交换。例如:有下列

矩阵

1 2 3

4 5 6

7 8 9

10 11 12

若k为2,程序执行结果为

7 8 9

4 5 6

1 2 3

10 11 12

1 k

2 N

3 a[k][i]

2.给定程序MODI1.C中函数fun的功能是:读入一个字

符串(长度<20),将该字符

串中的所有字符串按ASCII

码升序排序后输出。例如,

若输入edcba,则应输出:abcde。

1

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

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

3. 请编写函数fun,函数

的功能是:将ss所指字符

串中所有下标为奇数位置

上的字母转换为大写(若该

位置上不是字母,则不转换)。

char *p=ss;

int i=0;

while(*p){

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

='z'))

*p-=32;

p++;

i++; }

第二十三套

1. 给定程序的功能是:调

用函数fun将指定源文件中

的内容复制到指定的目标

文件中,复制成功时函数的

返回值是1,失败是返回值

是0.在复制的过程中,把复

制的内容输出到终端屏幕。

主函数源文件名放在变量sfname中,目标文件放在变量tfname中。

1 "r"

2 fs

3 ft

2. 给定程序MODI1.C中函

数fun的功能是:将长整型

中每一位上为偶数的数依

次取出,构成一个新数放在

t中。高位仍在高位,低位

仍在低位。

1 if(d%2==0)

2 s/=10;

3. 函数fun的功能是:将

两位正整数a、b合并形成

一个新的整数放在c中。合

并的方式是:将a中的十位

和个位依次放在变量c的十

位和千位上,b中的十位和

个位数依次放在变量c的百

位和个位上。

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

00+(a/10)*10+(b%10);

第二十四套

(一)程序通过定义学生结

构体变量,存储了学生的学

号、姓名和三门课的成绩。

函数fun的功能是将形参a

所指结构体变量中的数据

赋给函数中的结构体变量

b,并修改b中的学号和姓

名,最后输出修改后的数

据。

(1)a (2) https://www.sodocs.net/doc/5910259005.html,(3)

score[i]

(二)给定程序MODI1.C中

函数fun的功能是:从s所

指字符串中删除所有小写

字母c。请改正程序中的错

误,使它能计算出正确的结

果。

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

s[j]='\0';

(三)假定输入的字符串

中只包含字母和*号。请编

写函数fun,它的功能是:

将字符串的前导*号全部移

到字符串的尾部。函数fun

中给出的函数仅供参考。

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的素数,并统计

素数的个数作为函数值返

回。

1 a[i]

2 a[i]

3 0

2. 给定程序MODI1.C中函

数fun的功能是:为一个偶

数寻找两个素数,这两个素

数之和等于该偶数,并将这

两个素数通过形参指针传

回主函数。

1 y=1;

2 d=a-i;

3. 请编写函数fun,它的功

能是:计算并输出n(包括

n)以内能被5或9整除的

所有自然数的倒数之和。

int i;

double sum=0.0;

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

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

sum+=1.0/i;

return sum;

第二十六套

1. 给定程序中,函数fun

的功能是建立一个N×N的

矩阵。矩阵元素的构成规律

是:最外层元素的值全部是

1;从外向内第二层元素的

值全部为2;第三层元素的

值全部是3,…依此类推。

1 [N]

2 i 3

i+1

2. 给定程序MODI1.C中函

数fun的功能是:将十进制

正整数m转换成k(2≤k≤9)

进制数,并按高位到低位顺

序输出。

1 void fun(int m, int k)

2 aa[i]=m%k; 3

printf(?%d?,aa[i-1]);

3. 编写一个函数,从num

个字符串中找出最长的一

个字符串,并通过形参指针

max传回该串地址。(注意:

主函数中用****作为结束

输入的标志,函数fun中给

出的语句仅供参考)。

int i=0;

max=a[0];

for(i=0;i

if(strlen(max)

[i]))

max=a[i];

return max;

第二十七套

1. 函数fun的功能是:计

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

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

若x=2.5,n=15时,函数值

为1.917914。

1 1.0

2 -1 3

t

2. 给定程序MODI1.C中函

数fun的功能是:从三个红

球,5个白球,6个黑球中

任意取出8个作为一组,进

行输出。在没组中,可以没

有黑球,但必须要有红球和

白球。组合数作为函数值返

回。正确的组合数应该是15.

程序中i的值代表红球数,

j代表白球数,k代表黑球

数。

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

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 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矩阵的

主对角线元素和方向对角

线元素之和,并作为函数值

返回。注意:要求先累加主

对角线元素中的值,然后累

加反响对角线元素的值。

4

5

1 sum=0

2 t[i][i]

3 1 2. 给定程序MODI1.C 中函数fun 和funx 的功能是:用二分法求方程2x 3-4x 2

+3x-6=0的一个根,并要求绝对误差不超过0.001。 1 double r; 2 while(fabs(n-m)>0.001) 3. 假定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h 已指向字符串中的第一个字母,形参p 已指向字符串中最后一个字母。在编写函数时,不得使用c 语言提供的字符串函数。 int j=0; char *q=a; while(*q&&q

p 、q 所指两个字符串对应位

置中的字符,把ASCII 值或相等的字符依次存放在c 所指数组中,形成一个新的字符串。

1 int k=0;

2 while(*p||*q)

3. 假定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。在编写函数时,不得使用C 语言提供的字符串函数。函数fun 中给出的语句仅供参考。

int i=0;

char *p=a;

while(*p&&*p=='*') { a[i]=*p; i++; p++; }

while(*p)

{ if(*p!='*') {a[i]=*p;i++;} p++; }

a[i]='\0'; 第三十二套

1. 给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun 的功能是:把形参x 的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

1 x

2 p

3 s 2. 给定程序MODI1.C 中函数fun 的功能是:计算正整数num 的各位上的数字之积。

1 long k=1;

2 num/=10 3. 请编写函数fun ,它的功能是:计算n 门课程的平均分,计算结果作为函数返回。 int i;

float ave=0.0; for(i=0;i

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

1 N

2 substr

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

1 fun(int x,int y,int z)

2 return j;

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

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

a[j]=0; 第三十四套

1. 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中查找与形参t 所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss 所指字符串数组中共有N 个内容不同的字符串,且串长小于M 。

1 N

2 i

3 -1 2. 给定程序MODI1.C 中函数fun 的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并且把这些数放在b 所指的数组中,这些数作为函数值返回。规定,函数中a1放个位数,a2放十位数。

1 a2=k/10;

2 return i;

6

3. 假定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 char *p=a; while(*p)p++;p--; while(*p=='*')p--; p++; *p=0; 第三十五套 1. 给定程序中,函数fun 的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n 所指的存储单元中。 1 *n 2 next 3 head 2. 给定程序MODI1.C 中函数fun 的功能是:求出s 所指字符串最后一次出现的t 所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL 。 1 a=NULL ; 2 if(*r==*p) 3. 函数fun 的功能是:将s 所指字符串中除了下标为偶数,同时ASCII 指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在t 所指的数组中。 int i,j=0; for(i=0;inext; double av=0.0; int n=0; while(p!=NULL) { av=av+p->s; p=p->next; n++; } av/=n; return av; 第三十七套 1. 函数fun 的功能是:把形参a 所指数组中的偶数按原顺序依次存放a[0]、a[1]、a[2]……中,把奇数从数组中删除,偶数个数通过函数值返回。 1 a[i]%2 2 a[j] 3 j 2. 给定程序MODI1.C 中函数fun 的功能是:按以下递推公式求函数值。例如,当给n 输出5时,函数值为18;当给n 输入3时,函数值为1

4. 1 fun(int n) 2 if(n==1) 3. 假定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:使字符串中尾部的*号不得多于n 个;若多于n 个则删除多余的*号;若少于或等于n 个,则什么也不做,字符串中间和前面的*号不删除。 char *p=a; int j=0; while(*p)p++;p--; while(*p=='*')p--; p++; while(j

1. 给定程序中,函数fun

的功能是:将s 所指字符串所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

1 j++

2 s[i]=t1[i]

3 j

2. 给定程序MODI1.C 中函数fun 的功能是:用冒泡法对6个字符串按由小到大的顺序排列。 1 for(j=i+1;j<6;j++) 2 *(pstr+i)=*(pstr+j);

3. 请编写函数fun ,它的功能是:求出ss 所指字符串中指定字符个数,并返回次值。

int cnt=0; char *p=ss; while(*p){

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

return cnt; 第四十一套

1. 给定程序中,函数fun 的功能是:将形参s 所指定字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

1 48

2 s++

3 sum

2. 给定程序MODI1.C 中函数fun 的功能是:计算小于形参k 的最大的10个能被13或17整除的自然数之和。K 的值由主函数传入,若K 的值为500.则主函数为4622。 1

if((k%13==0││(k%17==0))

2 }

3. 请编写函数fun ,它的功能是:求小于形参n 同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。

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 p->next

2 q

3 p->next

2给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母顺序的后续字母(但Z转化成A,z转换为a),其它字符不变。

1 while(*s)

2 s++;

3 请编写函数fun,函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。

例如,一维数组中的原始内容:1,2,3,4,5,6,7,8,9,10;p的值维3.移动后,一维数组的内容为:5,6,7,8,9,10,1,2,3,4。

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

for(i=p+1;i

]=w[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 0

2 ||

3 1

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

1 t=t-1.0/i;

2 return t;

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

的空格。

char *p=str;

int i=0;

while(*p){

if(*p!='

')str[i++]=*p;

p++;

}

str[i]=0;

第四十四套

1给定程序中,函数fun的

功能是:将N乘以N矩阵中

元素的值按列右移一个位

置,右边被移出矩阵的元素

绕回左边。

1 N

2 N-1

3 0

2 给定程序MODI1.C中函数

fun的功能是:计算并输出

下列级数的前n项的和Sn,

直到Sn+1大于q为止,q的

值通过形参传入。

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

return t;

3编写函数fun,它的功能

是:求Fibonacci数列中大

于t的最小一个数,结果由

函数返回。其中Fibonacci

数列F(n)定义为

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 next

2 NULL

3 r

2 给定MODI1.Cfun函数的

功能是:计算s所指字符串

中含有t所指字符串的数

目,并作为函数值返回。请

改正函数fun中指定部位的

错误,使它能得出正确的结

果。

1 r=t; 2

r=t;

3 请编写函数fun,函数的

功能是:将放在字符串数组

中的M个字符串(每串的长

度不超过N),按顺序合并组

成一个新的字符串,函数

fun中给出的语句提供参

考。

int i;*b=0;

for(i=0;i

b,a[i]);

第四十六套

1给定程序中,函数fun的

功能是:将形参s所指字符

串所有ASCII码小于97的

字符存入形参t所指字符数

组中,形成一个新串,并统

计出符合条件的字符个数

作为函数值返回。

1 *s

2 s++

3 n

2给定程序MODI1.C中函数

fun的功能是:由形参给定

n个实数,输出平均值以上

(含平均值)的实数个数。

1 { int j,c=0;float

xa=0.0;

2 if(x[j]>=xa)

3编写函数fun,其功能是:

根据以下公式求p的值,结

果由函数值带回。m与n为

两个正整数且要求m>n。

long jc(int m)

{ long s=1;

int i ;

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

s=s*i ;

return s; }

float fun(int m, int n)

{ float p;

p=1.0*jc(m)/jc(n)/jc(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 x

2 n 3

fabs(t)

2给定程序MODI1.C中函数

fun的功能是:求整数x的

y次方的低3位值。例如,

整数5的6次方为15625,

此值的低3位值为625。

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

t=t%1000;

3请编写函数fun,其功能

是:计算并输出当x﹤0.97

时下列多项式的值,直到

Sn-Sn-1<0.000001为止。

int n=1;

double sn=1;

double xn=1,xn1=0;

while(fabs(xn-xn1)>=0.0

00001)

{

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

n+=1;

sn+=xn;

}

return(sn);

第四十八套

1给定程序中,函数fun的

功能是:计算出带有头节点

的单向链表中各节点数据

域中值之和作为函数值带

回。

1 data

2 next 3

head

2给定程序MODI1.C中函数

fun的功能是:将s所指字

符串中出现的与t1所指字

符串相同的子串全部替换

成t2所指字符串,所形成

的新串放在w所指的数组

中。在此处,要求t1和t2

所指字符串的长度相同。

1 while(*r) 2

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

3函数fun的功能是:将s

所指字符串中下标为偶数

的字符删除,串中剩余字符

形成的新串放在t所指数组

中。

int i,j=0;

for(i=1;i

2)

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

t[j]=0;

第四十九套

1 给定程序中,函数fun的

功能是:把形参s所知字符

串中最左边的n个字符复制

到形参t所指字符数组中,

形成一个新串,若s所指字

符串的长度小于n,则将整

个字符串复制到形参t所指

字符数组中。

1 t,s

2 s[i] 3

2 给定程序MODI1.C中函

数fun的功能是:找出一个

大于形参m且紧随m的素

7

数,并作为函数值带回。

1 if(i%k==0)

2 if(k>=i)

3编写函数fun,它的功能是:求出能整除形参x切不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

int i;

*n=0;

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

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

*n)++]=i;

第五十套

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

1 j

2 k

3 p

2给定程序MODI1.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。

1 while(i

2 if(*a)

3函数fun的功能是:将s 所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s 所指串中剩余的字符形成的新串放在 t所指的数组中。

int i,j=0;

for(i=0;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 0 2 i++ 3

2.0*i

2 给定程序MODI1.C中函数

fun的功能是:将s所指字

符串的正序和反序进行连

接,形成一个新串放在t所

指的数组中。

1 void fun(char*s, char

*t) 2 t[2*d]='\0';

3 函数fun的功能是:将s

所指字符串中除了下标为

奇数、同时ASCII值也为奇

数的字符之外,其余的所有

字符都删除,串中剩余字符

所形成的一个新串放在t所

指的数组中。

int i,j=0;

for(i=1;i

2)

if(s[i]%2)

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

t[j]=0;

第五十二套

1给定程序中,函数fun的

功能是:在3×4的矩阵中

找出在行上最大,列上最小

的那个元素,若没有符合条

件的元素则输出相应信息。

1 j

2 0 3

i++

2 给定程序MODI1.C中函

数fun的功能是:根据整形

形参m的值:计算如下公式

的值?……例如:若m中的值

为5,则应输出:0.536389。

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

2 y-=1.0/(i*i);

3 m个人的成绩存放在

score数组中,请编写函数

fun,它的功能是:将低于

平均分的人数作为函数值

返回,将低于平均分的分数

放在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 std[]

2 PERSON

3 std

2 给定程序MODI1.C中函数

fun的功能是:将m(1≦m

≦10)个字符串连接起来,

组成一个新串,放入pt所

指存储区中。

1 int k,q,i; 2

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

3程序定义了N×N的二维数

组,并在主函数中自动赋

值。请编写函数fun(int

a[ ][N]),函数的功能是:

使数组左下三角元素中的

值全部置成0。

int i,j;

for(i=0;i

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

a[i][j]=0;

第五十四套

1给定程序中,函数fun的

功能是:计算形参x所指数

组中N个数的平均值(规定

所有数均为正数),作为函

数值返回,并将大于平均值

的数放在形参Y所指数组

中,在主函数中输出。

1 0.0

2 x[i]/N

3 j++

2 给定程序MODI1.C中函数

fun的功能是:根据整形形

参m,计算如下公式的值。

1 double fun(int m)

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

3已知学生的记录由学号和

学习成绩构成,N名学生的

数据已存入 a 结构体数组

中,请编写函数的功能是:

找出成绩最低的学生记录,

通过形参返回主函数(规定

只有一个最低分)

int i;

*s=a[0];

for(i=0;i

if(s->s>a[i].s)

*s=a[i];

第五十五套

1给定程序中,函数fun的

功能是:判断形参s所指字

符串是否是?回去?

(Palindrome)若是,函数

返回值为1;不是,函数返

回值为0,?回文?是正读和

反读都是一样的字母串(不

区分大小写字母)。

1 s

2 -- 3

return 0

2 给定程序MODI1.C中函数

fun的功能是:求出以下分

数序列的前n项之和。

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

/13+……和值通过函数值

返回main函数。例如n=5,

则应输出:8.391667。

1 double fun(int n)

2 s=s+(double)a/b;

3 请编写函数fun,函数的

功能是:将大于形参m且紧

靠m的k个素数存入xx所

指的数组中。19,23,29,

31,37,函数fun中给出的

语句仅供参考。

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 *fw

2 str 3

str

2 给定程序MODI1.C中函数

fun的功能是:从低位开始

取出长整形变量s中奇数位

上的数,依次构成一个新数

t中。高位仍在高位,低位

仍在低位。

1 void fun(long s,long*t)

2 s1=s1*10;

3 函数fun的功能是:将两

个两位数的正整数a 、b合

并形成一个整数放在c中。

合并的方式是:将a数的十

位和个位数依次放在 c 数

的十位和百位上,b数的十

位和个位数依次放在c数的

千位和十位上。

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

00+(b%10)*10+(a/10);

第五十七套

1 给定程序中,函数fun的

功能是:计算出形参s所指

8

9

字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。 1 n++ 2 0 3 s++; 2 给定程序MODI1.C 中函数fun 的功能是:从n (形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver 所指的存储单元中。 1 t+=s[k]; 2 *aver=ave; 3 请编写函数fun ,其功能是:求出数组的最大元素在数组中的下标并存放在k 所指的存储单元。 int i,pos=0,max=*s; for(i=1;i

5/42 +7/62-…+(-1)n-1

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

直到︱(2×n-1)/(2×n 2)︱≤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 函数。 1 double fun(int n) 2 s=s+(double)a/b; 3 请编写函数fun ,它的功能是:求出一个2×M 整型二维数组中最大元素的值,并将此值返回调有函数。 int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;jave=a->ave+a->s[i]; a->ave/=N; 第六十套 1给定程序中,函数fun 的功能是:有N ×N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素设置为0。 1 [N] 2 t[i][j] 3 t[j][i] 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。 1 #define FU(m,n) ((m)/(n)) 2 return (value); 3规定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 int j=0; char *p=a; while (*p=='*')p++; while (*p){ a[j++]=*p; p++; } a[j]=0; 第六十一套 1 人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组std 中。函数fun 的功能是:找出指定出生年份的人员,将其数据放在形参k 所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 1 std[i].year 2 std[i] 3 n 2 给定程序MODI1.C 中函数fun 的功能是:读入一个整数k (2≤k ≤10000)打印它的所有质因子(即所有为素数的因子)。 1 IsPrime (int n) 2 if (!(n%i)) 3 已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入结构体数组a 中。请编写给函数fun ,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。 int i; *s=a[0]; for(i=0;isa [mid]) 3 假定输入的字符串中只包含字母和*号,请编写函数fun ,它的的功能是:除了尾部的*号之外,将字符串中其他*全部删除。形参p 已指向字符串中最后一个字母。在编写函数时,不得使用C 语言提供的字符串函数。 char *t=a;

for(;t<=p;t++)

if(*t!='*')

*(a++)=*t;

for(;*t!='\0';t++) *(a++)=*t; *a='\0'; 第六十三套 1 给定程序中,函数fun 的功能是:求ss 所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。Ss 所指字符串数组中共M 个字符串,且串长﹤N 。 1 M 2 < 3 k 2 给定程序MODI1.C 中函数fun 的功能是:将tt 所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 1 if (( ' a ' <=tt[i])&&(tt[i]<= ' z ' )) 2 tt[ i ]- =32; 3 请编写函数fun ,函数的功能是:将所有大于1小于

10

整数 m 的非素数存入xx 所知数组中,非素数的个数通过k 传回。 int i,j,n=0; for(i=4;i

+5×7/62-……+(-1)n-1

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

例如,当形参n 的值为10时,函数返回:-0.204491。 1 1 2 2*i 3 (-1) 2 给定程序MODI1.C 中函数fun 的功能是:判断一个整数是否是素数,若是返回1,否则返回0. 1 k++; 2 if (m==k) 3 请编写一个函授fun ,它的功能是:找出一维整数组元素中最大的值和他所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x 是数组名,n 是x 中的数据个数,max 存放在大值,index 存放最大值所在元素的下标。 int i; *max=a[0];*d=0; for (i=1; i0) 3学生的记录由学号和学生成家组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun ,它的功能是;按分数的高低排列学生的记录,高分在前,低分在后。 int i,j; STREC t; for(i=1;i

串后。

char *p=p1;

while (*p)p++; while (*p2)*p++=*p2++; *p=0; 第六十九套

1 甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一个,乙每隔t2秒放一个,丙每隔t3秒放一个,丁每隔t4秒放一个,每人各放n 次。函数fun 的功能是通过形参提供的信息,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一声响声,第一声响是在第0秒。 1 i

2 t++

3 count 2 给定程序MODI1.C 中函数fun 的功能是:根据输入的三个边长(整值型),判断能否构成三角形,还是等腰三角形。若能够构成等边三角形函数返回3,若能构成等腰三角形,函数返回2,若构成一般三角形,则函数返回1,若不能构成三角形,则函数返回0. 1 int fun (int a,int b, int c) 2 else return 1; 3 编写一个函数fun ,它的功能是:计算并输出3到n 之间(含3和n )所有素数平方根之和。 int i, j=0; double s=0; for (i=3;i<=n; i++){ for (j=2; j

11

3 请编写一个函数fun ,它的功能是:计算并输出下列多项式的值: double s=0, t=1; int i ; for ( i=1; i<=n;i++) { t=t*i; s+=1.0/t; } return s; 第七十一套 1 给定程序中,函数fun 的功能是:把形参a 所指数组中的最大值放在a[0]中,接着求出a 所指数组中的最小值放在a[1]中;再把a 所指数组元素中的次大值放在a[2]中,吧a 组元素中的次小值放在a[3]中,依此类推。 1 a[] 2 2 3 i+1 2 给定程序modi1.c 中函数fun 函数功能是:按顺序给s 所指数组中元素赋予从2开始的偶数,然后再按顺序对每五个元素求平均值,并将这些值依次存放在w 所指的数组中,若s 所指数组中元素个数不是5的倍数,多余部分忽略不计。 1 sum=0.0; 2 if ((i+1)%5==0) 3 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b 所指的数组中,低于平均分的学生人数通过形参n 传回。平均分通过函数值返回。 int i,j=0; double av=0.0; for(i=0;i2)的素数的个数,素数的个数作为函数值返回。 1 j=2 2 i 3 j 2 数列中,第一项值为3,后一项都比前一项的增5;给定程序modi1.c 中函数fun 函数功能是:计算前n (4

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+x 2/+…+x n

/n!直

到|x/n!|<10-6

,若x=2.5,函数值为:12.182494。 1 x 2 n 3 t 2 给定程序MODI1.C 中fun 函数的功能是:计算n 的5次方的值(规定n 的值大于2 小于8),通过形参指针传向主函数,并计算该值的个位、十位、百位上的数字之和作为函数值返回。 1 d=1 ; s=0 ; 2 d=d/10 ; 3 请编写一个函数fun ,它的功能是:计算并输出给定数组(长度为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); }

return sum ; 第七十四套 1 给定程序中,函数fun 的功能是:计算f(x)=1+x+x 2/+…+x n

/n!的前n 项。若x=2.5,函数值为:12.182340。 1 1 2 1 3 i 2 给定程序MODI1.C 中fun 函数的功能是:找出100至n (n 不大于1000)之间三位数字相等的所有整数,把这些整数放在s 所指数组中,个数作为函数值返回。 1 k= i ; 2 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. 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 next 2 t->data 3 t 2 程序修改 给定程序MODI1.C 中fun 函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 1 fun (char *a ) 2 printf ( "%c" , *a); 3 程序设计 编写一个函数fun ,它的功能是:比较两个字符串的长度(不得调用C 语言提

供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相

同,则返回第一个字符串。 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 '\0' 2 0 3 c 2 在主函数中键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。给定程序MODI1.C 中函数fun 的功能是:计算数组元素中值为正数的平均值(不包括零) 1 double sum =0. 0; 2 sum/=c; 3 编写程序fun ,它的功能是:根据以下分工计算s ,计算结果作为函数值返回: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,新的数为739

1 10

2 0

3 x

12

2 给定程序modi1.c 中函数fun 函数功能是:计算n !。例如,给n 输入5,则输出120.000000。 1 if (n==0) 2 result *=n--;

3 请编写一个函数fun ,它的功能是:将一个数字字符转换为一个整数(不得调用C 语言提供的将字符转换为整数的函数)。例如,若输入字符串?-1234?,则函数将它转换为整数值-1234. 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* 2 fp 3 ch 2 给点那个程序MODI1.C 中函数fun 的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。 1 s [j++]=s [ i ]; 2 s [ j ]= ' \ 0 ' ; 3 请编写函数fun ,函数的功能是:将M 行N 列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 int i, j, n=0; for (i=0; inext 2 p - > next 3 > 2 给定程序MODI1.C 是建立一个带头结点的单项链表,并用随机函数为各节点数据赋值。函数fun 的作用是:求出单项链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun 中所指部位的错误,使它能得出正确结果。 1 p= h - >next; 2 p=p->next; 3 程序设计 请编写函数fun ,函数的功能是:将M 行N 列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存在形参n 所指的存储单元中。 int i, j, k ; for (i=0 ; inext; 3 请编写函数fun ,函数的功能是:判断字符串是否为回文?是,函数返回1,主函数中输出:YES ,否则返回0,主函数中输出NO 。回文是指顺读t 和倒读都一样的字符串。 int i,n=0,fg=1; char *p=str; while (*p) { n++; p++; } for(i=0;i

char t; for(i=1;i<=m;i++) {t=w[0]; for(j=1;w[j]!='\0';j++) w[j-1]=w[j]; w[j-1]=t; } 第八十三套 1 程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun 的功能是输出这位学生的信息。 1 tt 2 tt.score [ i ] 3 std 2 给定程序MODI1.C 中函数fun 的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 1 m= i ; 2 if ( a [k]>a [m]) m=k; 3 请编写一个unsigned

fun(unsigned w ),w是一

个大于10的无符号整数,

若w是n(n≥2)位的整数,

函数求出w的后n-1位的数

作为函数值返回。

例如:w值为5923,则函数

返回923;w值为923,则函

数返回23.

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 filename

2 fp

3 fp

2 给定程序MODI1.C中函数Creatlink的功能是创建带

头结点的单向链表,并为各

结点数据域赋0到m-1的值。请改正函数Creatlink

中指定部位的错误,使它能

得出正确的结果。

1 p=(NODE*) malloc (sizeof(NODE));

2 return h;

3 请编写函数fun,函数的

功能是:统计一行字符串中

单词的个数,作为函数值返回。一行字符串在主函数中

输入,规定所有单词有小写

字母组成,单词之间由若干

个空格隔开,一行的开始没

有空格。

int k=1;

while (*s)

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

s++; }

return k ;

第八十五套

1 程序通过定义学生结构

体变量,存储了学生的学号、姓名和三门课的成绩。

所有学生数据均以二进制方式输出到文件中。函数

fun的功能是从形参

filename所指的文件中读

入学生书数据,并按照学号

从小到大排序后,再用二进

制方式把排序后的学生数

据输出到filename所指的

文件中,覆盖原来的文件内

容。

1 "r"

2 > 3

fwrite

2 给定程序MODI1.C中函数

fun的功能是:在字符串的

最前端加入n个*号,形成

新串,并且覆盖原串。注意:

字符串的长度最长允许为

79.

1 p=s ;

2 while

(*p++)

3 请编写函数fun,函数的

功能是:统计各年龄段的人

数,N个年龄能通过调用随

机函数获得,并放在主函数

的age数组中:要求函数把

0到9岁的年龄段的人数放

在d[0]zhong 把10—19岁

的年龄段的人数放在d[1]

中,其余依此类推,把100

岁(含100岁)的年龄段的

人数放在d[10]中。结果在

主函数中输出。

int i , j ;

for ( i=0; i

b[ i ]=0;

for ( i=0; i

{ j=a [ i ]/10;

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

else b [j ]++; }

第八十六套

1 给定程序中,函数fun的

功能是将不代头结点的单

向链表逆置。即若原链表中

从头至尾结点数据域依次

为:2、4、6、8、10,逆置

后,从头至尾结点数据域依

次为:10、8、6、4、2.请

在程序的下划线处填入正

确的内容并把下划线删除,

使程序得出正确的结果。

1 NODE

2 next

3 r

2 给定程序MODI1.C中函数

fun的功能是:将s所指字

符串中位于奇数位置的字

符或ASCII码为偶数的字符

放入t所指数组中(规定第

一个字符放在第0位中)

1 if ( i %

2 || s [ i ]%2=

=0 )

2 t [ j ]= ' \0 ' ;

3请编写函数fun,函数的

功能是:将M行N列的二维

数组中的数据,按列的顺序

依次放到一维数组中。函数

fun中给出的语句仅供参

考。

int i, j, np=0;

for ( i=0; i

for ( j=0; j

j++)

{

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

np=i*mm+j+1;

}

*n=np ;

第八十七套

1 程序通过定义学生结构

体变量,存储了学生的学

号、姓名和三门课的成绩。

所有学生数据均以二进制

方式输出到student.dat文

件中。函数fun的功能是从

指定文件中找出指定学号

的学生数据,读入此学生数

据,对该生的分数进行修

改,使每门的分数加3分,

修改后重写文件中该学生

的数据,即用该学生背后的

数据覆盖原数据,其他学生

数据不变;若找不到,则什

么都不做。请在程序的下划

线处填入正确的内容并把

下划线删除,使程序得出正

确的结果。

1 fp

2 = = 3

fp

2 给定程序MODI1.C中函

数fun的功能是:利用插入

排序法对字符串中的字符

按从小到大的顺序进行排

序,插入法的基本算法是:

先对字符串中的头两个元

素进行排序,然后把第三个

字符插入到前两个字符中,

插入后前三个字符依然有

序;再把第四个字符插入到

前三个字符中,……。待排

序的字符串已在主函数中

赋予。请改正函数fun中指

定部位的错误,使它能得出

真确结果。

1 n=strlen (aa); 2

ch =aa [i];

3 N名学生的成绩已在主

函数中放入一个带头结点

的链表结构中,h指向链表

的头结点。请编写函数fun,

它的功能是:找出学生的最

高分,由函数值返回。

double max=h->s;

while(h!=NULL)

{if(maxs)

max=h->s;

h=h->next;

}

return max;

第八十八套

1 给定程序中,函数fun

的功能是:调用随机函数产

生的20个互不相同的整数

放在形参a所指数组中(此

数组在主函数中已置0)。

1 N

2 break 3

n

2 给定程序MODI1.C中函

数fun的功能是:先从键盘

上输入一个3行3列矩阵的

各个元素的值,然后输出主

对角线元素之和。

1 sum=0

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

[ j ]) ;

3 编写程序,实现矩阵(3

行3列)的转置(即行列互

换)

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

memcpy(arr,array,9*size

of(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 [N]

2 len 3

*n=len

2 给定程序MODI1.C中函数

fun的功能是:根据形参m

计算如下公式的值。例如,

若输入5,则应输出

2.283333

1 t+=1. 0/ i ; 2

return t;

3 编写一个函数,该函数

13

14

可以统计一个长度为2的字符串在另一个字符串中出现的次数。 int i,j=0; for(i=0;str[i+1]!='\0';i++) if(str[i]==substr[0]&&s tr[i+1]==substr[1]) j++; return j; 第九十套 1 给定程序中,函数fun 的功能是:求出形参ss 所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss 所指字符串数组中有M 个字符串,且串长tt[j][i]) {min=tt[j][i]; k=j; } pp[i]=tt[k][i];} 第九十二套 1 给定程序中,函数fun 的功能是:将a 和b 所指的两字符串转达换成面值相同的整数,并进行相加作为函数值返回,规定字符串只含9个以下数字字符。 1 '0' 2 s++ 3 ctod(a)+ctod(b) 2 给定程序MODI1.C 中函数fun 的功能是:分别统计字符串大写字母和小写字母的个数和。 1 void fun ( char *s, int *a, int *b ) 2 *a=*a+1; 3 *b=*b+1; 3 请编写函数fun ,函数的功能是:使用实型整数保留2位小数,并对第三位进行四舍五入(规定实型数为正数) long w; w=(h*1000+5)/10; return (float)w/100; 第九十三套 1 给定程序中,函数fun 的功能是:找出100—x (x<=999)之间各位上的数字之和为15的所有整数,然后输出,符合条件的整数

个数作为函数值返回。

1 0

2 x

3 t++

2 给定程序MODI1.C 中函数fun 的功能是:先将s 所指字符串中的字符按逆序放到t 所指字符串中,然后把s 所指的字符串中的字符按正序连接到t 所指串的后面。

1 int i,s1;

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

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

*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10); 第九十四套

1 给定程序中,函数fun 的功能是:从三个形参a 、b 、c 中找出中间那个数,作为函数值返回。

1 a

2 a

3 b

2 给定程序MODI1.C 中函数fun 的功能是:首先将大写字母转换为对应的小写字母:若小写字母为a —u ,则将其转换为其后的第五个字母;若小写字母为v —z ,使其值减21。转换后的小写字母作为函数值返回。 1 c=c+32; 2 c=c+5; 3请编写函数fun ,函数的功能是:计算并输出……例如,在主函数中从键盘给n 输入20后,输出为s=534.188884。注意:要求n 的值大于1但不大于100. int i;

double fac=1.0; double sum=1.0; for(i=2;i<=n;i++) {fac+=sqrt(i); sum+=fac; }

return sum; 第九十五章

1 给定程序中函数fun 的功能是:调用fun 函数建立班级通讯录。通讯录中记录每位同学的编号、姓名和电话号码。班级的人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为mylife5.dat 的二进制文件中。

1 STYPE

2 FILE

3 fp

2 给定程序MODI1.C 中函数fun 的功能是:先将在字符串s 中的字符按正顺序放到t 串中,然后把s 中的字符按逆顺序放到他串后面。 1 for(i=0;i

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

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 第九十六套

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

1 ->sno

2 ->name

3 &t

2 给定程序MODI1.C 中函数fun 的功能是:应用递归算法求形参a 的平方根。求平方根的迭代公式如下:例如:a 为2时平方根值为1.414214

1 double fun(double a,double x0) 2

if(fabs(x1-x0)>0.00001) 3 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun ,它的功能是:把高于等于平均分数的学生数据放在b 所指的数组中,并把人数通过形参n 传回。 double t=0; int i; *n=0;

for(i=0;i

t=t+a[i].s;

t=t/N;

for(i=0;i

if(a[i].s>t)b[(*n)++]=a [i];

return t;

第九十七套

1 给定程序中函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计其出现的次数。

1 *s

2 1

3 k[n]

2 给定程序MODI1.C中函数fun的功能是:求s的值。例如:当K为10时,函数应为1.533852.

1 float fun(int k)

2 return s;

3 请编写函数fun,函数fun 的功能是:计算并输出下列级数和:例如,当n=10时,函数值为0.909091.

double s=0.0;

int i;

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

s=s+1.0/(i*(i+1));

return s;

第九十八套

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

1 1

2 s>0

3 i*10

2 给定程序MODI1.C中函数fun的功能是:输出M行N列的整数方阵,然后求两条对角线上元素之和,返回此和数。

1 int fun(int n,int xx[][M])

2

printf("%d",xx[i][j]);

3 请编写函数fun,函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式为:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的各位和百位上。*c=(a/10)*1000+(b%10)*1

00+(a%10)*10+b/10;

第九十九套

1 给定程序中函数fun的功

能是:求出形参ss所指字

符串数组中最长的字符串

长度,其余字符串左边用字

符*补齐,使其与最长字符

串等长。字符串数组中共有

M个字符串,且串长

1 k

2 len 3

ss[i][j]

2 给定程序MODI1.C中函数

fun的功能是:计算整数n

的阶乘。请改正程序中错误

或在下划线处填上适当内

容,删掉下划线,使它能计

算出正确结果。

1 result *=n--; 2

return result;

3 请编写函数fun,函数fun

的功能是:从s所指的字符

串删除给定的字符。同一字

母的大小写按不同字符处

理。

char *p=s;

int i=0;

while(*p)

{

if(*p!=c)s[i++]=*p;

p++;}

s[i]=0;

第一百套

1 给定程序通过定义并赋

值的方式,利用结构体变量

存储了一名学生的学号姓

名和3门课的成绩。函数fun

的功能是将该学生的各科

成绩都乘以一个系统a。

1 STU

2 score[i]

3 &std

2 给定程序MODI1.C中函

数fun的功能是:求K!<13,

所求阶乘的值作为函数值

返回。例如,若K=10,

则应输出3628800

1 if(k>1)

2 elsse

if(k= =0)

3 程序定义了N*N的二维

数组,并在主函数中自动赋

值。请编写函数fun(int a[ ]

[N],int n),函数的功能

是:使数组左下三角元素中

的值乘以n。

int i,j;

for(i=0;i

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

a[i][j]*=n;

注意:答题方法,例如100

题:1填空题例如程序中

__1__,对应答案1,把__1__

删除填入STU都填完(一般

2-3个空)然后编译程序即

可。2改错题找不同,把程

序中与题库中不一样的地

方改过来即可.。例如:

/**********found*******

***/

if k>1

把k>1加对()即if (k>1)

(一般2-3处错误)都改完

编译程序即可。

3 程序设计题:把程序

int i,j;

for(i=0;i

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

a[i][j]*=n;

直接写入考试编程程序中

的两个

{

}

之间,然后编译、连接、执

行按照上机课教得方法完

成最后一步。写入后如下:

{ int i,j;

for(i=0;i

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

a[i][j]*=n;

}

补充题:1 统求将 2 ○

统将 3 将删将 4 在

删统 5输在查 6 ○

给统

1题

1 给定程序中,函数fun

的功能是:统计整型变量m

中各数字出现的次数,并存

放到数组a中,

1 a[i]

2 m%10 3

m/10

2 给定程序MODI1.C中函

数fun的功能是:求矩阵(二

维数组)a[N][N]中每行的

最小值。

1 b[i]=a[i][0] 2

for(j=1;j

if(b[i]>a[i][j])

3 请编写函数fun,其功能

是:将一组得分中去掉一个

最高分和一个最低分,然后

求平均值,并通过函数返

回。函数形参a指向存放得

分的数组,形参n中存放得

分个数(n>2)。

int i;

double b,max,min,s=0;

max=a[0];min=a[0];

for (i=0;i

{ if (a[i]>max )max=a[i];

if (a[i]

s+=a[i];

}

b=(s-max-min)/(n-2);

return b;

2题,

1 围绕山顶一圈有N个山

洞,编号为0、1、2、

3、……、n -1,有一只

狐狸和兔子在山洞中居住,

狐狸总想找到兔子并吃掉

它,它的寻找方法是先到第

一个洞(即编号为0的洞)

中找:

1 0

2 t 3

i+t

2 给定程序M0Dl1.C中规定

输入的字符串全部为字母,

fun函数的功能是:统计a

所指字符串中每个字母在

字符串中出现的次数(统计

时不区分)

【1】b[i]=0;【2】

b[a[i]-'a']++;【3】

if(b[max]﹤b[i])

3 请编写函数fun,其功能

是:将一个数字字符串转换

成与其面值相同的长整型

整数。可调用strlen函数

求字符串长度。例如:在键

盘输入字符串2

int i;

long b;

char *a=s;

b=a[0] -'0';

for(i=1;i

)

b=10*b+(a[i]- '0');

return b;

3题

1程序通过定义学生结构体

变量,存储了学生的学号、

姓名和三门课的成绩。函数

fun的功能是:将形参a中

的数据进行修改,把修改后

的数据作为函数值返回主

函数进行输出。

1 struct student 2

https://www.sodocs.net/doc/5910259005.html, 3

a.score[i]

2假定整数数列中的数不重

复,并存放在数组中。给定

程序MODI1.C中函数fun的

功能是:删除数列中值为x

的元素。N中存放的是数列

15

中元素的个数。

1 if(p==n) return-1;

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

3 函数fun的功能是:将两

个两位数的正整数a 、b合

并形成一个整数放在c中。

合并的方式是:将a数的十

位和个位数依次放在 c 数

的十位和百位上,b数的十

位和个位数依次放在c数的

千位和十位上。

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

00+(b%10)*10+(a/10);

4 题

1 给定程序中,函数fun的

功能是:在任意给定的9个

正整数中找出按升序排列

时处于中间的数,将原数据

序列中比该中间数小的数

用该中间数替换,位置不变,在主函数中输出处理后

的数据序列,并将中间数作

为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45

按升序排列时的中间数为:

8

1 b[k]

2 4

3 <

2 给定程序中,fun函数的

功能是:删除b所指数组中

小于10的数据。主函数中

输出删除后数组中余下的

数据。

1 int t[N] ,i, num=0;

2 t[num++]=b[i];

3 for(i=0; i

i++)

3 请编写函数fun,其功能是:统计s所指字符串中的

数字字符个数,并作为函数

值返回。

例如,s所指字符串中的内

容是:2def35adh25 3kjsdf

7/kj8655x,

函数fun返回值为:11

int n=0;

char *p;

for(p=s;*p!='\0';p+ +)

if((*p>='0')&&(*p<=

'9'))

n++;

return n;

5 题

1 函数fun的功能是:输

出a所指数组中的前n个数据,要求每行输出5个数。

1 i%5

2 \n

3 a[i]

2 给定程序中,fun函数的

功能是:在任意给定的N个

正整数中,从左到右依次逐

个去三个数作为一组,按值

大小找出该组数中的值,用

该中值替换与该组数对应

的原三个数中的中间位置

的数。处理后原数列中首尾

2个数不变。处理后数列在

主函数中输出。例如,有10

个正整数。

1 return t;

2 for(i=0;i

t[i]=x[i]; 3 x[i+1]=findmid(a,b,c);

3 请编写函数fun,函数的

功能是:查找x在s所指数

组中下标的位置,并作为函

数值返回,若x不存在,则

返回—1.

int i;

for(i=0;i

if(x==s[i])

return i;

return -1;

6 题

1 给定程序的主函数中,

已给出由结构体构成的链

表结点a、b、c,各结点的数

据域中均存入字符,函数

fun()的作用是:将a、b、c

三个结点链接成一个单向

链表,并输出链表结点中的

数据。

(1)pb (2)

p->data (3)p->next

2 给定程序中,fun函数的

功能是:统计s所指一维数

组中0的个数(存在变量zero中)和1的个数(存在

变量one中),并输出结果。

1 int i, one=0, zero=0;

2 switch( s[i] )

3 case 0 : zero++; break;

3 请编写函数fun,其

功能是:将形参s所知字符

串放入形参a所指的字符数

组中,使a中存放同样的字

符串。说明,不得使用系统

提供的字符串函数。

while(*s!='\0')

{ *a=*s;

a++;

s++;

}

*a='\0';

16

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (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) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

2017年全国计算机等级考试二级C语言上机题库

2017年全国计算机等级考试二级 C语言上机题库 第一套 1.程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处struct student t; 第二处for(i=0;i0) 2程序修改 给定程序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=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套 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

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

计算机二级C语言编程题库(100题)

2011,____年上机题100题库 1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } return k; } 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案: void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; } 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案: void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; }

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

二级C语言上机题库及答案

第一套题 上机填空: #include double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=__1__/4; /**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i; /**********found**********/ x=__3__/(t*t); i++; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); 第一处答案:3.0 第二处答案:> 第三处答案:(2*i+1)或者(t+1) 上机改错题: #include /************found************/ void fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include double fun(int n) { int i; double s, t; /**********found**********/ s=__1__; /**********found**********/ for(i=1; i<=__2__; i++) { t=2.0*i; /**********found**********/ s=s+(2.0*i-1)*(2.0*i+1)/__3__; } return s; } main() { int n=-1; while(n<0) { printf("Please input(n>0): "); scanf("%d",&n); }

(完整版)历年全国计算机二级C语言题库

50道C语言知识题 1.以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 2.下列可用于C语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段 inta=3,b=5,c=7;

浙江大学C语言上机考试题库

上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); /*---------*/ if(x!=0) y=1/x; else y=0; printf("f(%.2f) = %.1f\n", x, y); } } 20022程序填空,不要改变与输入输出有关的语句。 输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例:括号内为说明 输入 150 (fahr=150) 输出 celsius = 65 #include int main(void)

int celsius, fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include #include int main(void) { int money, year; double interest, rate; /*---------*/ scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest); } 20024程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5

全国计算机等级考试C语言上机考试题库 套

2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <>

#include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) { /**********found**********/ t[j]=__1__; j++;} else { p[k]=s[i]; k++; } } /**********found**********/

江西计算机省二级试题及答案_二级C语言上机题库1

二级C 语言上机考试复习资料,共有50套题目 一、程序填空题 1、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是对形参b 所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b 所指变量t 中的学号、姓名、和三门课的成绩依次是: 1000 2、"ZhangQi"、9 3、85、87,修改后输出t 中的数据应为:1000 4、" LiJie "、93、8 5、87。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include #include struct student { long sno; char name[10]; float score[3]; }; void fun( struct student *b) { /**********found**********/ b__1__ = 10004; /**********found**********/ strcpy(b__2__, "LiJie"); } main() { struct student t={10002,"ZhangQi", 93, 85, 87}; int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",t.sno, https://www.sodocs.net/doc/5910259005.html,); for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); printf("\n"); /**********found**********/ fun(__3__); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",t.sno, https://www.sodocs.net/doc/5910259005.html,); for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); printf("\n"); } 2、给定程序中,函数fun 的功能是计算下式 例如,若形参e 的值为1e-3,函数的返回值2.985678。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include double fun(double e) { int i; double s, x; /**********found**********/ s=0; i=__1__; x=1.0; while(x>e){ /**********found**********/ __2__; /**********found**********/ x=(2.0*i-1)/((__3__)*(2.0*i)); s=s+x; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); } 3、给定程序中,函数fun 的功能是: 将s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s 所指的字符串为:def35adh3kjsdf7。执行结正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) { int i, j=0, k=0; char t1[80], t2[80]; for(i=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') { /**********found**********/ t2[j]=s[i]; ___1___; } else t1[k++]=s[i]; t2[j]=0; t1[k]=0; /**********found**********/ for(i=0; i #define N 4 /**********found**********/ void fun(int (*t)___1___ ) { int i, j; for(i=1; i

相关主题