计算机C语言二级上机试题.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机C语言二级上机试题

56号试题 程序填空题 人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 #include stdio.h #include string.h #define N 8 typedef struct { char num[10]; int year,month,day ; }STU; /**********found**********/ 【1】 fun(STU *std, char *num) { int i; STU a={,9999,99,99}; for (i=0; iN; i++) /**********found**********/ if( strcmp(【2】,num)==0 ) /**********found**********/ return (【3】); return a; } main() { STU std[N]={ {111111,1984,2,15},{222222,1983,9,21},{333333,1984,9,1}, {444444,1983,7,15},{555555,1984,9,28},{666666,1983,11,15}, {777777,1983,6,22},{888888,1984,8,19}}; STU p; char n[10]=666666; p=fun(std,n); if(p.num[0]==0) printf(\nNot found !\n); else { printf(\nSucceed !\n ); printf(%s %d-%d-%d\n,p.num,p.year,p.month,p.day); } } 【参考答案】 (1) STU  (2) std[i].num  (3) std[i] 【考点分析】 本题考查:if条件表达式;比较字符串函数strcmp;指针变量的使用;函数定义及函数返回值。 strcmp函数用来比较两个字符数组的大小,其格式为:strcmp(字符数组1,字符数组2)。若字符数组1字符数组2,函数值大于0(正数);若字符数组1=字符数组2,函数值等于0;若字符数组1字符数组2,函数值小于0(负数)。 【解题思路】 填空1:根据函数fun的返回值类型可知,函数类型标识符应该是结构体类型的,所以填入STU。 填空2:根据题目说明,找出指定编号人员,并将其数据返回。通过strcmp函数比较编号,若相同则函数值为0,所以填入std[i].num。 填空3:由题目可知,假如编号对应,则返回其编号对应数据,所以填入数据std[i]。 二.程序改错题 下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数返回值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3. 请改正程序中的错误,使它能得出正确的结果。 #include stdlib.h #include conio.h #include stdio.h #include string.h int fun (char *s, char *t) {int n; char *p, *r; n=0; while(*s) {p=s; r=t; while (*r) /*************found**************/ if(*r==*p) {r++; p++} else break; /*************found**************/ if(r==\0) n++; s++; } return n; } void main( ) {char s[100], t[100]; int m; system(CLS); printf(\nPlease enter string s: ); scanf(%s,s); printf(\nPlease enter substring t: ); scanf (%s,t); m=fun(s,t); printf(\nThe result is: m=%d\n, m); } 【参考答案】

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档