教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

C语言笔试--程序改错题

来源:网络收集 时间:2026-09-02
导读: C语言机试程序改错题 gc22.c程序是输入一个字符串, 将此字符串中最长的单词输出,程序在注释行附近有两个错误,请试调试改正,但调试改正中不得增删语句。 int alph(char c) { if((c>='a'c ='A'c int longest(char str) ////////////// int longest(char *str)

C语言机试程序改错题

gc22.c程序是输入一个字符串, 将此字符串中最长的单词输出,程序在注释行附近有两个错误,请试调试改正,但调试改正中不得增删语句。

int alph(char c) { if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return(1); else return(0); /* find 1 */ }

int longest(char str) ////////////// int longest(char *str) { int len=0,i,length=0,flag=1,point,place; for(i=0;i<=strlen(str);i++) if(alph(str[i])) if(flag) { flag=0; point=i; } else len++; else /* Find 2 */ { flag=0; /////////////flag=1; if(len>length) { length=len; place=point; len=0; } } return(place); }

main( ) { int i; char line[100]; printf(\ gets(line); printf(\

1

for(i=longest(line);alph(line[i]);i++) printf(\ printf(\ }

2下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在

每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。

#define NULL 0 struct stud {

long num; char name[10]; float score;

struct stud *next; };

/* …………… comment …………… */ int n;

struct stud create() ////////struct stud *create(void) { struct stud *head,*p1,*p2; n=0; p1=p2=(struct stud *)malloc(sizeof(struct stud)); scanf(\ /* ……………comment …………… */ head=NULL; while(p1!=0) //////////while(p1->num!=0) { n=n+1; if(n==1) head=p1; else p2->next=p1; p1=(struct stud *)malloc(size(struct stud)); scanf(\ }

p2->next=NULL; return(head);

}

gc56.c程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调试改正之,但不得增删语句.

#include void main(void) { char s[255];

2

int i;

scanf(\for (i=0;s[i];i++)

if(s[i]>='b' && s[i]<='z') //////s[i]>='a' && s[i]<='z' s[i] = s[i] +'a' + 'A'; //////s[i] = s[i] -'a' + 'A' printf(\

gc57.c的功能是互换给定数组中的最大数和最小数。如将下面8个数: 5,3,1,4,2,8,9,6 变成:

5,3,9,4,2,8,1,6

程序中,最大数与最小数的互换操作通过函数调用来实现,让指针max和min分别指向最大数和最小数。程序有二处错误,请改正。注意:不得增行和删行,也不得修改程序的结构。

main() {

int i;

static int a[8]={5,3,1,4,2,8,9,6}; void jhmaxmin();

printf(\ for(i=0; i<8; i++)

printf(\ printf(\ jhmaxmin(a,8);

printf(\ for(i=0; i<8; i++)

printf(\ printf(\}

void jhmaxmin(p,n)

int p, n; //////// int *p,n; {

int t, *max, *min, *end, *q; end=p+n; max=min=p;

for(q=p+1; q*max) max=q;

if(*q

t=*max; *max=*min; *min=t; }

gc101.c的功能为:输入8个整数,使用指针以选择法对其进行排序(从小到大).

3

程序中有两处错误代码,请改正.注意,不得改变程序结构。

#include main() {

int a[8],*p=a; int i,j;

int tempmin,tempcode;

printf(\ for (i=0;i<8;i++) scanf(\ tempmin=*p; for (i=0;i<7;i++) {

for (j=i;j<8;j++)

if (j==i||*(p+j)

{ tempmin=*(p+i); //////////tempmin=*(p+j); tempcode=j; };

if (tempcode!=i)

{ *(p+tempcode)=*(p+i);

*(p+j)=tempcode; /////////////*(p+i)=tempmin; } }

for (i=0;i<8;i++)

printf(\ return(1); }

gc137.c中的sub函数的功能是:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。请改正函数sub中的两个错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得修改程序的结构。

#include \ #include \ #include \

void sub( char *s, char *t ) {

int i, d;

d=strlen( s );

for( i=1; i< d ; i++ ) ///////for(i=0;i

4

for( i=0; i

t[2*d]='/0' ; /////////t[2*d]='\\0'; }

main( ) {

char s[100], t[100]; clrscr( ) ;

printf( \ enter string S : \ scanf(\ sub(s,t) ;

printf( \ result is : %s \\n \ }

gc155.c的功能是从键盘输入一行字符,分别统计其中的字母、数字、空格和其它字符的个数。但该程序中有2处错误,请调试并改正。不允许改变程序结构和增删语句。

#include main() { int c;

int letter=0,digit=0,space=0,other=0; printf(\

while (c=getchar()!='\\n') //////while((c=getchar())!='\\n') if (c>='a'&&c<='z'||c>='A'&&c<='Z') letter++;

else if (c>='0'&&c<='9') digit++;

else if (c=' ') //////////else if(c==' ') space++; else

other++;

printf(\ printf(\ printf(\ printf(\}

gc163.c的功能是实现求1000以内的自然数中的完数及其个数(所谓完数,指它恰好等于除它本身之外的因子之和,如:6=1+2+3,28=1+2+4+7+14),并显示结果。但该程序中有2处错误,请调试并改正。不允许改变程序结构和增删语句。

#include

5

…… 此处隐藏:1006字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言笔试--程序改错题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/414174.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)