C语言程序改错总结 下载本文

for (; *Buf; Buf++) {

if (charInStr(divStr, *Buf) == Yes) {

break; }

/*********Found************/ Str = *Buf; //改为:* Str Str++; }

/*********Found************/ *Str = '0'; //改为:’\\0’

/*********Found************/ return ; //改为:Buf

} 6、考查点:折半查找算法、函数调用、数组作参数,程序D1026.c的功能是函数binary为折半查找key 值。数组中元素值已递增排序,若找到key则返回对应的下标,否则返回-1。主函数对该函数进行验证。 #include

int binary(int a[ ], int n, int key);

int main(void) {

int data[10] = {2, 5, 7, 13, 16, 18, 23, 26, 28, 35}; int pos=0, key;

printf(\ scanf(\

/*********Found************/ pos = ____________________ ; if (pos == -1) {

printf(\ } else {

printf(\ }

return 0;

}

int binary(int a[ ], int n, int key) {

int low, high, mid;

low = 0;

high = n - 1;

/*********Found************/ while ( ___________ ) {

mid = (low + high) / 2; if (key < a[mid]) {

high = mid - 1; }

else if (key > a[mid]) {

low = mid + 1; } else {

/*********Found************/ return _______; } }

return (-1); }

7、考查点:函数参数设计、算法理解、函数调用,程序D1027.c的功能是fun函数的功能是将形参x的值转换成base进制数,所得base进制数的每一位数用对应字符表示并放在一维数组b中返回,base进制数的最低位放在下标为0的元素中,其他依次类推。主函数中输入一个数据,调用该函数将数据转换成8进制数。 #include

#include

/*********Found************/

void fun(int x, int base, ____ b[]); //改为:char

int main(void) {

static char data[30]; int i, pos, key;

printf(\ scanf(\

/*********Found************/

____________________ ; //改为:fun(key, 8, data); pos = strlen(data);

for (i=pos-1; i>=0; i--) {

putchar(data[i]); }

return 0; }

/*********Found************/

void fun(int x, int base, ____ b[]) //{

int k = 0, r;

do {

r = x % base;

if ((base==16) && (r>=10)) {

r -= 10; r += 'A'; } else {

r += '0'; }

b[k] = r; k = k + 1; x /= base ; } while (x);

b[k] = '\\0'; }

改为:char