【程序改错】 --------------------------------------------------------------------------- 题目:函数 int charstr(char ss[],int tt[])的功能是:取出字符数组ss中的 连续数字字符子串,构成若干个整数,保存到数组 tt中。函数返回整数个数。 函数 void fun(int a[], int n)的功能是将数组a中n个元素的前半部分元素与后 半部分元素对换。若 n为奇数,则中间元素的位置不变。 例如:若 b数组中的数据为“$abc12jui6*rt34?qwe10nm9jj21da16tyu11asd18**”, 数组 tt中元素为: 12 6 34 10 9 21 16 11 18 数组 tt中元素交换后为: 21 16 11 18 9 12 6 34 10 请改正程序中的错误,使它能得出正确的结果。 --------------------------------------------------------------------------- 注意:不得增行或删行,也不得更改程序的结构。 --------------------------------------------------------------------------*/ #include
#define N 80 int charstr(char ss[],int tt[]) { int i=0,j=0,sum; while(ss[i]) { if(ss[i]>='0'&&ss[i]<='9') { sum=0; while(ss[i]>='0'&&ss[i]<='9') { /***********FOUND***********/ sum=sum*10+ss[i]; i++; } /***********FOUND***********/ tt[j]=sum; } else i++; } return j; } void fun(int a[], int n) { int i, t, p; p = (n%2==0) ? n/2 : n/2+1; for (i=0; i