if(s[i]%2)t[j++]=s[i];
t[j]=0;
}
第十七套
3.程序设计
请编写函数fun,函数的功能是:
求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
#include
viodfun(int*a,int*n)
{inti;
*n=0;
for(i=7;i<1000;i++)
if(((i%7)==0││(i%11)==0
&&(i%77)!
=0)a[(*n)++]=i;
}
第十八套
3.程序设计
请编写函数fun,函数的功能是:
利用一下所示的简单迭代方法求方程求方程:
cos(x)-x=0的一个实根。
xn+1=cos(xn)迭代步骤如下:
(1)取x1的初值为0.0;
(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于0.执行步骤(5)否则执行步骤
(2);(5)所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。
程序将输出结果为:
Root=0.。
floatfun()
{
floatx0,x1=0.0;
do{
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>0.);
returnx1;
}
第十九套
3.程序设计
函数fun的功能是:
将a、b中的两位正整数合并形成一个新的整数放在c中。
合并的方式是:
将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
voidfun(inta,intb,int*c)
{
*c=(a%10)*1000+(b%10)*100
+(a/10)*10+(b/10);
}
第二十套
3.程序设计
请编写一个函数voidfun(chara[],charb[],intn),其功能是:
删除一个字符串指定下标的字符。
其中,a指向原字符串,删除指定字符后的字符串放在b所指的n中存入指定的下标。
viodfun(chara[],char
b[],intn)
{
strncpy(b,a,n);
b[n]=0;
strcat(b,a+n+1);
}
第二十一套
3.程序设计
假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:
将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
voidfun(char*a,intn)
{
inti=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;
}}
第二十二套
3.程序设计
请编写函数fun,函数的功能是:
将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
voidfun(char*ss)
{
char*p=ss;
inri=0;
while(*p){
if((i%2)&&(*p>=’a’&&*p<=’z’))
*p-=32;
p++;
i++;
}
}
第二十三套
3.程序设计
函数fun的功能是:
将两位正整数a、b合并形成一个新的整数放在c中。
合并的方式是:
将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的百位和个位上。
voidfun(inta,intb,long*c)
{
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
第二十四套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
将字符串的前导*号全部移到字符串的尾部。
函数fun中给出的函数仅供参考。
voidfun(char*a)
{char*p,*q;
intn=0;
p=a;
while(*p==’*’)
{n++;p++;}
q=a;
while(*p){
*q=*p;
p++;q++;
}
for(;n>0;n--)
*q++=’*’;
*q=’\0’;
}
第二十五套
3.程序设计
请编写函数fun,它的功能是:
计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
doublefun(intn)
{
inti;
doublesum=0.0;
for(i=1;iif(i%5==0||i%9==0)
sum+=1.0/i;
returnsum;
}
第二十六套
3.程序设计
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。
(注意:
主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考)。
第二十七套
3.程序设计
请编写函数fun,它的功能是:
计算并输出下列多项式的值:
sn=1+1/1!
+1/2!
+1/3!
+1/4!
+……1/n!
。
例如:
在主函数中从键盘给n输入15,则输出为:
s=2.。
注意:
要求n的值大于1但不大于100。
doublefun(intn)
{
doubles=1’
longt=1;
inti;
for(i=1;i<=n;i++){
t=t*i;
s+=1.0/t;}
returns;
}
第二十八套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
形参h已指向字符串中的第一个字母,形参p已指向字符串中最后一个字母。
在编写函数时,不得使用c语言提供的字符串函数。
voidfun(char*a,char*h,char*p)
{
intj=0;
char*q=a;
while(*q&&qwhile(*h&&*p&&h
{
if(*h!
=’*’)a[j++]=*h;
h++;
}
while(*p)a[j++]=*p++;
a[j]=0;
}
第二十九套
3.程序设计
编写一个函数fun,它的功能是计算:
s=根号下(ln
(1)+ln
(2)+ln(3)+……ln(m))S作为函数返回,在C语言中可以调用log(n)求ln(n)。
log函数引用说明是:
Doublelog(doublex)例如,若m的值为:
20,fun函数值为:
。
doublefun(intm)
{
doubles=0.0;
inti;
for(i=0;i<=m;i++)
s+=log(1.0*i);
s=sqrt(s);
returns;
}
第三十套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
删除字符串中所有的*号。
在编写函数时,不得使用C语言提供的字符串函数。
voidfun(char*a)
{
intj=0;
char*p=a;
while(*p){
if(*p!
=’*’)
a[j++]=*p;
p++;
}
a[j]=0;
}
第三十一套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
除了字符串前导*号之外,将串中其它*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
函数fun中给出的语句仅供参考。
voidfun(char*a)
{
inti=0,k;
while(a[i]!
==’*’)i++;
k=i;
while(a[i]!
=’\0’)
{
if(a[i]!
=’*’)
a[k++]=a[i];
i++;
}
a[k]=’\0’;
}
第三十二套
3.程序设计
请编写函数fun,它的功能是:
计算n门课程的平均分,计算结果作为函数返回。
floatfun(float*a,intn)
{
inti;
floatave=0.0;
for(i=0;iave=ave+a[i];
ave=ave/n;
returnave;
}
第三十三套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数。
在编写函数时,不得使用C语言提供的字符串函数。
voidfun(char*a,intn,inth,inte)
{
char*p=a;
intj=0,len=0;
while(*p){p++;len++;}
while(ja[j]=a[h+j];
j++;
}
a[j]=0;
}
第三十四套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
将字符串尾部的*号全部删除,前面和中间的*号不删除。
voidfun(char*a)
{
char*p=a;
while(*p)p++;p--;
while(*p==’*’)p--;
p++;
*p=0;
}
第三十五套
3.程序设计
函数fun的功能是:
将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:
串中剩余字符所形成的一个新串放在t所指的数组中。
voidfun(char*s,chart[])
{
inti,j=0;
for(i=0;iif(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
第三十六套
3.程序设计
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。
请编写函数fun,它的功能是:
求出平均分,有函数值返回。
doublefun(STREC*h)
{
STREC*p=h->next;
doubleav=0.0;
intn=o;
while(p!
=NULL)
{
av=av+p->s;
p=p->next;
n++;
}
av/=n;
returnav;
}
第三十七套
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
voidfun(char*a,intn)
{
char*p=a;
intj=0;
while(*p)p++;p--;
while(*p==’*’)p--;
p++;
while(jp++;
j++;
}
*p=0;
}
第三十八套
3.程序设计
请编写函数fun,它的功能是:
计算下列级数和,和值由函数值返回。
例如,当n=10,x=0.3时,函数值为1.。
doublefun(doublex,intn)
{doubles=1.0,y=x;
inti;
for(i=1;i<=n;i++)
{
s+=y/(double)jc(i);
y*=x;
}
returns;
}
第三十九套
3.程序设计
程序定义了N×N的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:
使数组右上三角元素中的值乘以m。
intfun(inta[][N],intm)
{
inti,j;
for(i=0;ifor(j=i;ja[i][j]*=m;
}
第四十套
3.程序设计
请编写函数fun,它的功能是:
求出ss所指字符串中指定字符个数,并返回次值。
intfun(char*ss,charc)
{
intcnt=0;
char*p=ss;
while(*p){
if(*p==c)cnt++;
p++;
}
returncnt;
}
第四十一套
3.程序设计
请编写函数fun,它的功能是:
求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。
doublefun(intn)
{
doublesum=0.0;
inti;
for(i=21;i<=n;i++)
if((i%3==0)&&(i%7==0))sum
+=i;
returnsqrt(sum);
}
第四十二套
3程序设计
voidfun(int*w,intp,intn)
{
inti,j=0,b[N];
for(i=p+1;ifor(i=0);i<=p;i++)
b[j++]=w[i];
for(i=0;iw[i]=b[i];
}
第四十三套
3程序设计
请编写一个函数,函数的功能是:
删除字符串中所有的空格。
intfun(char*str)
{
char*p=str;
inti=0;
while(*p){
if(*p!
=’’)str[i++]=*p;
p++;
}
str[i]=0;
}
第四十四套
3程序编写
编写函数fun,它的功能是:
求Fibonacci数列中大于t的最小一个数,结果由函数返回。
其中Fibonacci数列F(n)定义为F(0)=0,F
(1)=1,F(n)。
。
。
intfun(intt)
{
intf0=0,f1=1,f;
do
{f=f0+f1;
f0=f1;
f1=f;
}while(freturnf;
}
第四十五套
3程序设计
请编写函数fun,函数的功能是:
将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句提供参考。
voidfun(chara[M][N]),char*b)
{inti;*b=0;
for(i=0;i}
第四十六套
3程序设计
编写函数fun,其功能是:
根据以下公式求p的值,结果由函数值带回。
m与n为两个正整数且要求m>n。
p=m!
/(n!
*(m-n)!
)
floatfun(intm,intn)
{
f