{
int I,j=0; *n=0; for(i=1;i<=m;i++) if (i%7==0 || i ==0) {
a[j]=I; j++; } *n=j; }
8: 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 void fun (int a[],int n, int *max, int *d) {
int I; *max=a[0]; *d=0;
for(i=0;I<n;i++) if(a[i]>*max) {
*max=a[i]; *d=I; } }
9: 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 void fun(char *ss) {
int I,n;
n=strlen(ss);
for(i=1;i<n;i+=2)
if(ss[i]>=‘a’&& ss[i]<=‘z’) ss[i]=ss[i]-32; }
10: 请编写一个函数fun,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。 int fun(int a[][M]) {
int I,j,max; max=a[0][0];
for(i=0;i<2;i++) for(j=0;j<M;j++) if(a[i][j]>max)
max=a[i][j]; return max; }
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<t+n) {
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<N;i++) if(a[i].s>max) max=a[i].s;
for(i=0;i<N;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<N;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<m;i++) {
b[j]=w[i]; j++; }