国家二级C语言编程题库题目.doc

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

编程题 考试做题要求: 1、按题目要求编写部分代码,不要改动已经有的代码。 2、在运行时如果遇到死循环,按Ctrl+Break键结束运行。 3、题目做完后必须要有运行结果,没有运行结果没有分。 1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.h #include string.h #define N 80 void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */ { int i; char t; t=w[0]; for(i=0;istrlen(w)-1;i++) w[i]=w[i+1]; w[strlen(w)-1]=t; } void fun(char *w, int m) /*可调用fun1函数左移字符 */ { } main() { char a[N]= ABCDEFGHIJK; int m; printf(The original string:\n);puts(a); printf(\n\nEnter m: );scanf(%d,m); fun(a,m); printf(\nThe string after moving:\n);puts(a); printf(\n\n); NONO(); } NONO() {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */ FILE *rf, *wf ; char a[N] ; int m, i ; rf = fopen(c:\\test\\in.dat,r) ; wf = fopen(c:\\test\\out.dat,w) ; for(i = 0 ; i 10 ; i++) { fscanf(rf, %d %s, m, a) ; fun(a, m) ; fprintf(wf, %s\n, a) ; } fclose(rf) ; fclose(wf) ; } 2、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 例如,输入的分数是60 69, 则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.h #define N 16 typedef struct { char num[10]; int s; } STREC; int fun( STREC *a,STREC *b,int l, int h ) { } main() { STREC s[N]={{GA005,85},{GA003,76},{GA002,69},{GA004,85},{GA001,96}, {GA007,72},{GA008,64},{GA006,87}, {GA015,85},{GA013,94},{GA012,64}, {GA014,91},{GA011,90},{GA017,64}, {GA018,64},{GA016,72}}; STREC h[N],tt;FILE *out ; int i,j,n,low,heigh,t; printf(Enter 2 integer number low heigh : ); scanf(%d%d, low,heigh); if ( heigh low ){ t=heigh;heigh=low;low=t; } n=fun( s,h,low,heigh ); printf(The students data between %d--%d :\n,low,heigh); for(i=0;in; i++) print

文档评论(0)

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

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

1亿VIP精品文档

相关文档