文档库 最新最全的文档下载
当前位置:文档库 › 全国计算机二级C语言程序改错题( 100%全中必过)

全国计算机二级C语言程序改错题( 100%全中必过)

全国计算机二级C语言程序改错题( 100%全中必过)
全国计算机二级C语言程序改错题( 100%全中必过)

目录

题目一前N项和问题 (3)

题目二SS字符串问题 (4)

题目三变量互换问题1 (4)

题目三变量互换问题2 (5)

题目三变量互换问题3 (5)

题目四最大公约数问题 (6)

题目五长数变短数1 (7)

题目五长数变短数2 (7)

题目五长数变短数3 (8)

题目五长数变短数4 (9)

题目五长数变短数5 (9)

题目五长数变短数6 (10)

题目五长数变短数7 (11)

题目五长数变短数8 (11)

题目五长数变短数9 (12)

题目六斐波拉契数列 (13)

题目七链表1 (14)

题目七链表2 (15)

题目七链表3 (16)

题目七链表4 (17)

题目八非素数问题 (19)

题目九排序问题1 (19)

题目九排序问题2 (20)

题目九排序问题3 (21)

题目九排序问题4 (22)

题目九排序问题5 (23)

题目九排序问题6 (24)

题目九排序问题6 (25)

题目九排序问题7 (26)

题目十平均值问题1 (26)

题目十平均值问题2 (27)

题目十平均值问题3 (28)

题目十平均值问题4 (29)

题目十平均值问题5 (30)

题目十一字符串连接1 (30)

题目十一字符串连接2 (31)

题目十一字符串连接3 (32)

题目十一字符串连接4 (32)

题目十二求和问题1 (33)

题目十二求和问题2 (34)

题目十二求和问题3 (35)

题目十二求和问题4 (36)

题目十二求和问题6 (37)

题目十二求和问题7 (38)

题目十二求和问题8 (39)

题目十二求和问题9 (39)

题目十二求和问题10 (40)

题目十二求和问题11 (41)

题目十二求和问题12 (42)

题目十二求和问题13 (42)

题目十二求和问题14 (43)

题目十二求和问题15 (44)

题目十二求和问题16 (44)

题目十二求和问题17 (45)

题目十二求和问题18 (45)

题目十二求和问题19 (46)

题目十三整数问题 (47)

题目十四字符串逆置 (48)

题目十五进制转换1 (48)

题目十五进制转换2 (49)

题目十六素数问题1 (50)

题目十六素数问题2 (50)

题目十六素数问题3 (51)

题目十六素数问题4 (52)

题目十六素数问题5 (53)

题目十七删除字符串中指定项1 (53)

题目十七删除字符串中指定项2 (54)

题目十八最小公倍数问题 (55)

题目十九字符串替换问题1 (55)

题目十九字符串替换问题2 (56)

题目二十找最长字符串 (57)

题目二十一数组问题1 (58)

题目二十一数组问题2 (59)

题目二十一数组问题3 (60)

题目二十二求平方根问题 (61)

题目二十三短字符串变长字符串1 (61)

题目二十三短字符串变长字符串2 (62)

题目二十三短字符串变长字符串3 (63)

题目二十三短字符串变长字符串4 (64)

题目二十四字符串s问题1 (64)

题目二十四字符串s问题2 (65)

题目二十四字符串s问题3 (66)

题目二十五求方程的根 (67)

题目二十六求阶乘1 (68)

题目二十六求阶乘2 (69)

题目二十七方阵问题 (70)

题目二十八查找字符串中某元素的数目 (71)

题目二十九最大值问题1 (72)

题目二十九最大值问题2 (72)

题目二十九最大值问题3 (73)

题目三十大小写转换1 (74)

题目三十大小写转换2 (75)

题目三十大小写转换3 (76)

题目三十一:计算数字位数的问题1 (77)

题目三十一:计算数字位数的问题2 (78)

题目三十一:计算数字位数的问题3 (79)

题目三十一:计算数字位数的问题4 (80)

题目三十二统计字母数字个数问题1 (81)

题目三十二统计字母数字个数问题2 (82)

题目三十二统计字母数字个数问题3 (83)

题目三十二统计字母数字个数问题4 (83)

题目三十三对角线问题 (84)

题目三十四比较字符串大小 (85)

题目一前N项和问题

.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。

23581321

,,,,,,

1235813

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

#include

/************found************/

void fun ( int n )

{ int a, b, c, k; double s;

s = 0.0; a = 2; b = 1;

for ( k = 1; k <= n; k++ ) {

/************found************/

s = s + (Double)a / b;

c = a; a = a + b; b = c;

}

return s;

}

main( )

{ int n = 5;

printf( "\nThe value of function is: %lf\n", fun ( n ) );

(1)double fun(int n)

(2)s=s+(double)a/b;

题目二SS字符串问题

2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。

请改正程序中的错误,使它能得出正确的结果。

#include

int fun (char *str,char *substr)

{ int i,j,k,num=0;

/************found************/

for(i = 0, str[i], i++)

for(j=i,k=0;substr[k]==str[j];k++,j++)

/************found************/

If(substr[k+1]=='\0')

{ num++;

break;

}

return num;

}

main()

{

char str[80],substr[80];

printf("Input a string:") ;

gets(str);

printf("Input a substring:") ;

gets(substr);

printf("%d\n",fun(str,substr));

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]=='\0')

