1: 请编写函数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==0&&s[i]%2==0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}
2: 请编写函数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!=0&&s[i]%2!=0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}
3: 假定输入的字符串中只包含字母和*号。请编写函数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(k>n)
{
while (*p&&p { a[i]=*p; i++; p++; } a[i]=‘\0’; } } 4: 学生的记录由学号和成绩组成,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 if(a[i].s>max) max=a[i].s; for(i=0;i if(a[i].s==max) { *(b+j)=a[i]; j++; n++; } return n; } 5: 请编写一个函数,用来删除字符串中的所有空格。 答案: void fun(char *str) { int i=0; char *p=str; while (*p) { if(*p!=‘’) { str[i]=*p; i++; } p++; } str[i]=‘\0’; } 6: 假定输入的字符串中只包含字母和*号。请编写函数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’; } 7: 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。 答案: void fun(STREC *p) { double av=0.0; int i: for(i=0;i av+=p->s[i]; av/=N; p->ave=av; } 8: 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 答案: int fun(char *ss, char c) { int n=0; while (*ss) { if(*ss==c) n++; ss++; } return n; } 9: 请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。 答案: void fun(int *w, int p, int n) { int b[N], i, j=0; for(i=0;i<=p;i++) { b[i]=w[i]; j++; } for(i=0;i<=p;i++) { w[j]=b[i]; j++; } } 10: 请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。 答案: void fun(char *w,int m) { char b[N]; int I,j=0; for(i=0;i { b[j]=w[i]; j++; } for (i=0;i w[i]=w[i+m]; for(j=0;j { w[i]=b[j]; i++; } w[i]=‘\0’; } 相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |