c语言上机 程序填空.docx
- 文档编号:2440709
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:115
- 大小:69.06KB
c语言上机 程序填空.docx
《c语言上机 程序填空.docx》由会员分享,可在线阅读,更多相关《c语言上机 程序填空.docx(115页珍藏版)》请在冰豆网上搜索。
c语言上机程序填空
1.给定程序中,函数fun的功能是:
将不带头结点的单向链表逆置。
即若原链表中从头至尾结点数据域依次为:
2、4、6、8、10,逆置后,从头至尾结点数据域依次为:
10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#defineN5
typedefstructnode{
intdata;
structnode*next;
}NODE;
/**********found**********/
NODE*fun(NODE*h)
{NODE*p,*q,*r;
p=h;
if(p==NULL)
returnNULL;
q=p->next;
p->next=NULL;
while(q)
{
/**********found**********/
r=q->next;
q->next=p;
p=q;
/**********found**********/
q=r;
}
returnp;
}
NODE*creatlist(inta[])
{NODE*h,*p,*q;inti;
h=NULL;
for(i=0;i {q=(NODE*)malloc(sizeof(NODE)); q->data=a[i]; q->next=NULL; if(h==NULL)h=p=q; else{p->next=q;p=q;} } returnh; } voidoutlist(NODE*h) {NODE*p; p=h; if(p==NULL)printf("ThelistisNULL! \n"); else {printf("\nHead"); do {printf("->%d",p->data);p=p->next;} while(p! =NULL); printf("->End\n"); } } main() {NODE*head; inta[N]={2,4,6,8,10}; head=creatlist(a); printf("\nTheoriginallist: \n"); outlist(head); head=fun(head); printf("\nThelistafterinverting: \n"); outlist(head); } 2.给定程序中,函数fun的功能是: 在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。 ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #defineN5 #defineM10 intfun(char(*ss)[M],intk) {inti,j=0,len; /**********found**********/ for(i=0;i {len=strlen(ss[i]); /**********found**********/ if(len<=K) /**********found**********/ strcpy(ss[j++],ss[i]); } returnj; } main() {charx[N][M]={"Beijing","Shanghai","Tianjing","Nanjing","Wuhan"}; inti,f; printf("\nTheoriginalstring\n\n"); for(i=0;i f=fun(x,7); printf("Thestringwitchlengthislessthanorequalto7: \n"); for(i=0;i 3.给定程序中,函数fun的功能是将不带头结点的单向链表逆置。 即若原链表中从头至尾结点数据域依次为: 2、4、6、8、10,逆置后,从头至尾结点数据域依次为: 10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #defineN5 typedefstructnode{ intdata; structnode*next; }NODE; /**********found**********/ NODE*fun(NODE*h) {NODE*p,*q,*r; p=h; if(p==NULL) returnNULL; q=p->next; p->next=NULL; while(q) { /**********found**********/ r=q->NODE; q->next=p; p=q; /**********found**********/ q=r; } returnp; } NODE*creatlist(inta[]) {NODE*h,*p,*q;inti; h=NULL; for(i=0;i {q=(NODE*)malloc(sizeof(NODE)); q->data=a[i]; q->next=NULL; if(h==NULL)h=p=q; else{p->next=q;p=q;} } returnh; } voidoutlist(NODE*h) {NODE*p; p=h; if(p==NULL)printf("ThelistisNULL! \n"); else {printf("\nHead"); do {printf("->%d",p->data);p=p->next;} while(p! =NULL); printf("->End\n"); } } main() {NODE*head; inta[N]={2,4,6,8,10}; head=creatlist(a); printf("\nTheoriginallist: \n"); outlist(head); head=fun(head); printf("\nThelistafterinverting: \n"); outlist(head); } 4.给定程序中,函数fun的功能是: 判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。 "回文"是正读和反读都一样的字符串(不区分大小写字母)。 例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #include intfun(char*s) {char*lp,*rp; /**********found**********/ lp=s; rp=s+strlen(s)-1; while((toupper(*lp)==toupper(*rp))&&(lp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言上机 程序填空 语言 上机 程序 填空
![提示](https://static.bdocx.com/images/bang_tan.gif)