成都信息工程大学 c语言改错(6)

2018-11-21 15:13

{

int a = 3, b = 4;

/*********Found************/ swap(*a, *b); //改为:&a, &b /*********Found************/

printf(\ //去掉& return 0; }

void swap(int *x, int *y) {

int *tmp, tsX;

/*********Found************/ *tmp = x; //改为: tsX = *x *x = *y;

/*********Found************/ *y = *tmp; //改为: tsX }

4、考查点:函数定义、字符数组、静态变量的使用、指针作函数参数,函数调用,程序D17.c的功能是函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节。 #include

long userLogin(char *userName);

int main(void) {

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

char *userName31; //改为:userName31[31] long curUserCnt = 0;

while (1) {

printf(\ scanf(\

curUserCnt = userLogin(userName31); } return 0; }

long userLogin(char *userName)

{

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

long userNum = 0; //改为:static long

userNum++;

printf(\ userName, userNum); /*********Found************/ return ; //改为: userNum; }

5、考查点:函数返回值、字符变量、字符指针变量、字符串结束,程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。 程序说明:

(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/\\”。 (2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。 (3)函数charInStr的功能是判断字符t是否出现在串Str中。 (4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。 #include

#define Yes 1 #define No 0

char *getStrFromBuf(char *Buf, char *Str, char *divStr); int charInStr(char *Str, char t);

int main(void) { char inBuf[100] = \ char divChar[] = \ point = inBuf; while (*point) {

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

getStrFromBuf(point, oneWord, divChar); //右边加上:point= if (*oneWord) {

puts(oneWord); } } return 0; }

int charInStr(char *Str, char t) {

for (; *Str; Str++) {

/*********Found************/ if (*Str == *t) //改为:t {

/*********Found************/ return No; //改为:Yes } }

/*********Found************/ return Yes; //改为:No }

char *getStrFromBuf(char *Buf, char *Str, char *divStr) {

for (; *Buf; Buf++) {

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

break; }

}

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(\ %d\ } 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[]) //改为:char { 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';


成都信息工程大学 c语言改错(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《镇定的女主人》课堂实录 完整版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: