C语言笔试--程序改错题
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(\
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
{
char s[255]; 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
if(*q t=*max; *max=*min; *min=t; } gc101.c的功能为:输入8个整数,使用指针以选择法对其进行排序(从小到大).程序中有两处错误代码,请改正.注意,不得改变程序结构。 #include 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 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 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(\}
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




