1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。
例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。{ char a[N];
int i;
for(i=0;i
while(w[i]) { w[i-m]=w[i]; i++;}
i--;m--;
for(;m>=0;m--,i--) w[i]=a[m];
}
2、编写函数fun,它的功能是:计算并输出下列级数和:
1 1 1
S = ── + ── + … + ───
1×2 2×3 n(n+1)
例如,当n = 10时,函数值为:0.909091。{
int i;
double s;
for(i=1;i<=n;i++)
{ s+=1.0/(i*(i+1));
}
return s;
}
3、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是: ABCDEFG*******。{ char *q;
while(a
if(*a=='*')
{ for(q=a;*q;q++)
*q=*(q+1);
p--;}
else a++;
}
4、函数fun的功能是: 将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。
例如,当a=45,b=12。调用该函数后,c=1425。
{
*c=a/10*100+a%10+b/10*1000+b%10*10;
}
5、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。
{
int i=0;
double sum=0.0;
for(;i
{
sum+=a->s[i];
}
a->ave=sum/N;
}
6、请编写一个函数void fun (char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中, a指向原字符串, 删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串: World,然后输入3,则调用该函数后的结果为: Word。
{
int i=0,j=0;
while(a[i])
{
if(i!=n)
{
b[j]=a[i];
j++;
}
i++;
}
b[j]='\0';
}
7、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=4251。
{
*c=a/10*1000+a%10*10+b/10+b%10*100;
}
8、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=5241。
{
char *p,*q;
p=p1;
q=p2;
while(*p) p++;
while(*q) *p++=*q++;
*p='\0';
}
9、请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17, 5,则应输出:19, 23, 29, 31, 37。函数fun中给出的语句仅供参考。
{
int i,j=m+1,n=0;
while(n
{
for(i=2;i
if(j%i==0) break;
if(j==i)
{
xx[n]=i;
n++;
}