成都信息工程大学 c语言改错_大学c语言改错试题

2020-02-28 其他范文 下载本文

成都信息工程大学 c语言改错由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“大学c语言改错试题”。

1、程序D1.c的功能是从键盘读入一个数并在屏幕上显示。int main(void){

int xy2;

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

scanf(“%s”, &xy2);

//改为:scanf(“%d”, &xy2);

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

printf(“xy2=%5dn”, &xy2);//改为:printf(“xy2=%5dn”,xy2);

return 0;}

2、程序D2.c的功能是调用函数,显示两个实数间最大的一个。

#include

float fmax(float x, float y);

int main(void){

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

float l, 1;

//i

l = 3.0;

i = 5.6f;

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

printf(“fmax(%5.2f, %5.2f)=%5.2fn”, i, l, fMax(i, l));// fmax

return 0;}

/*********Found************/ int fmax(float x, float y)

//改:float {

if(x

else return x;}

3、程序D4.c的功能是计算半径为2+3的圆的面积。

#include

#define PI 3.14 /*********Found************/ #define S(bj)PI*bj*bj

//改: PI*(bj)*(bj)

int main(void){

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

int mianJi;

//改为:double

mianJi = S(2+3);

printf(“mian ji=%5.2fn”, mianJi);

return 0;}

4、相似题:D3.C,程序D5.c的功能是将字符串yy显示在屏幕上。#include

int main(void){

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

char yy[100] = “ok??n”,//改为:;

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

prntf(“%s”, yy);

//改:printf

return 0;}

5、考查点:数据类型选择,/运算符的使用功能是计算1/1 + 1/2 + „ + 1/N之和并显示。#include

#define N 10