题目三变量互换问题1

2.下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果。

#include

int fun(int *x,int y)

{

int t ;

/**************found**************/

t = x ; x = y ;

/**************found**************/

return(y) ;

}

main()

{

int a = 3, b = 8 ;

printf("%d %d\n", a, b) ;

b = fun(&a, b) ;

printf("%d %d\n", a, b) ;

(1)t = *x ; *x = y ;

(2)return(t) ;或return t;

题目三变量互换问题2

1.下列给定程序中,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60

和65,输出为:a=65 b=60。

#include

#include

#include

/*************found**************/

void fun(int a,b)

{ int t;

/*************found**************/

t=b;b=a;a=t;

}

void main()

{int a,b;

system("CLS");

printf("Enter a, b: "); scanf("%d%d",&a,&b);

fun(&a, &b);

printf("a=%d b=%d\n ", a,b);

}

(1)void fun(int *a,int *b)

(2)t=*b; *b=*a; *a=t;

题目三变量互换问题3

2.下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。

#include

/*************found**************/

void fun(int x,int y)

{ int t;

/*************found**************/

t=x;x=y;y=t;

}

void main()

{ int a,b;

a=8;

b=3;

fun(&a, &b);

printf("%d %d\n ", a,b);

}

(1)void fun(int *x, int *y)

(2)t=*x; *x=*y; *y=t;

题目四最大公约数问题

2. 下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。

#include

int fun(int a,int b)

{ int r,t;

if(a

/************found************/

t=a; b=a; a=t;

}

r=a%b;

while(r!=0)

{ a=b; b=r; r=a%b; }

/************found************/

return(a);

}

main()

{ int num1, num2,a;

printf("Input num1 num2: "); scanf("%d%d",&num1,&num2);

printf("num1= %d num2= %d\n\n",num1,num2);

a=fun(num1,num2);

printf("The maximun common divisor is %d\n\n",a);

(1)t=a;a=b;b=t;

(2)return(b);或return b;

题目五长数变短数1

2. 下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。

#include

void fun (long s, long *t)

{ int d;

long sl=1;

/************found************/

t = 0;

while ( s > 0)

{ d = s%10;

/************found************/

if (d%2 == 0)

{ *t = d * sl + *t;

sl *= 10;

}

s /= 10;

}

}

main()

{ long s, t;

printf("\nPlease enter s:"); scanf("%ld", &s);

fun(s, &t);

printf("The result is: %ld\n", t);

(1)*t=0;

(2)if(d%2!=0)或if(d%2==1)

题目五长数变短数2

2.下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数:8642。

#include

void fun (long s, long *t)

{ int d;

long sl=1;

*t = 0;

while ( s > 0)

{ d = s%10;

/************found************/

if (d%2=0)

{ *t=d* sl+ *t;

sl *= 10;

}

/************found************/

s \= 10;

}

}

main()

{ long s, t;

printf("\nPlease enter s:"); scanf("%ld", &s);

fun(s, &t);

printf("The result is: %ld\n", t);

}

(1)if(d%2==0)

(2)s/=10;

题目五长数变短数3

2.下列下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为7654321时,t中的数为7531。

#include

/************found************/

void fun (long s, long t)

{ long sl=10;

*t = s % 10;

while ( s > 0)

{ s = s/100;

*t = s%10 * sl + *t;

/************found************/

sl = sl*100;

}

}

main()

{ long s, t;

printf("\nPlease enter s:"); scanf("%ld", &s);

fun(s, &t);

printf("The result is: %ld\n", t);

}

(1)void fun(long s,long *t)

(2)sl=sl*10;

题目五长数变短数4

2. 下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为7654321时,t中的数为642。

#include

/************found************/

void fun (long s, long t)

{ long sl=10;

s /= 10;

*t = s % 10;

/************found************/

while ( s < 0)

{ s = s/100;

*t = s%10*sl + *t;

sl = sl * 10;

}

}

main()

{ long s, t;

printf("\nPlease enter s:"); scanf("%ld", &s);

fun(s, &t);

printf("The result is: %ld\n", t);

}

(1)void fun(long s,long *t)

(2)while(s>0)

题目五长数变短数5

1.下列给定程序中,函数fun的功能是:将字符串s中位于奇数位置的字符或

ASCII码值为偶数的字符依次放入字符串t中。例如,字符串中的数据为

"AABBCCDDEEFF",则输出应当是"ABBCDDEFF"。

#include

#include

#include

#include

#define N 80

void fun(char *s, char t[])

{

int i, j=0;

for(i=0; i<(int)strlen(s);i++)

/*************found**************/

if(i%2 && s[i]%2==0)

t[j++]=s[i] ;

/*************found**************/

t[i]='\0';

}

void main()

{

char s[N], t[N];

system("CLS");

printf("\nPlease enter string s :");

gets(s);

fun(s,t);

printf("\nThe result is :%s\n",t);

}

(1)if(i%2||s[i]%2==0) 或 if(i%2 !=0 || s[i]%2==0)

(2)t[j]='\0'; 或 t[j]=0;

题目五长数变短数6

1.下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符

串,并取代原字符串。

#include

#include

#include

void fun(char *s)

{int i,j;

for(i=0,j=0; s[i]!= '\0'; i++)

if(s[i]>= '0'&&s[i]<= '9')

/*************found**************/

s[j]=s[i];

/*************found**************/

s[j]=”\0”;

}

void main()

{char item[80];

system("CLS");

printf("\nEnter a string: ");gets(item);

printf("\n\nThe string is:%s\n",item);

fun(item);

printf("\n\nThe string of changing is :%s\n",item);

}

(1)s[j++]=s[i];

(2)s[j]= '\0';

题目五长数变短数7

2.下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。

#include

long fun(int x, int y, long *p)

{ int i;

long t=1;

/*************found**************/

for(i=1;i

t=t*x;

*p=t;

/*************found**************/

t=t/1000;

return t;

}

void main()

{ long t, r; int x, y;

printf("\nInput x and y: ");

scanf("%1d%1d",&x,&y);

t=fun(x,y,&r);

printf("\n\nx=%d, y=%d,r=%ld, last=%ld\n\n ",x, y, r,t);

}

(1)for(i=1;i<=y;i++)

(2)t=t%1000;

题目五长数变短数8

2.给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。

#include

#include

#define N 20

int fun( int *b )

/**********found**********/

int t[N] ,i, num

for(i=0; i

if(b[i]>=10)

/**********found**********/

t[++num]=b[i];

/**********found**********/

for(i=0; i

b[i]=t[i];

return( num );

}

main()

{ int a[N],i,num;

printf("a数组中的数据:\n");

for(i=0;i

printf("\n");

num=fun(a);

for(i=0;i

printf("\n");

}

(1)int t[N] ,i, num=0;

(2)t[num++]=b[i];或{t[num]=b[i]; num++;}

(3)for(i=0; i

题目五长数变短数9

2.给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下:

初始数列为:6 5 7 23 18 5 8 21 45 38

第1组数为:6 5 7 中值为:6 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第2组数为:5 7 23 中值为:7 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第3组数为:7 23 18 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

第4组数为:23 18 5 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

第5组数为:18 5 8 中值为:8 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第6组数为:5 8 21 中值为:8 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第7组数为:8 21 45 中值为:21 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第8组数为:21 45 38 中值为:38 替换后的数列为:6 6 7 18 18 8 8 21 38 38

最终结果为:6 6 7 18 18 8 8 21 38 38

请改正程序中指定部位的错误,使它能得出正确的结果。

#include

#define N 10

int findmid(int a, int b, int c)

{ int t;

t = (a>b)?(b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b));

/**********found**********/

return b;

}

void fun(int x[])

{ int i,a,b,c,t[N];

/**********found**********/

for(i=0;i

for(i=0;i

{ a=t[i];b=t[i+1];c=t[i+2];

/**********found**********/

t[i+1]=findmid(a,b,c);

}

}

main()

{ int i, x[N]={6,5,7,23,18,5,8,21,45,38};

for(i=0; i

printf("\n");

fun(x);

for(i=0; i

printf("\n");

}

【参考答案】

(1)return t; (2)for(i=0;i

(3)x[i+1]=findmid(a,b,c);

题目六斐波拉契数列

2. 下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……

例如,若给n输入7,则该项的斐波拉契数值为13。

#include

long fun(int g)

{

/**********found**********/

switch(g);

{ case 0: return 0;

/**********found**********/

case 1 ;case 2 : return 1 ;

}

return( fun(g-1)+fun(g-2) );

}

main()

{ long fib; int n;

printf("Input n: "); scanf("%d",&n); printf("n = %d\n",n);

fib=fun(n);

printf("fib = %d\n\n",fib);

}

(1)去掉分号

(2)case 1:case 2:return 1;

题目七链表1

1.例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:

ABC DEF GHI JK。

N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。

#include

void fun(char *p, char *b)

{ int i, k=0;

while(*p)

{ i=1;

while( i<=3 && *p ) {

/**********found**********/

b[k]=p;

k++; p++; i++;

}

if(*p)

{

/**********found**********/

b[k++]=" ";

}

}

b[k]='\0';

}

main()

{ char a[80],b[80];

printf("Enter a string: "); gets(a);

printf("The original string: "); puts(a);

fun(a,b);

printf("\nThe string after insert space: "); puts(b); printf("\n\n");

}

(1)b[k]=*p;

(2)b[k]='';k++;

题目七链表2

2.下列给定程序中函数Creatlink的功能是:创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。

#include

#include

typedef struct aa

{ int data;

struct aa *next;

} NODE;

NODE *Creatlink(int n, int m)

{ NODE *h=NULL, *p, *s;

int i;

/**********found***********/

p=(NODE )malloc(sizeof(NODE));

h=p;

p->next=NULL;

for(i=1; i<=n; i++)

{ s=(NODE *)malloc(sizeof(NODE));

s->data=rand()%m; s->next=p->next;

p->next=s; p=p->next;

}

/**********found***********/

return p;

}

outlink(NODE *h)

{ NODE *p;

p=h->next;

printf("\n\nTHE LIST :\n\n HEAD ");

while(p)

{ printf("->%d ",p->data);

p=p->next;

}

printf("\n");

}

main()

{ NODE *head;

head=Creatlink(8,22);

outlink(head);

}

(1)p=(NODE *)malloc(sizeof(NODE));

(2)return h;

题目七链表3

2.下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

#include

#include

#include

typedef struct aa

{ int data;

struct aa *next;

} NODE;

int fun (NODE *h)

{ int sum=0;

NODE *p;

p=h->next;

/*************found**************/

while(p->next)

{ if(p->data%2==0)

sum+=p->data;

/*************found**************/

p=h->next;

}

return sum;

}

NODE *creatlink(int n)

{

NODE *h,*p,*s;

int i;

h=p=(NODE*)malloc(sizeof(NODE));

for(i=1;i

{

s=(NODE*)malloc(sizeof(NODE));

s->data=rand()%16;

s->next=p->next;

p->next=s;

p=p->next;

}

p->next=NULL;

return h;

}

outlink(NODE *h)

{ NODE *p;

p=h->next;

printf("\n\n The LIST :\n\n HEAD");

while(p)

{ printf("->%d",p->data);

p=p->next;}

printf("\n");

}

void main()

{ NODE *head; int sum;

system("CLS");

head=creatlink(10);

outlink(head);

sum=fun(head);

printf("\nSUM=%d",sum);

}

(1)while (p!=NULL)

(2)p=p->next;

题目七链表4

2.下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。

#include

#include

#include

typedef struct aa

{ int data;

struct aa *next;

} NODE;

fun (NODE *h)

{ int max=-1;

NODE *p;

/*************found**************/

p=h;

while(p)

{ if(p->data>max)

max=p->data;

/*************found**************/

p=h->next;

}

return max;

}

outresult(int s, FILE *pf)

{ fprintf(pf, "\nThe max in link :%d\n",s); }

NODE *creatlink(int n, int m)

{ NODE *h,*p,*s;

int i;

h=p=(NODE *)malloc(sizeof(NODE));

h->data=9999;

for(i=1;i<=n;i++)

{ s=(NODE *) malloc(sizeof(NODE));

s->data=rand()%m; s->next=p->next;

p->next=s; p=p->next;

}

p->next=NULL;

return h;

}

outlink(NODE *h,FILE *pf)

{ NODE *p;

p=h->next;

fprintf(pf, "\n The LIST :\n\n HEAD");

while(p)

{ fprintf(pf, "->%d",p->data);

p=p->next;}

fprintf(pf, "\n");

}

main()

{ NODE *head; int m;

system("CLS");

head=creatlink(12,100);

outlink(head,stdout);

m=fun(head);

printf("\nThe RESULT :\n");

outresult(m,stdout);

}

(1)p=h->next;

(2)p=p->next;

题目八非素数问题

1.例如,若输入"Ab,cD",则输出"AB,CD"。

编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

#include

#include

char* fun( char tt[] )

{

int i;

for( i = 0; tt[i]; i++ )

/**********found***********/

if(( 'a' <= tt[i] )||( tt[i] <= 'z' ) )

/**********found***********/

tt[i] += 32;

return( tt );

}

main( )

{

char tt[81];

printf( "\nPlease enter a string: " );

gets( tt );

printf( "\nThe result string is:\n%s", fun( tt ) );

}

(1)if(( tt[i]>='a')&&( tt[i] <='z'))

(2)tt[i]-=32;

题目九排序问题1

2.下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

#include

#include

#define MAXLINE 20

fun ( char *pstr[6])

{ int i, j ;

char *p ;

for (i = 0 ; i < 5 ; i++ ) {

/**************found**************/

for (j = i + 1, j < 6, j++)

{

if(strcmp(*(pstr + i), *(pstr + j)) > 0)

{

p = *(pstr + i) ;

/**************found**************/

*(pstr + i) = pstr + j ;

*(pstr + j) = p ;

}

}

}

}

main( )

{ int i ;

char *pstr[6], str[6][MAXLINE] ;

for(i = 0; i < 6 ; i++) pstr[i] = str[i] ;

printf( "\nEnter 6 string(1 string at each line): \n" ) ;

for(i = 0 ; i < 6 ; i++) scanf("%s", pstr[i]) ;

fun(pstr) ;

printf("The strings after sorting:\n") ;

for(i = 0 ; i < 6 ; i++) printf("%s\n", pstr[i]) ;

}

(1)for (j = i + 1; j < 6; j++)

(2)*(pstr +i) = *(pstr + j) ;

题目九排序问题2

2. 下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。

例如,若输入的数为:551234,输出的结果应当是:a=55.0,b=34.0,c=12.0。

#include

void fun(float *a,float *b,float *c)

{

/**********found**********/

c语言程序改错题

程序改错------------------------------------- 1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 -----------------*/ #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;ix[i+1]) { t=x[j];x[j]=x[j+1];x[j+1]=t;} } main() { int i,n,a[100]; printf("please input the length of the array:\n"); scanf("%d",&n); for(i=0;ij;j++) 或 for(j=0;jj;j++) 3 if(x[j]>x[j+1]) 或 if(x[j+1]

C语言程序改错及填空题

下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。 #define NULL 0 struct stud { long num; char name[10]; float score; struct stud *next; }; /* …………… comment …………… */ int n; struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。 #include <> main() { int a[8],*p=a; int i,j; int tempmin,tempcode; printf("\n input the numbers:\n"); for (i=0;i<8;i++) scanf("%d",p+i);

tempmin=*p; for (i=0;i<7;i++) { for (j=i;j<8;j++) if (j==i||*(p+j)

大学计算机二级考试试题及其答案 !!!

全国计算机二级考试试题 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ??? oodbs tart$it line#pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置

【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句 printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知 long i=65539;执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 A) 原码 B) 补码

c语言程序改错

【程序改错】 1.功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序 打印出来。 char next; next=getchar(); palin(n-1); 2.功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 for (k=4; k<=n; k++) a=b; return d; 3.功能:根据整型形参m,计算如下公式的值: y=1/2+1/8+1/18+...+1/2m*m double y=0.0; 4.功能:编制统计营业员一天的营业额的程序,设程序采用一个循环 实现,每次循环输入一笔交易金额并累计营业额。由于营 业员一天完成的交易次数是不确定的,为此以最后附加输 入一笔0或负数交易额作为交易金额已全部输入结束的标志。 float sale,sigma; scanf("%f",&sale); sigma=sigma+sale; 5.功能:读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。while(n<8) while(a<1||a>50); for(i=0;i

计算机二级上机考试(程序改错题)1

计算机二级上机考试(程序改错题)1 https://www.wendangku.net/doc/dd5217443.html,work Information Technology Company.2020YEAR

程序编程题目 1、第一大类(交换类)共7道 2. 程序修改(第3套) 给定程序中函数fun的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中值为3,b中的值为8. /**found**/ t=*x; *x=y; /**found**/ return(t); 2. 程序修改(第60套) 给定程序中函数fun的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60 /**found**/ void fun(int *a,int *b) /**found**/ t=*b;*b=*a;*a=t; 2. 程序修改(第88套) 给定程序中函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。 /**found**/ void fun(int *x, int *y) /**found**/ t=*x,*x=*y,*y=t; 2、第二大类(计算类)共22道2. 程序修改(第1套) 给定程序中函数fun的功能是:求出以下分数序列的前n 项之和。 2/1+3/2+5/3+8/5+13/8+21/13 +……和值通过函数值返回main函数。例如n=5,则应输出:8.391667。 /**found**/ double fun(int n) /**found**/ s=s+(double)a/b; 2. 程序修改(第6套) 给定程序中函数fun的功能是:用递归算法计算列中第n 项的值。从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、…… /**found**/ switch(g) /**found**/ case 1:case 2:return 1;2. 程序修改(第13套) 给定程序中函数fun的功 能是:求 s=aa…aa—…—aaa —aa—a(此处aa…aa表示n 个a,a和n的值在1至9之 间)。例如,a=3,n=6,则以下 表达式为: S=333333-33333-3333-333-33- 3其值是296298。 /**found**/ long s=0,t=0; /**found**/ t=t/10; 2. 程序修改(第21套) 给定程序中函数fun的功 能是:计算s=f(-n)+f(- n+1)+……+f(0)+f(1)+f (2)+……f(n)的值。例 如,当n为5时,函数值应 该是:10.407143。 f(x)=(x+1)(x-2) x>0且x!=2 f(x)=0 f(x)= (x-1)(x-2) x<0 /**found**/ double f(double x) /**found**/ return s; 2. 程序修改(第27套) 给定程序中函数fun的功能 是:用递归算法求形参a的 平方根。求平方根的迭代公 式如下:x1=1/2(x0+a/x0)例 如:a为2时,平方根值为 1.414214 /**found**/ double fun(double a,double x0) /**found**/ if(fabs(x1-x0)>0.00001) 2 程序修改(第29套) 给定程序中函数fun的功能 是:计算函数值,F(x,y,z) =(x+y)/(x-y)+(z+y)/(z-y)的值 得。其中x和y的值不等,z 和y的值不等。例如,当x 的值为9、y的值为11、z的 值为15时,函数值为-3.50。 /**found**/ #define FU(m,n) (m)/(n) /**found**/ return (value); 2. 程序修改(第33套) 给定程序中函数fun的功能 是:根据整形形参m=1,计算 如下公式的值。 m=1+1/2*2+1/3*3+1/4*4+..+1 /m*m例如,若m中的值为 5,则应输出1.463611 /**found**/ for (i =2 ; i<= m; i++) /**found**/ y+=1. 0/ ( i* i) ; 2. 程序修改(第37套) 给定程序中函数fun的功能 是:用下面的公式求π的近 似值,知道最后一项的近似 值小于指定数(参数num) 为止:例如程序0.0001,则 程序输出3.1414。 /**found**/ while((fabs(t))>=num) /**found**/ t=s/n 2. 程序修改(第45套) 给定程序中函数fun的功 能是:根据以下公式求π 值,并作为函数值返回。例 如,给指定精度的变量eps 输入0.0005时,应当输出 Pi=30140578.。 /**found**/ t=1.0; /**found**/ return(s*2); 2. 程序修改(第47套) 给定程序中函数fun函数功能 是:计算n!。例如,给n输 入5,则输出120.000000。 /**found**/ if (n==0) /**found**/ result *=n--; 2. 程序修改(第48套) 给定程序中函数fun的功能 是:根据整形形参m=1,计算 如下公式的值。 m=1+1/2*2+1/3*3+1/4*4+..+1 /m*m例如,若m中的值为 5,则应输出1.463611 /**found**/ for (i =2 ; i<= m; i++) /**found**/ y+=1. 0/ ( i* i) ; 给定程序中函数fun的功能 是:计算并输出下列级数的 前n项的和Sn,直到Sn+1大 于q为止,q的值通过形参传 入。 Sn=2/1+3/2+4/3+…+(N+1)/N /**found**/ s=s +(double)(n+1)/n; /**found**/ return t; 2. 程序修改(第52套) 下列给定程序中函数fun的 功能是:按以下递推公式求 函数的值。 Fun=10 (n=1),fun(n-1)+2 (n>1) 例如,当给n输出5时,函 数值为18;当给n输入3 时,函数值为14. /**found**/ int fun(int n) /**found**/ if(n==1) 2. 程序修改(第58套) 给定程序中函数fun的功能 是:求K!,所求阶乘 的值作为函数值返回。例 如,若K=10,则应输出 3628800。 /**found**/ if(k>1) /**found**/ else if(k= =0) 2. 程序修改(第63套) 给定程序中函数fun的功能 是:计算整数n的阶乘。 /**found**/ result *=n--; /**found**/ return result; 2. 程序修改(第65套) 给定程序中,函数fun的功能 是:根据形参m,计算下列 公式的值: t=1+1/2+1/3+1/4+… +1/m例如,若输入5,则应 输出2.28333 /**found**/ t+=1.0/i; /**found**/ return t; 2. 程序修改(第77套) 给定程序中函数fun的功能 是:根据整形形参m,计算如 下公式的值。 Y=1/(100*100)+1/(200*200) +1/(300*300)+L+1/(m*m) /**found**/ double fun(int m) /**found**/ for(i=100;i<=m;i+=100) 2. 程序修改(第78套) 给定程序中函数fun的功能 是:根据整型形参n计算如 下公式的值。A1=1, A2=1/(1+A1),A3=1/(1+A2),An= 1/(1+A(n-1))例如:若n=10, 则应输出:0.617977. /**found**/ float fun(int n) /**found**/ for(i=2;i<=n;i++) 2. 程序修改(第85套) 下列给定程序中,函数fun的 功能是:传入一个整数m, 计算如下公式的值。 t=1/2-1/3-…-1/m例如,若输 入5,则应输出-0.283333. /**found**/ 2

C语言程序改错2

1、以下程序的功能是求如下表达式: 1 1 1 S = 1 + ——+ ———+ ...... + ——————— 1+2 1+2+3 1+2+3+......+n 『答案』:1 scanf("%d",&n); 2 float fun(int n) 3 for(i=1;i<=n;i++) 4 s+=1.0/t 或s= s + 1.0 /t; 2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- ——- ——- ... - —— 2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 『答案』:1 for(i=2;i<=m;i++)或for(i=2;i 2 float s=0,t=1,p=1; 3 while(fabs(t)>1e-4)或while(fabs(t)>0.0001) 4 printf("pi=%f\n", s * 4 ); 4、功能:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。『答案』:1 long k=1; 或long int k=1; 2 num/=10; 或num=num/10; 3 scanf("%ld",&n); 4 printf("\n%ld\n",fun(n)); 5、功能:(与上题略有不同)计算正整数num的各位数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 『答案』:1 {long k=1; 2 num/=10; 或num=num/10; 3 } while(num) ; 或}while(num!=0); 或}while(num>0); 6、题目:判断m是否为素数,若是返回1,否则返回0。 『答案』:1 int fun( int m) 或fun( int m) 2 for(i=2;isqrt(i)) 4 return i; 或return (i);

C语言程序改错题

第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include #include /**********FOUND**********/ double fun( r) double fun(double r) { double s; /**********FOUND**********/ s=1/2*3.14159* r * r; s=1.0/2*3.14159*r*r; /**********FOUND**********/ return r; return s; } main() { float x;

printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; int sl,i; sl = strlen(s); for (i=0; i

程序改错完整版---C语言

(一)功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。#include "stdio.h" #define N 20 void fun(int a[], int n) { int i, j, t, k; for (j = 0 ;j < n-1 ;j++) { /**********ERROR**********/ k = j for (i = j+1;i < n; i++) /**********ERROR**********/ if(a[i] >a[k]) /**********ERROR**********/ k=j; t = a[k] ; a[k] = a[j] ; a[j] = t; } } main() { int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); fun(a,m); printf("排序后的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); } 【参考答案】 k = j; 【参考答案】 if(a[i] < a[k]) if(a[k] > a[i])

【参考答案】 k = i; (二)功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 #include "conio.h" #include "stdio.h" long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********ERROR**********/ for (k=4; k

全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案 第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序选择循环 第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义执行语句 2.17 关键字用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量10赋给变量s 2.24 位1或0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 0000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}” 2.29 #include "stdio.h" main /* main function */ main后遗失了“()” { float a,b,c,v; /*a,b,c are sides, v is volume of cube */ a=2.0; b=3.0; c=4.0 行尾遗失了“;”

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

计算机等级考试二级真题及答案

2015计算机二级考试试题及答案 1、设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的键(码)为______。 A、公司号,员工号 B、员工号,工资 C、员工号 D、公司号,员工号,工资 【评析】 本题考查知识点是关键字。 能唯一标识实体的属性集称为码(关键字)。码也称为关键字,是表中若干属性的属性组,其值唯一标识表中的一个元组。 本题答案:A。 3、下列叙述中正确的是______。 A、每一个结点有两个指针域的链表一定是非线性结构 B、所有结点的指针域都为非空的链表一定是非线性结构 C、循环链表是循环队列的链式存储结构 D、线性结构的存储结点也可以有多个指针 【评析】 本题考查知识点是线性表的线性结构与非线性结构。

线性表的链式存储结构称为线性链表。在某些应用中,对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;另一个称为右指针,用以指向其后件结点。 本题答案:D。 4、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数______。 A、相同,元素的存储顺序与逻辑顺序一致 B、相同,但其元素的存储顺序可以与逻辑顺序不一致 C、不同,但元素的存储顺序与逻辑顺序一致 D、不同,且其元素的存储顺序可以与逻辑顺序不一致 【评析】 本题考查知识点是线性表的顺序存储结构。 线性表的顺序存储结构具有两个基本特点:1.线性表中所有元素所占的存储空间是连续的;2.线性表中各元素在存储空间中是按逻辑顺序依次存放的。 本题答案:A。 5、设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为______。 A、19 B、20 C、m-19 D、m-20 【评析】 本题考查知识点是循环队列的运算。

齐齐哈尔大学C语言题库 程序改错(部分)

1.【程序改错】 题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) int fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} *b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i

计算机二级试题-改错题

第01套 给定程序MODI1.C中函数fun 的功能是:计算n!。 例如,给n输入5,则输出120.000000。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include double fun ( int n ) { double result = 1.0 ; /************found************/ if n = = 0 改为:if (n==0) return 1.0 ; while( n >1 && n < 170 ) /************found************/ result *= n-- 改为:result *= n--; return result ; } main ( ) { int n ; printf("Input N:") ; scanf("%d", &n) ; printf("\n\n%d! =%lf\n\n", n, fun(n)) ; } 解题思路: 第一处:条件语句书写格式错误,应改为:if (n==0)。 第二处:语句后缺少分号。 第02套 给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include void fun(char *s) { int i,j; for(i=0,j=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') /**********found**********/ s[j]=s[i]; 改为:s[j++]=s[i];

历年计算机二级MSOffice真题及答案

基础 一、选择题 1、世界上首先实现存储程序的电子数字计算机是____。 A、ENIAC B、UNIVAC C、EDVAC D、EDSAC 2、计算机科学的奠基人是____。 A、查尔斯.巴贝奇 B、图灵 C、阿塔诺索夫 D、冯.诺依曼 2、世界上首次提出存储程序计算机体系结构的是____。 A、艾仑?图灵 B、冯?诺依曼 C、莫奇莱 D、比尔?盖茨 3、计算机所具有的存储程序和程序原理是____提出的。 A、图灵 B、布尔 C、冯?诺依曼 D、爱因斯坦 4、电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出 的基本原理。他就是____。 A、牛顿 B、爱因斯坦 C、爱迪生 D、冯?诺依曼 5、1946年世界上有了第一台电子数字计算机,奠定了至今仍然在使用的计算机____。 A、外型结构 B、总线结构 C、存取结构 D、体系结构 在计算机应用领域里,____是其最广泛的应用方面。 A、过程控制 B、科学计算 C、数据处理 D、计算机辅助系统 6、1946年第一台计算机问世以来,计算机的发展经历了4个时代,它们是____。 A、低档计算机、中档计算机、高档计算机、手提计算机 B、微型计算机、小型计算机、中型计算机、大型计算机 C、组装机、兼容机、品牌机、原装机 D、电子管计算机、晶体管计算机、小规模集成电路计算机、大规模及超大规模集成电路计算机 7、以下属于第四代微处理器的是____。 A、Intel8008 B、Intel8085 C、Intel8086 D、Intel80386/486/586 8、Pentium IV处理器属于____处理器。 A、第一代 B、第三代

C语言程序改错题

第1题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; sl = strlen(s); for (i=0; i

全国计算机二级C语言程序改错题(-100%全中必过)

目录 题目一前N项和问题 (3) 题目二SS字符串问题 (4) 题目三变量互换问题1 (4) 题目三变量互换问题2 (5) 题目三变量互换问题3 (5) 题目四最大公约数问题 (6) 题目五长数变短数1 (7) 题目五长数变短数2 (7) 题目五长数变短数3 (8) 题目五长数变短数4 (9) 题目五长数变短数5 (9) 题目五长数变短数6 (10) 题目五长数变短数7 (11) 题目五长数变短数8 (11) 题目五长数变短数9 (12) 题目六斐波拉契数列 (13) 题目七链表1 (14) 题目七链表2 (15) 题目七链表3 (16) 题目七链表4 (17) 题目八非素数问题 (19) 题目九排序问题1 (19) 题目九排序问题2 (20) 题目九排序问题3 (21) 题目九排序问题4 (22) 题目九排序问题5 (23) 题目九排序问题6 (24) 题目九排序问题6 (25) 题目九排序问题7 (26) 题目十平均值问题1 (26) 题目十平均值问题2 (27) 题目十平均值问题3 (28) 题目十平均值问题4 (29) 题目十平均值问题5 (30) 题目十一字符串连接1 (30) 题目十一字符串连接2 (31) 题目十一字符串连接3 (32) 题目十一字符串连接4 (32) 题目十二求和问题1 (33) 题目十二求和问题2 (34) 题目十二求和问题3 (35) 题目十二求和问题4 (36)

题目十二求和问题6 (37) 题目十二求和问题7 (38) 题目十二求和问题8 (39) 题目十二求和问题9 (39) 题目十二求和问题10 (40) 题目十二求和问题11 (41) 题目十二求和问题12 (42) 题目十二求和问题13 (42) 题目十二求和问题14 (43) 题目十二求和问题15 (44) 题目十二求和问题16 (44) 题目十二求和问题17 (45) 题目十二求和问题18 (45) 题目十二求和问题19 (46) 题目十三整数问题 (47) 题目十四字符串逆置 (48) 题目十五进制转换1 (48) 题目十五进制转换2 (49) 题目十六素数问题1 (50) 题目十六素数问题2 (50) 题目十六素数问题3 (51) 题目十六素数问题4 (52) 题目十六素数问题5 (53) 题目十七删除字符串中指定项1 (53) 题目十七删除字符串中指定项2 (54) 题目十八最小公倍数问题 (55) 题目十九字符串替换问题1 (55) 题目十九字符串替换问题2 (56) 题目二十找最长字符串 (57) 题目二十一数组问题1 (58) 题目二十一数组问题2 (59) 题目二十一数组问题3 (60) 题目二十二求平方根问题 (61) 题目二十三短字符串变长字符串1 (61) 题目二十三短字符串变长字符串2 (62) 题目二十三短字符串变长字符串3 (63) 题目二十三短字符串变长字符串4 (64) 题目二十四字符串s问题1 (64) 题目二十四字符串s问题2 (65) 题目二十四字符串s问题3 (66) 题目二十五求方程的根 (67) 题目二十六求阶乘1 (68) 题目二十六求阶乘2 (69)

C语言改错题

题号:1 题目:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列 /************FOUND***********/ a[i]=a[i-1]; /************FOUND***********/ exit;} 正确答案:a[i+1]=a[i]; break;} 题号:2 题目:以下程序的功能是求如下表达式: /************FOUND***********/ print("%d",n) ; /************FOUND***********/ fun(int n) 正确答案:scanf(“%d”,&n); float fun(int n) 题号:3 题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 /**********FOUND**********/ y-=1/(i*i); /**********FOUND**********/ return m; 正确答案:y-=1.0/(i*i); return c; 题号:4 题目:以下程序把一由小到大的有序数列放在a[1]到a[n]中,a[0]用做工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍有序。 /************FOUND***********/ { a[i]=a[i+1]; /************FOUND***********/

for(i=0;i<=n;i++) 正确答案:{ a[i+1]=a[i]; for(i=1;i<=n;i++) 题号:5 题目:函数scopy的功能是:将一个字符串前面n个子字符送到一个字符型数组中去 ,然后再加上一个'\0'。不用系统提供的函数strcpy。请改正程序中的2个错误,使它能得出正确的结果。 /**************FOUND**************/ scanf("%d",n); /**************FOUND**************/ scopy(str1,str2); 正确答案:scanf("%d",&n); scopy(str1,str2,n); 题号:6 题目:函数fun的功能是:求n!。主函数的功能是计算: x!+y!+z!的值。请改正程 序中的错误,使它能得出正确的结果。 /**********FOUND**********/ scanf("%d,%d,%d",x,y,z); /**********FOUND**********/ printf("Sum=%d\ n",sum); 正确答案:scanf("%d,%d,%d",&x,&y,&z); printf("Sum=%ld\ n",sum); 题号:7 题目:编写函数fun求整数n以内(不包括n)3的倍数之和,在main函数中由键盘输 入n值,并输出运算结果。 /**********FOUND**********/ scanf("%d",n); /**********FOUND**********/ result=fun( ); 正确答案:scanf("%d",&n); result=fun(n); 题号:8 题目:函数fun的功能是:求1到20的阶乘的和。 /**********FOUND**********/ s+t=s; /**********FOUND**********/ printf("jiecheng=%d\n",s);

相关文档