max=a[i][j];
returnmax;
}
编写函数fun,其功能是:
根据以下公式求π的值(要求精度,即某项小于时停止迭代)。
程序运行后,若输入精度,则程序应输出为…。
doublefun(doubleeps)
{
doubles=,s1=;
intn=1;
while(s1>=eps)/*当某项大于精度要求时,继续求下一项*/
{s1=s1*n/(2*n+1);/*求多项式的每一项*/
s=s+s1;/*求和*/
n++;
}
return2*s;
}
编写函数fun,其功能是:
求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
voidfun(int*a,int*n)
{
inti,j=0;
for(i=1;i<=1000;i++)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/
if((i%7==0||i%11==0)&&i%77!
=0)
a[j++]=i;
*n=j;
}
规定输入的字符串中只包含字母和*号。
编写函数fun,其功能是:
删除字符串中所有的*号。
编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:
****A*BC*DEF*G*******,删除后字符串中的内容应当是:
ABCDEFG。
voidfun(char*a)
{
inti,j=0;
for(i=0;a[i]!
='\0';i++)
if(a[i]!
='*')
a[j++]=a[i];/*若不是要删除的字符'*'则留下*/
a[j]='\0';
}
规定输入的字符串中只包含字母和*号。
编写函数fun,其功能是:
将字符串中的前导*号全部删除,中间和尾部的*号不删除。
例如,字符串中的内容为:
"*******A*BC*DEF*G****",删除后字符串中的内容应当是:
"A*BC*DEF*G****"。
编写函数时,不得使用C语言提供的字符串函数。
voidfun(char*a)
{
char*p=a;
while(*p=='*')p++;/*指针p指向字符串第一个字母*/
for(;*p!
='\0';p++,a++)
*a=*p;/*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/
*a='\0';/*在字符串最后加上字符串结束标识*/
}
假定输入的字符串中只包含字母和*号。
请编写函数fun,其功能是:
除了尾部的*号之外,将字符中的其它的*号全部删除。
形参p已指向字符串中最后的一个字母。
在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。
voidfun(char*a,char*p)
{
char*t=a;
for(;t<=p;t++)
if(*t!
='*')
*(a++)=*t;
for(;*t!
='\0';t++)
*(a++)=*t;
*a='\0';
/*在字符串最后加上字符串结束标识*/
}
规定输入的字符串中只包含字母和*号。
请编写函数fun,其功能是:
只删除字符前导和尾部的*号,串中字母间的*号都不删除。
形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。
在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:
"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:
"A*BC*DEF*G"。
voidfun(char*a,intn,inth,inte)
{
inti,j=0;
for(i=h;ia[j++]=a[i];
a[j]='\0';/*在字符串最后加上结束标识*/
}
规定输入的字符串中只包含字母和*号。
请编写函数fun,其功能是:
除了字符串前导的*号之外,将串中其它*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:
****A*BC*DEF*G*******,删除后,字符串中的内容应当是:
****ABCDEFG。
voidfun(char*a)
{
inti=0;
char*p=a;
while(*p&&*p=='*')
{
a[i]=*p;
i++;
p++;
}
while(*p)
{
if(*p!
='*')
{a[i]=*p;i++;}
p++;
}
a[i]='\0';
}
规定输入的字符串中只包含字母和*号。
请编写函数fun,其功能是:
将字符串尾部的*号全部删除,前面和中间的*号不动。
例如,字符串中的内容为:
"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:
"****A*BC*DEF*G"。
在编写函数时,不得使用C语言提供的字符串函数。
voidfun(char*a)
{
while(*a!
='\0')
a++;
a--;/*指针a指向字符串的尾部*/
while(*a=='*')
a--;/*指针a指向最后一个字母*/
*(a+1)='\0';/*在字符串最后加上结束标志符*/
}
规定输入的字符串中只包含字母和*号。
请编写函数fun,其功能是:
将字符串中的前导*号全部移到字符串的尾部。
例如,字符串中的内容为:
"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:
"A*BC*DEF*G***********"。
在编写函数时,不得使用C语言提供的字符串函数。
voidfun(char*a)
{
inti=0,n=0;
char*p;
p=a;
while(*p=='*')/*判断*p是否是*号,并统计*号的个数*/
{
n++;p++;
}
while(*p)/*将前导*号后的字符传递给a*/
{
a[i]=*p;i++;p++;
}
while(n!
=0)
{
a[i]='*';i++;n--;
}
a[i]='\0';
}
编写函数fun,其功能是:
实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
voidfun(charp1[],charp2[])
{
inti,j;
for(i=0;p1[i]!
='\0';i++);
for(j=0;p2[j]!
='\0';j++)
p1[i++]=p2[j];
p1[i]='\0';
}
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:
求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:
76,,85,91,72,,,则他的平均分应为。
voidfun(STREC*a)
{
inti;
a->ave=;
for(i=0;ia->ave=a->ave+a->s[i];/*求各门成绩的总和*/
a->ave/=N;/*求平均分*/
}
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。
请编写函数fun,其功能是:
求出平均分,并由函数值返回。
例如,若学生的成绩是:
85 76 69 85 91 72 64 87,则平均分应当是:
。
doublefun(STREC*h)
{
doubleave=;
STREC*p=h->next;
while(p!
=NULL)
{ave=ave+p->s;
p=p->next;
}
returnave/N;
}
编写函数fun,其功能是:
将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。
例如,若输入17,则应输出:
4 6 8 9 10 12 14 15 16。
voidfun(intm,int*k,intxx[])
{
inti,j,n=0;
for(i=4;i{for(j=2;j
if(i%j==0)break;
if(j
}
*k=n;/*返回非素数的个数*/
}
编写函数fun,其功能是:
求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串,输入字符为1,则输出3。
intfun(char*ss,charc)
{
inti=0;
for(;*ss!
='\0';ss++)
if(*ss==c)
i++;/*求出ss所指字符串中指定字符的个数*/
returni;
}
编写函数fun,其功能是:
计算n门课程的平均分,结果作为函数值返回。
例如:
若有5门课程的成绩是:
72,80,,55,则函数的值为:
。
floatfun(float*a,intn)
{
inti;
floatav=;
for(i=0;iav=av+a[i];
return(av/n);/*返回平均值*/
}
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:
把分数最高的学生数据放在b所指的数组中。
注意:
分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
intfun(STREC*a,STREC*b)
{
inti,j=0,max=a[0].s;
/*找出最大值*/
for(i=0;iif(maxfor(i=0;iif(max==a[i].s)
b[j++]=a[i];/*找出成绩与max相等的学生的记录,存入结构体b中*/
returnj;/*返回最高成绩的学生人数*/
}
编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:
33322110000000000000000000
voidfun(char*tt,intpp[])
{
inti;
for(i=0;i<26;i++)
pp[i]=0;/*初始化pp数组各元素为0*/
for(;*tt!
='\0';tt+