**********************************
voidfun(char*s,inta,intb)""""a 应为*a,b 应为*b
{while(*s)
{if(*s>='A'&&*s<='Z')
***********************************
a++;""""(*a)++;
if(*s>='a'&&*s<='z')
************************************
b++;""""(*b)++;
s++;
}
}
main()
{chars[100];intupper=0,lower=0;
clrscr();
printf("nPleaseastring:");gets(s);
fun(s,&upper,&lower);
printf("nupper=%dlower=%dn",upper,lower);
}
6、 改错 5
假定整数数列中的数不重复,并存放在数组中。下列给定程序中,函数 fun 的功能是:删除数列中值为 x
的元素。n 中存放的是数列中元素的个数。
请改正程序中的错误,使程序能得出正确的结果。
注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构!
试题程序
#include<stdio.h>
#defineN20
fun(int*a,intn,intx)
{intp=0,i;
a[n]=x;
while(x!=a[p])
p=p+1;
if(p==n)return-1;
else
{for(i=p;i<n;i++)
******************************************
a[i+1]=a[i];""""a[i]=a[i+1];
returnn-1;
}
}
main()
{intw[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;
n=10;
第 4 页 共 16 页