1、
第一套
1. 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,将所有串长超过k的
字符串中右边的字符删除,只保留左边的k个字符。ss 所指字符串数组中共有N 个字符串,且串长小于M。
1、Void fun(char (*ss)[M],int k) 2、while(I 2、
3. 假定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*
号不得多于n 个;若多于n 个,则删除多余的*号;若少于或等于n 个,则什么也不做,字符串中间和尾部的*号不删除。
int i=0, k=0;
char *t=a ;
while(*t=='*')
{k++;t++;}
t=a ;
if(k>n)
t=a+k-n;
while(*t)
{ a[i]=*t;
i++;
t++; }
a[i]='\0';
第二套
1 给定程序中,函数fun 的功能是:找出100~999 之间(含100 和999)所有整数中各位上数字之和为x(x 3、 为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。
1、 999 2 、t/10 3、if(s1+s2+s3== x)
2 给定程序MODI1.C 中函数fun 的功能是:从低位开始取出长整型变量s 中偶数位上的数,依次构成一个新数放在t 中。高位仍在高位,低位仍在低位。
1、 void fun (long s, long *t) 2、 while (s>0)
3 学生的记录由学号和成绩组成, N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能是;按分数的高低排列学生的记录,高分在前。
STREC tmp;
int i,j ;
4、for(i=0;i 5、
的绝对值小于指定的数(参数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中存放指定的下标。
int p,m=0 ;
for(p=0 ;p 6、组中的前半部分元素中的值和后半部分元素中的值对换。形参n 中存放数组中数据的个数,若n为奇数,则中间元素不动。
1 、1 2、 i 3、 a[p+i]=t;
2. 给定程序MODI1.C 中函数fun 的功能是:把主函数中输入的3个数,最大的放在a 中,最小的放在c中,中间的放在b 中。
1 、float k; 2、 if(*a<*c)
3. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
int i,max 7、a[0].s,n=0;
for(i=1;i 8、等于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;
第六套
9、1 给定程序中,函数fun 的功能是:将形参s 所指字符串中所有ASCII 码值小于97 的字符存入形参t 所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 1、 *s 2、 s++ 3、return n;
2 给定程序MODI1.C 中函数fun 的功能是:由形参给定n 个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。
1 、int j,c=0;double xa=0.0; 2、 if(x[j]>=xa)
3 编写函数fun,其功能是:根据以下公式求p 的值,结果由函数值带回。m 与n 为两个正整数且要求m>n。
float 10、result,temp=1.0;
int i;
for(i=1;i<=m;i++)
temp=temp*i;
result=temp;
for(temp=1.0,i=1;i<=n;i++)
temp=temp*i;
result=result/temp;
for(temp=1.0,i=1;i<=m-n;i++)
temp=temp*i;
result=result/temp;
return result;
第七套
1 给定程序的功能是:从键盘输入若干行文本(每行不超过80 个字符),写到文件myfile4.txt 中,用-1作为字符串输入结束的标志。然后将 11、文件的内容读出显示在屏幕上。文件的读写分别由自定义函数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学生的记录由学号和成绩组成, N名学生的数据已在主函数中放入结构体数组s中,请
编写了函数fun,它的功能是:把分数最低的学生数据放在b 所指的数组中,注意:分数最
低的学生可能不止一个,函 12、数返回分数最低的学生的人数。
int i,j=0,min=a[0].s;
for(i=0;i 13、ODI1.C 中函数fun 的功能是:求出以下分数序列的前n 项之和。
和值通过函数值返回main 函数。例如n=5,则应输出:8.391667。
1、 double fun(int n) 2、 c=a;a+=b;b=c;
3 请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx 所指的数组中。
int r=0,temp,p,sign=1;
for(temp=m+1;temp 14、ign==1&&p>=temp){
if(k>=0)
{xx[r++]=temp;
k--;}
else
break;}}
第九套
1 给定程序中,函数fun 的功能是:计算下式前n项的和作为函数值返回。例如,当形参n 的值为10 时,函数返回:-0.204491。
1、k=1 2、 2*i 3 、(-1)
2 给定程序MODI1.C 中函数fun 的功能是:判断一个整数是否是素数,若是返回1,否则
返回0.
1 、k++; 2 、if (m==k)
3 请编写一个函授fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,
最大的值和它所在的 15、下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x 是
数组名,n 是x 中的数据个数,max 存放在大值,index 存放最大值所在元素的下标。
int i;
*max=a[0];*d=0;
for (i=1; i 16、i< N ;i++) 2、return I; 3、n== -1
2. 给定程序MODI1.C 中函数fun 的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些事,并且把这些数放在b 所指的数组中,这些数作为函数值返回。规定,函数中a1 放个位数,a2 放十位数。
1 、a2=k/10; 2、 return i;
3. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*
号全部删除,前面和中间的*号不删除。 ****A*BC*DEF*G*******
int i=0;
char *p,*q;
p=q=a;
w 17、hile(*p)
p++;
p--;
while(*p=='*')
p--;
while(q<=p)
{ a[i]=*q;
i++;}
q++;
}
a[i]='\0';
第十一套
1. 给定程序中,函数fun的功能是:将形参s 所指定字符串中的数字字符转换成对应的数
值,计算出这些数值的累加和作为函数值返回。
1 、48 2、 s++ 3、return sum;
2. 给定程序MODI1.C 中函数fun 的功能是:计算小于形参k 的最大的10个能被13 或17
整除的自然数之和。K 的值由主函数传入,若K 的值为500.则主函数为4622。
1 18、 、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 的功能是:利用指针数组对形参ss 所指字符串数组中的字符串按
由长到短的顺序排列,并输入排序结果。ss所指定字符串数组中共有N个字符串,且串长
小于M。
1、 k=i 19、 2、 ps[j] 3 tp
2. 已知一个数列从第0项开始的前三项分别是0、0、1 ,以后的各项都是其相邻的前三项之和。给定程序MODI1.C 中函数fun 的功能是:计算并输出该数列前n 项的平方根之和。n的值通过形参传入。23.197745
1 、double fun(int n) 2、 return sum;
3. 编写函数fun,它的功能是:计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3
时,函数值为1.349859。
int i;
double s=1.0,y=x;
long k=1;
for(i=1;i<=n;i++)
{k=k*i 20、
s+=y/k;
y*=x; }
return s;
第十三套
1 给定程序中,函数fun 的功能是:在3×4的矩阵中找出在行上最大,列上最小的那个元
素,若没有符合条件的元素则输出相应信息。a[2][2]=9
1、c= j 2、find= 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,它的功能是:将低于 21、平均分的人数
作为函数值返回,将低于平均分的分数放在below 所指的数组中。
float av=0.0;
int i,j=0;
for(i=0;i 22、e(t) ;
2 给定程序MODI1.C 中fun 函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 abcd dcba
1 、void fun (char *a ) 2、 printf ( "%c" , *a);
3 请编写一个函数fun,它的功能是:比较两个字符串的长度(不得调用C 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。反回shanghai
int i ;
char *p =s ,*q=t;
int n=0,m=0;
while(*p)
{n++;
P++;}
while(*q)
23、
{m++;
q++:}
if(n>=m)
p=s;
else
p=t;
return p;
第十五套
1. 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,查找含有形参substr 所
指子串的所有字符串并输出,若没找到输出相应信息。Ss 所指字符串数组中共有N 个字符,
且串长小于M。程序中库函数strstr(s1、s2)的功能是早s1 串中查找s2 子串,若没有,函数值为0,若有,为非0。
1、i< N 2、 substr 3、find== 0
2. 给定程序MODI1.C 中函数fun 的功能是:求三个数的最小公倍数。
1 、 24、int fun(int x,int y,int z) 2、 return j;
3. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前
导和尾部的*号,串中字母之间的*号都不删除。形参n 给出了字符串的长度,形参h 给出了字符串中前导*号的个数。在编写函数时,不得使用C 语言提供的字符串函数。A*BC*DEF*G
char *p=a;
int j=0,len=0;
while(*p){p++;len++;}
while(j 25、功能是:判定形参a 所指的N 乘以N(规定N 为奇数)的矩阵是否是“幻方”,若是,函数返回值是1;不是,函数返回值为0.“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。492 357 816
1 、row=colum=0 2、 || 3、return 1;
2 给定程序MODI1.C 中函数fun 的功能是:根据整型形参m 计算如下公式的值。-0.283333
1、 t=t-1.0/i; 2、 return t;
3 请编写一个函数,函数的功能是:删除字符串中所有的空格。asdafaaz67
char *p=str;
int i=0;
w 26、hile(*p){
if(*p!=' ')str[i++]=*p;
p++;
}
str[i]=0;
第十七套
1. 给定程序中,函数fun的功能是:将a 所指4×3矩阵中第k 行的元素与第0行元素交换。123 456 789 101112
1、int k 2、i< N 3、a[0][i]= a[k][i]
2.给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所
有字符串按ASCII 码升序排序后输出。例如,若输入edcba,则应输出:abcde。
1 、for(i=strlen(t)-1;i;i--) 2、 if(t[j 27、]>t[j+1])
3. 请编写函数fun,函数的功能是:将ss 所指字符串中所有下标为奇数位置上的字母转换
为大写(若该位置上不是字母,则不转换)。abc4EFg
char *p=ss;
int i=0;
while(*p){
if((i%2)&&(*p>='a'&&*p<='z'))
*p-=32;
p++;
i++; }
第十八套
1.给定程序中,函数fun 的功能是:将a所指的3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。12345 12345 12345
1、p<= k 2、j< N-1 3、a[i] 28、[N-1]=temp
2.给定程序MODI1.C中函数fun的功能是:根据形参m 的值(2<=m<=9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2则输出:12 24
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的个位和百位上。a=45,b=12 c=5241
*c=(a%10)*1000+(b%10)*100 29、a/10)*10+(b/10);
第十九套
1 给定程序中,函数fun 的功能是:调用随机函数产生的20 个互不相同的整数放在形参a
所指数组中(此数组在主函数中已置0)。
1、 N 2 、break 3、if(i== n){
2 给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。
1、 sum=0 2、 scanf ("%d" , &a [ i ] [ j ]) ;
3 编写程序,实现矩阵(3行3列)的转置(即行列互换) 100200300 400500600
int i, j, arr [3 30、] [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的功能是:将形参n中,个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数。并作为函数值返回。
(1)0 (2) 10*x (3)n=n/10
2 给定程序MODI1.C中函数fun的功能是:将长整数中每一位上为奇数的数依次取出,构
成一个新数放在t中。高位仍在高位,低位仍在低位。87653142 31、 7531
1 、*t=0; 2、 if (d%2!=0)
3 编写一个函数fun,它的功能是:实现两个字符串的连续(不使用库函数strcat),即把p2
所指的字符串连接到p1 所指的字符串后。FirstString--
char *p=p1;
while (*p)p++;
while (*p2)*p++=*p2++;
*p=0;
第二十一套
1. 给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外
层元素的值全部是1;从外向内第二层元素的值全部为2;第三层元素的值全部是3,…依
此类推。11111 12221 12321 12221 32、 11111
1 、(*a)[N] 2、 I 3、 i+1
2. 给定程序MODI1.C 中函数fun 的功能是:将十进制正整数m 转换成k(2≤k≤9)进制
数,并按高位到低位顺序输出。 8 2 1000
1、 void fun(int m, int k) 2 、aa[i]=m%k; 3、 printf(“%d”,aa[i-1]);
3. 编写一个函数,从num 个字符串中找出最长的一个字符串,并通过形参指针max 传回
该串地址。(注意:主函数中用****作为结束输入的标志。)
int i,k=0,maxlen;
maxlen=strlen(a[k] 33、);
for(i=0;i 34、1/100*100+1/200*200 0.000160
1 、double fun(int m) 2 、for(i=100;i<=m;i+=100)
3 已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入a结构体数组中,请编写函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)
int i,min=a[0].s,j=0;
for(i=1;i 35、复
制成功时函数的返回值是1,失败是返回值是0.在复制的过程中,把复制的内容输出到终端
屏幕。主函数源文件名放在变量sfname中,目标文件放在变量tfname中。
1、source,"r" 2 、fs 3 、ch,ft
2. 给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,
构成一个新数放在t中。高位仍在高位,低位仍在低位。87653142 8642
1、 if(d%2==0) 2、 s/=10;
3. 函数fun 的功能是:将s 所指字符串中除了下标为偶数,同时ASCII 指也为偶数的字符
外,其余的全部都删除:串中剩余 36、字符所形成的一个新串放在t 所指的数组中。ABCDEFG123456 246
int i,j=0;
for(i=0;i 37、函数值返回,平均分存放在形参aver所指的存储单元中。75.5625
1、 t+=s[k]; 2 、*aver=ave;
3 请编写函数fun,其功能是:求出数组的最大元素在数组中的下标并存放在k所指的存储
单元。6,980
int i,pos=0,max=*s;
for(i=1;i 38、44831
1、d=d*10+*s- '0' 2、 s++ 3、return ctod(a)+ctod(b)
2 给定程序MODI1.C 中函数fun 的功能是:分别统计字符串大写字母和小写字母的个数。AAaaBBb123CCccccd 6 8
1、void fun(char *s,int *a,int *b) 2、*a=*a+1; 3、*b=*b+1;
3 请编写函数fun,函数的功能是:使用实型整数保留2 位小数,并对第三位进行四舍五入
(规定实型数为正数)1234.567 1234.572000
long w;
w=h*1000+5;
r 39、eturn (float)w/1000;
第二十六套
1. 给定程序中,函数fun 的功能是:计算形参x 所指数组中N 个数的平均值,(规定所有
数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x
所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。46 30 32 40 6 17 45 15 48 26
1、av+= x[i]/N 2、 j++ 3、 i++
2. 给定程序MODI1.C 中函数fun 的功能是:统计字符串各元音字母(即:A、E、I、O、U)的个数。注意字母不分大、小写。This is a boot 40、 1、0、2、2、0
1 、num[k]=0; 2 、switch(*s)
3. 请编写函数fun,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维
数组中的值在主函数中赋予。13479 29994 69998 13570 61
int tot=0,i,j;
for(i=0;i 41、能是:将形参s 所知字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。Asd123fgh5##43df
1、p[ j]=s[i];j++; 2、i< k 3、return p;
2 给定程序MODI1.C 中函数fun 的功能是:首先把b 所指字符串中的字符按逆序存放,然后将a 所指字符串中的字符和b 所指字符串中的字符,按排列的顺序交叉合并到c 所指数组中,过长的剩余字符接在c 所指数组的尾部。abcdefg 1234 a4b3c2d1efg
1、 while(i 42、串中下标为偶数同时ASCII值为奇数的字符删除,s所
指串中剩余的字符形成的新串放在t 所指的数组中。
{
int i,j=0;
for(i=0;i 43、
2 给定程序modi1.c 中函数fun 函数功能是:计算n!。例如,给n 输入5,则输出120.000000。
1、 if (n==0) 2、 result *=n--;
3 请编写一个函数fun,它的功能是:将一个数字字符转换为一个整数(不得调用C 语言
提供的将字符转换为整数的函数)。例如,若输入字符串“-1234”,则函数将它转换为整数
值-1234.
long s=0,t;
int i=0, j,n =strlen (p),k,s1;
if (p[0]=='-' )
i++;
for(j=I;j<=n-1;j++)
{t=p[j]-‘0’;
s1=10; 44、
for(k=j;k 45、 2
(1) for(i=0;str[i];i++) (2) if(substr[k+1]= ='\0')
3. 请编写一个函数fun,它的功能是:根据以下公式求JI 的值(要求满足精度0.0005,即
某项小于0.0005 时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为3.140578。
double s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=eps)
{pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
Pi=pi*2;
return pi;
第 46、三十套
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 函数。
1 double 47、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;j 48、
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<=(i/2);j++)
if(i%j==0) break;
if(j>(i/2) aa[k++]=i;
}
return k;
第三十二套
1 给定程序中,函 49、数fun 的功能是:从三个形参a、b、c 中找出中间那个数,作为函数值返回。例如,当a=3,b=5,c=4时,中数为4。
1a>c?c:a 2 (a>c)?a 3 (b>c)?c: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 的值大于 50、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 的功能是:找出100—x(x<=999)之间各位上的数字之和为15
的所有整数,然后输出,符合条件的整数个数作为函数值返回。例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、、、、
1 n=0 2 while(t<=x) 3 t++
2 给定程序MODI1.C






