c语言数组函数例题 c语言数组的例题( 六 )


【c语言数组函数例题 c语言数组的例题】32: 第32题 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中 。
答案:void fun(char *s,char t[])
{
int I,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2!=0s[i]%2!=0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}
33: 第33题 假定输入的字符串中只包含字母和*号 。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个 , 则什么也不做,字符串中间和前面的*号不删除 。
答案:void fun(char *a,int n)
{
int i=0;k=0;
char *p, *t;
p=t=a;
while (*t)
t++;
t--;
while(*t==‘*’)
{
k++;
t--;
}
t++;
if(kn)
{
while (*pp<t+n)
{
a[i]=*p;
i++;
p++;
}
a[i]=‘\0’;
}
}
34: 第34题 学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数 。
答案:int fun (STREC *a, STREC *b)
{
int I,j=0,n=0, max;
max=a[0].s;
for(i=0;i<N;i++)
if(a[i].smax)
max=a[i].s;
for(i=0;i<N;i++)
if(a[i].s==max)
{
*(b+j)=a[i];
j++;
n++;
}
return n;
}
35: 第35题 请编写一个函数,用来删除字符串中的所有空格 。
答案:void fun(char *str)
{
int i=0;
char *p=str;
while (*p)
{
if(*p!=‘’)
{
str[i]=*p;
i++;
}
p++;
}
str[i]=‘\0’;
}
36: 第36题 假定输入的字符串中只包含字母和*号 。请编写函数fun , 它的功能是:将字符串中的前导*号全部移到字符串的尾部 。
答案:void fun(char *a)
{
int i=0,n=0;
char *p;
p=a;
while (*p==‘*’)
{
n++;
p++;
}
while (*p)
{
a[i]=*p;
i++;
p++;
}
while(n!=0)
{
a[i]=‘*’;
i++;
n--;
}
a[i]=‘\0’;
}
37: 第37题 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出 。请编写函数fun , 它的功能是:求出该学生的平均分放在记录的ave成员中 。请自己定义正确的形参 。
答案:void fun(STREC *p)
{
double av=0.0;
int i:
for(i=0;i<N;i++)
av+=p-s[i];
av/=N;
p-ave=av;
}
c语言数组函数例题的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c语言数组的例题、c语言数组函数例题的信息别忘了在本站进行查找喔 。

推荐阅读