C语言上机题库.docx
- 文档编号:23121262
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:17
- 大小:17.97KB
C语言上机题库.docx
《C语言上机题库.docx》由会员分享,可在线阅读,更多相关《C语言上机题库.docx(17页珍藏版)》请在冰豆网上搜索。
C语言上机题库
gc22.c程序是输入一个字符串,将此字符串中最长的单词输出,程序在注释行附近有两个错误,请试调试改正,但调试改正中不得增删语句。
intalph(charc)
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return
(1);
else
return(0);/*find1*/
}
intlongest(char*str)//intlongest(charstr)
{
intlen=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/*Find2*/
{
flag=1;//flag=0;
if(len>length)
{length=len;
place=point;
len=0;}
}
return(place);
}
main()
{
inti;
charline[100];
printf("Enterstring\n");
gets(line);
printf("thelongestis:
");
for(i=longest(line);alph(line[i]);i++)
printf("%c",line[i]);
printf("\n");
}
二、程序填空题
tk22.c是打印出杨辉三角形,在空白处将程序补充完整,运行得出正确结果。
1
11
121
1331
14641
15101051
.
.
.
#defineN11
main()
{
intI,j,a[N][N];
for(I=1;I {a[I][I]=1; a[I][1]=1;// } for(I=3;I for(j=2;j a[I][j]=a[I-1][j-1]+a[I-1][j]; for(I=1;I {for(j=1;j<=I;j++) printf("%6d",a[I][j]); printf("\n"); } printf("\n"); } 一、程序改错题(20分)。 下列程序是建立一个包含学生有关数据的单向链表。 但该程序有2个错误,错误出现在每个注释行附近,请调试改正。 调试改正中,不得改变程序结构,也不得增删语句。 #defineNULL0 structstud { longnum; charname[10]; floatscore; structstud*next; }; /*……………comment……………*/ intn; structstudcreate() { structstud*head,*p1,*p2; n=0; p1=p2=(structstud*)malloc(sizeof(structstud)); scanf("%ld,%s,%f",&p1->num,p1->name,&p1->score); /*……………comment……………*/ head=NULL; while(p1! =0) { n=n+1; if(n==1)head=p1; elsep2->next=p1; p1=(structstud*)malloc(size(structstud)); scanf("%ld,%s,%f",&p1->num,p1->name,&p1->score); } p2->next=NULL; return(head); } 二、程序填空题(20分)。 下面的程序是完成从键盘上输入若干行长度不一的字符串把其存到一个文件名为ttt.txt的磁盘文件上去,再从该文件中输出这些数据到屏幕上,将其中的小写字母转换成大写字母。 然而,该程序是一个不完整的程序,请在下划线空白处将其补充完整,以便得到正确答案,但不得增删原语句。 #include main() { inti,flag; charstr[80],c; FILE*fp; if((fp=fopen("TTT","w"))==NULL) {printf("can'tcreatefile\n"); exit(0); } for(flat=1;flag;) {printf("请输入字符串\n"); gets(str); fprintf(fp,"%s",str); printf("是否继续输入? \n"); if((c=getchar()=='N'|| (1)) flag=0; getchar(); } fseek(fp,0,0); while(fscanf(fp,"%s",str)! =EOF) {for(i=0;str[i]! ='\0';i++) if((str[i]>='a'&&(str[i]<='z')) str[i]=_ (2) printf("%s",str); } fclose(fp); } 试题一、程序改错题: gc56.c程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调试改正 之,但不得增删语句. #include voidmain(void) { chars[255]; inti; scanf("%s",s); for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z')//if(s[i]>='b'&&s[i]<='z') s[i]=s[i]-'a'+'A';//s[i]=s[i]+'a'+'A'; printf("%s",s); } 试题二、程序填空题 tk56.c程序用于计算4×5的整型数组中最大元素所在行和列的位置。 下面程序不完整, 请将其补充完整,以便得到正确答案,注意: 不得增行和删行,也不得修改程序的结构。 。 #include voidmain(void) { inta[4][5]={{4,8,9,10,12}, {2,5,13,17,11}, {81,76,34,57,33}, {1,90,3,78,55}}; intmax,max_row,max_col; inti,j; max=a[0][0];// max_row=0; max_col=0; for(i=0;i<4;i++) for(j=0;j<5;j++) if(max { max=a[i][j]; max_row=i; max_col=j; } printf("%d%d",max_row,max_col); } 试题一、程序改错题: gc56.c程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调试改正 之,但不得增删语句. #include voidmain(void) { chars[255]; inti; scanf("%s",s); for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z')//if(s[i]>='b'&&s[i]<='z') s[i]=s[i]-'a'+'A';//s[i]=s[i]+'a'+'A'; printf("%s",s); } 试题二、程序填空题 tk56.c程序用于计算4×5的整型数组中最大元素所在行和列的位置。 下面程序不完整, 请将其补充完整,以便得到正确答案,注意: 不得增行和删行,也不得修改程序的结构。 。 #include voidmain(void) { inta[4][5]={{4,8,9,10,12}, {2,5,13,17,11}, {81,76,34,57,33}, {1,90,3,78,55}}; intmax,max_row,max_col; inti,j; max=a[0][0];// max_row=0; max_col=0; for(i=0;i<4;i++) for(j=0;j<5;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)