int main(void){

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

long jieguo = 0;

//改:float

int fm;

for(fm = 1;fm

{

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

jieguo += 1 / fm;

//改:(float)1 / fm

}

printf(“%8.6fn”, jieguo);

return 0;}

6、考查点:输入分隔格式控制,循环体的定义,D12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。

#include

int main(void){

int a, b;

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

scanf(“%d%d”, &a, &b);

//中间加’,’

while(b > 0)

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

___________

//括号’{’

printf(“%dn”, a);

b--;

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

___________

//括号’}’

printf(“bye bye!n”);

return 0;} 7考查点:输入格式控制、变量交换,程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。

#include

int main(void){

float a, b, c, t;

printf(“please input three numbers:n”);

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

scanf(“%f%f”, &a, &b, &c);//改:%f%f%f

printf(“before sort:a=%g,b=%g,c=%gn”, a, b, c);

if(a > b)

{

t = a;

a = b;

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

b = a;//改:t

}

if(a > c)

{

t = a;

a = c;

c = t;

}

if(b > c)

{

t = b;

b = c;

c = t;

}

printf(“after sort:a=%g,b=%g,c=%gn”, a, b, c);

return 0;} 8考查点:格式化输出、数据类型的正确使用,程序D1001.c的功能是求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。

#include

#define T 20

int main(void){

int n;

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

long i, j, temp, sum;

i = 2;

j = 1;

sum = 0;

for(n=1;n

{

sum = sum + i / j;

temp = i;

i = i + j;

j = temp;

}

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

printf(“2/1+3/2+5/3+8/5+13/8+...=%5.2fn”, sum);//改:.4

return 0;} 9考查点:用算术表达式实现数据交换,程序D1002.c的功能是实现两数交换。

#include

int main(void){

int x = 5, y = 9;

x = x + y;

y = xx;//改:x – y;

printf(“x=%d, y=%dn”, x, y);

return 0;} 10考查点:整型常量表示、输出项表示,程序D1003.c的功能是将16进制数100转换为10进制数输出。#include

int main(void){

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

int i = 100;//0x100

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

printf(“%dn”, &i);

//改:去掉&

return 0;}

11、程序D1004.c的功能是输入姓名,屏幕输出问候。#include

int main(void){

char s[10];

printf(“please input your name:”);

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

scanf(“%c”, s);//改%s

printf(“hello ”);

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

puts(s[10]);//改:s

return 0;} 12考查点:输入数据分隔,输出项表示,程序D1005.c的功能是从键盘读入两个整数并在屏幕上显示。要求:输入时限定两数之间仅以逗号隔开。#include

int main(void){

int a, b;

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

scanf(“%d%d”, &a, &b);

//改:中间加’,’

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

printf(“a=%d,b=%dn”, &a, &b);//去掉&

return 0;}

13、考查点:输入格式控制、if语句,程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。

#include

int main(void){

long int i = 79870, j = 23;

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

scanf(“%f”, &i);//改:%ld

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

if(j == i);

{

printf(“Equal!”);

}

else

{

printf(“Not equal!”);

}

return 0;}

14、考查点:字符输入函数使用,分支条件表示,程序D1007.c的功能是使用getchar方式从键盘读入一个字符,判断该字符是否大写字符。#include

int main(void){ char ch;

/****Found****/ getchar(ch);// ch = getchar();/*****Found*****/ if('A'

//&& {

printf(“yes”);} else {

printf(“no”);}

return 0;}

15、考查点:switch语句结束、case后常量表示,程序D1008.c的功能是判断用户是不是输入的整数0。

#include

int main(void){

int n;

scanf(“%d”, &n);

/****Found****/

switch(n);

//去掉’;’

{

/****Found****/

case0:

//中间加空格

printf(“Zeron”);

break;

default:

printf(“Non-Zero”);

break;

}

return 0;}

16、考查点:switch语句、case后常量表示,程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。

#include

int main(void){

int x, y;

scanf(“%d”, &x);

switch(x)

{

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

case x == 1: //改:1

y = 100;

break;

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

case x == 2: //改:2

y = 200;

break;

default:

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

y = 500;

//改:0

break;

}

printf(“%dn”, y);

return 0;}

17、考查点:switch语句case常量表示,循环条件表示,程序D1010.c的功能是输入若干字符数据(回车表示输入结束),分别统计其中‘A’、‘B’、‘C’的个数。#include

int main(void){

char c;

int k1 = 0, k2 = 0, k3 = 0;

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

while(c = getchar()!= 'n')

//加括号()

{

switch(c)

{

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

case A:

//加’’

k1++;

break;

case 'B':

k2++;

break;

case 'C':

k3++;

break;

default :

;

}

}

printf(“A=%d,B=%d,C=%dn”, k1, k2, k3);

return 0;}

18、考查点:一维数组定义、数组元素引用、输入和输出,程序D1016.c的功能是从键盘输入5个整数,保存到一整型数组变量中(此数组只能保存5个数),并在屏幕上按逆序输出。#include

int main(void){

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

int n=5, i, a[n];

//改为5

printf(“ninput 5 numbers:”);

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

for(i=1;i

{

scanf(“%d”, &a[i]);

}

for(i=n-1;i>=0;i--)

{

printf(“%dt”, a[i]);

}

return 0;}

19、考查点:数组的输入和数组元素的引用,程序D1017.c的功能是输入10个浮点数,并输出这组数中的最大值和最小值。

#include

int main(void){

float a[10], max, min;

int i;

printf(“Please input 10 floats”);

for(i=0;i

{

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

scanf(“%f”, _____);// &a[i]

}

max = min = a[0];

for(i=1;i

{

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

if(_____)

// max

{

max = a[i];

}

if(min > a[i])

{

min = a[i];

}

}

printf(“Max number is:%.2fnMin number is:%.2fn”, max, min);

return 0;} 20、考查点:函数声明,静态变量使用,程序D1021.c的功能是依次输出3^1到3^5。

#include

/*****Found*****/ int f(n);

//用定义形式:int n

int main(void){

int i;

for(i=1;i

{

printf(“%dn”, f(3));

}

return 0;}

int f(int n){

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

int p = 1;//改: static int

p = p * n;

return p;}

21、考查点:静态变量使用,函数调用,程序D1023.c的功能是函数outnum输出自己是第几次被调用。#include

void outnum(void);

int main(void){

int i;

for(i=0;i

{

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

outnum(i);//改: outnum()

}

return 0;}

void outnum(void){

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

int i = 0;

//改:static int i = 0;

i++;

printf(“%dn”, i);}

22、考查点:函数调用、函数定义,程序D1024.c的功能是调用子函数Average()求两数的平均值,并输出到屏幕上。#include

/*********Found*********/ int Average(x, y);

//用定义形式:int x, int y

int main(void){

int a = 12;

int b = 24;

int ave;

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

ave = Average(int a, int b);//用使用形式:a, b

printf(“Average of %d and %d is %d.n”, a, b, ave);

return 0;}

/*********Found*********/ int Average(x, y)//int x, int y {

int result;

result =(x + y)/ 2;

return result;}

23、考查点:函数一般调用和静态变量,程序D1025.c的功能是输入一整数n(n>0),main()函数中调用子函数Func()n次,并在屏幕上打印出每次调用该子函数的次数。#include

void Func(void);

int main(void){ int i, n;

printf(“ninput a data:”);scanf(“%d”, &n);for(i=0;i

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

________________________

// Func()}

return 0;}

void Func(void){ /*********Found*********/ ________________________

//static int times = 0;

times++;printf(“Func()was called %d time(s).n”, times);}

难度2

1、考查点:用指针访问字符数组元素,程序D3.c的功能是将字符串yy在屏幕上输出。

#include

int main(void){

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

char yy[200] = “ok??n”;//改为:*yy

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

fol(;*yy;yy++)

//改为:for

{

putchar(*yy);

}

return 0;}

2、考查点:字符数组定义,字符串输出控制,标准字符串函数的使用,程序D6.c的功能是从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示。#include

int main(void){ /*********Found************/

char yy;

//改为:yy[128]

/*********Found************/ getchar(yy);

//改为:gets

/*********Found************/ printf(“%y”, yy);

//改为:%s

return 0;}

3、考查点:if-else形式条件的分析,数据类型选择,程序D7.c的功能是判断x和y是否相等,相等则显示x=y,不等则显示xy。#include

int main(void){

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

char x, y;//改为:int

x = 39270;

y = 41001;

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

if(x!= y)

//改为:==

{

printf(“x=y”);

}

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

else;;

//去掉;;

{

printf(“xyn”);

}

return 0;}

4、考查点:文件路径名表示,文件打开方式选择,文件打开成功判断,程序D8.c的功能是打开文件d:te.c用于读并判断打开是否成功。#include

int main(void){ FILE *fp;/*********Found************/ char fileName[] = “d:te.c”;//改为:

/*********Found************/ fp = fopen(fileName, “w”);

//改为:r

/*********Found************/ if(fp is NULL)

//改为:== {

puts(“File Open Error!”);

return 1;} putchar(fgetc(fp));fclose(fp);

return 0;}

5、考查点:指针,内存分配、内存释放函数的使用,程序D9.c的功能是申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间。

#include #include

int main(void){

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

char pch[2];

//改为:*pch

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

if(pch =(char *)malloc(100)== NULL)

//将红色部分括起来

{

printf(“malloc memory fail!n”);

return 1;

}

printf(“%pn”, pch);

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

close(pch);

//改为:free

return 0;}

6、考查点:指针作函数参数,函数调用,程序D14.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。

#include

/*********Found************/ void swap(int x, int y);//改为:int *x, int *y

int main(void){

int a = 3, b = 4;

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

swap(a, b);

//改为:&a, &b

printf(“a=%d b=%dn”, a, b);

return 0;}

/*********Found************/ void swap(int x, int y)

//改为:int *x, int *y {

int tmpX;

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

___________

// tmpX =*x;

*x = *y;

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

*y = x;

//改为:*y = tmpX;}

7、考查点:结构体变量定义,结构体成员的输入、输出,程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。

#include

int main(void){

struct WKER

{

long ID;

long int num;

char name[20];

char sex;

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

};

//改为:worker2;

worker2.ID = 1L;

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

scanf(“%s %s %s”, &worker2.num, worker2.name, &worker2.sex);//改:%ld%s%c

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

printf(“worker's info: num=%s name=%s sex=%sn”,worker2.num, worker2.name, worker2.sex);

//改为:%ld %c

return 0;}

8、考查点:复合语句、变量作用域,程序D18.c的功能是从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个。#include

int maxiNum = 0;

void dispMaxNum();

int main(void){

int i, oneNumber, maxNumber = 0;

printf(“Please input 10 int number:”);

{

int maxNumber = 0;

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

___________

//{

for(i = 0;i

{

scanf(“%d”, &oneNumber);

if(oneNumber > maxNumber)

{

maxNumber = oneNumber;

}

}

}

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

___________

// maxiNum = maxNumber

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

___________

//}

dispMaxNum();

return 0;}

void dispMaxNum(){

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

printf(“maxNumber=%dn”, maxiNum);}

9、考查点:循环条件表示,循环体中改变循环条件,程序D1011.c的功能是从输入数据中统计正整数和负整数的个数。用输入0来结束输入,变量i存放正整数个数,变量j存放负整数的个数。#include

int main(void){

int i = 0, j = 0, n;

printf(“ninput numbers:”);

scanf(“%d”, &n);

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

while(______________)

// n 或者n!= 0

{

if(n > 0)

{

i++;

}

if(n

{

j++;

}

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

_________________________

// scanf(“%d”, &n);

}

printf(“i=%d,j=%d”, i, j);

return 0;}

10、考查点:枚举算法,for语句条件,条件判断,程序D1012.c的功能是显示用1、2、3、4个数字组成的互不相同且无重复数字的三位数。#include

int main(void){ int i, j, k;

/*********Found************/ for(i=1;

;i++)

//改为:i

for(j=1;j

{

for(k=1;k

{

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

if(i!=k && i!=j && ______)//j!= k

{

printf(“%d%d%d ”, i, j, k);

}

}

} }

return 0;}

11、考查点:数组逆序存放,循环次数控制,换位操作的实现,程序D1013.c的功能是将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。

#include

#define N 10

int main(void){

int a[N], i, temp;

printf(“please input %d integer numbers:n”, N);

for(i=0;i

{

scanf(“%d”, &a[i]);

}

printf(“the array before reverse:n”);

for(i=0;i

{

printf(“%d ”, a[i]);

}

printf(“n”);

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

for(i=0;i

//改为:i

{

temp = a[i];

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

a[i] = a[N-i];

//改为:a[N-1-i]

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

a[N-i] = temp;

//改为:a[N-1-i]

}

printf(“the array after reverse:n”);

for(i=0;i

{

printf(“%d ”, a[i]);

}

printf(“n”);

return 0;}

12、考查点:排序算法的实现,排序条件,数据交换、字符数组的处理,程序D1014.c的功能是将字符数组a中元素从大到小排列(值相同的元素不交换位置)。

#include #include

int main(void){

int i, j, k;

char a[] = “language”, t;

k = strlen(a);

for(i=0;i

{

for(j=i+1;j

{

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

if(a[i] > a[j])//改为:a[i]

{

t = a[j];

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

a[i] = a[j];//改为:a[j] = a[i]

a[i] = t;

}

}

}

printf(“%sn”, a);

return 0;}

13、考查点:数组元素下标,数组作函数参数,程序D1015.c的功能是定义一个整型数组,采用子函数实现数据输入。

#include

void input(int a[], int n);

int main(void){

int a[10], i;

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

input(a[10], 10);

//改为:a

for(i=0;i

{

printf(“%d ”, a[i]);

}

return 0;}

void input(int a[], int n){

int i;

for(i=0;i

{

scanf(“%d”, &a[i]);

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

i--;

//改为:i++

} }

14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。

#include #include

void vowel(char str1[], char str2[]);

int main(void){

char str1[81], str2[81];

printf(“please input the string:n”);

gets(str1);

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

vowel(________________);//改为:str1, str2

printf(“the vowel string is:n”);

puts(str2);

if(strlen(str2)== 0)

{

printf(“NONE!n”);

}

return 0;} void vowel(char str1[], char str2[]){ int i, j = 0;/*********Found************/ for(i=0;________________;i++)//改为:str1[i] {

if(str1[i]=='A' || str1[i]=='E' || str1[i]=='I'

|| str1[i]=='O' || str1[i]=='U' || str1[i]=='a'

|| str1[i]=='e' || str1[i]=='i' || str1[i]=='o'

|| str1[i]=='u')

{

str2[j] = str1[i];

j++;

} }

str2[j] = '';}

15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。

#include

/*****Found*****/ average(double x, y);//改为:double average和int y

int main(void){

int i;

double score, total;

double aver;

printf(“Please enter the 1's graden”);

scanf(“%lf”, &total);

for(i=2;i

{

printf(“Please enter the %d's graden”, i);

scanf(“%lf”, &score);

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

total = score;

//改为:total = total + score;

}

aver = average(total, 10);

printf(“The average: %fn”, aver);

return 0;}

/*****Found*****/ average(double x, y)

////改为:double average和int y {

return x / y;}

16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。

#include

int f(int n);/*****Found*****/ int main(void);

//改为:去掉‘;’ {

printf(“F(7)=%dn”, f(7));

return 0;}

int f(int n){

if(n

{

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

return 2;//改为:1

}

return f(n2);}

17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。

#include

/*********Found************/ int add(float x, float y);

//改为:float

int main(void)

float a, b;

scanf(“%f%f”, &a, &b);

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

printf(“sum=%fn”, add(x, y));

//改为:a, b

return 0;}

/*********Found************/ float add(float x, float y);//改为:去掉’;’ {

return x + y;}

18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现!

Please input num1 and num2 : 127 0 127 ^ 0 = ******11 图1 程序运行效果示例

Please input num1 and num2 : 123 456 123 ^ 456 = ******11 #include

int main(void){

unsigned long int number, num1, num2, mask;int i;char str[33];

printf(“Please input num1 and num2 : ”);scanf(“%lu %lu”, &num1, &num2);

/*********Found************/ mask = __________________;

//改为:0x80000000 number = num1 ^ num2;for(i=0;i

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

str[i] = __________________;//改为:(mask& number)? ‘1’:’0’

mask >>= 1;} str[32] = '';printf(“%lu ^ %lu = %sn”, num1, num2, str);

return 0;}

难度3

1、考查点:符号常量定义,const常量的使用,指针变量的移位操作,程序D10.c的功能是将字符串str2显示在屏幕上。

#include

/*********Found************/ #define START

//改为:#define START { /*********Found************/ #define NEXT

//改为:#define NEXT }

int main(void){

char *str2 = “***”;

const int i = 0;

for(printf(“n”);str2[i];)

START

putchar(str2[i]);

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

i++;//改为:str2++

NEXT

return 0;}

2、考查点:字符数组下标控制,字符串结束标志,条件表达,程序D13.c的功能是从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示。

#include

int main(void){

char c, Buf[11];

int pos;

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

for(pos = 1;pos

//改为:0和

{

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

if((c = getchar()== 'n')//改为:后面加)

{

break;

}

Buf[pos] = c;

}

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

___________

//改为:Buf[pos] = ‘’;

printf(“%sn”, Buf);

return 0;}

3、考查点:指针变量的使用,指针作函数参数,函数调用,程序D15.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。

#include

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

int main(void){

int a = 3, b = 4;

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

swap(*a, *b);

//改为:&a, &b

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

printf(“a=%d b=%dn”, &a, &b);//去掉&

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(“user %ld, input your Name: ”, curUserCnt+1);

scanf(“%s”, userName31);

curUserCnt = userLogin(userName31);

}

return 0;}

long userLogin(char *userName){

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

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

userNum++;

printf(“welcome user %s.There have %ld users in system.n”,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] = “>how old are/ you?”, *point, oneWord[20];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';

//改为:’’

/*********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(“Input an integer to find:”);

scanf(“%d”, &key);

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

pos = ____________________;

if(pos ==-1)

{

printf(“Can't find %d.n”, key);

}

else

{

printf(“%d's position is %d”, key, pos);

}

return 0;}

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

int low, high, mid;

low = 0;

high = n1;

}

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(“Input an integer :”);

scanf(“%d”, &key);

/*********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] = '';

《成都信息工程大学 c语言改错.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
成都信息工程大学 c语言改错
点击下载文档
相关专题 大学c语言改错试题 大学 成都 信息工程 大学c语言改错试题 大学 成都 信息工程
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文