二级C语言上机部分考前复习资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二级C语言上机部分考前复习资料.doc

全国计算机等级考试二级C语言考前复习资料 上机常见题型汇编 一、填空题(30分)两至三个空 注意:上机考试时要删除填空地方的数字和下划线 如: long fun(int n) { if(___1___) /* 填空时要删除此处的___1___ 此处应该填写if(n1) */ return (n*fun(____2___)); return ___3___; } 常见题型:加下划线的代码是可能考填空的! 累加求和,累乘求阶乘 例如:求1+2!+3!+4!+...+N! long fun(int n) { long s=0,t=1; int i; for(i=1;i=n;i++){ t=t*i; /* t负责求解N! */ s=s+t; /* s负责求和,将每次求解的阶乘都加到s上 */ } return s; } 关键代码解析: 求n的阶乘:for(i=1;i=n;i++) { t=t*i; } 还可以用递归的方法: long fun(int n){ if(n1) return (n*fun(n-1)); return 1; } 其它:1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) double fun(int n) { double sum=0.0; for(i=0;i=n;i++) { t=0.0; for(j=1;j=i;j++) { t=t+j; /*此处主要是求分母的和*/ } sum=sum+(double)1/t; /*求总和*/ } return sum; } 2.素数的判断(除了1和其自身外,不能被任何数整数的数为素数) 判断整数2—n内的所有素数,并将素数输出,返回素数的个数 关键代码: int fun(int n) { int i,j,flag,n=0; for(j=2;jn;j++) { flag=1; /* flag为标志变量,如果最后flag=1,则该数为素 数* / for(i=2;ij;i++)/* 该层循环主要判断每一个数是否为素数*/ if(j%i==0) { flag=0;break; /*只要j正整除i,说明j不是素数,跳出循环*/ } if(flag==1) /* flag=1说明是素数*/ { n++;/*n用于统计素数的个数*/ printf(%d是素数,j); } } return n; } 大小写转化或者大小写字母的判断 例如:将Char ch[50]=AAAbbCCddDDeeHHkkmmZZ;数组中的大写转成小写,小写转成大写 关键代码: for(i=0;ich.length;i++){ if(ch[i]=ach[i]=z) /*判断字母是不是小写*/ ch[i]=ch[i]-32; /*小写转大写,减去32即可*/ else if(ch[i]=Ach[i]=Z) /*判断字母是不是大写*/ ch[i]=ch[i]+32; /*大写转小写,加上32即可*/ } 闰年的判断 判断某一年是不是闰年,关键代码: if(n%4==0n%100!=0||n%400==0) printf(%d为闰年,n); 如果要求出1000-2000年中的所有闰年,则需要在外层套一个for循环 【分析】判断闰年只需要考虑两种情况:(1)年份能被4整除但不能被100整除(2)年份能被400整除 求一组数的中的最大数和最小数 void fun(int n,int x[]) { int max,min,i; max=min=x[0];/*先假设第一个数既是最大数,也是最小*/ for(i=0;in;i++) { if(x[i]max) max=x[i]; /*将所有的最大数存放在max中*/ if(x[i]min) min=x[i]; /*将所有的最小数存放在min中*/ } printf(最大数为:%d,最小数为:%d,max,min); } 6.逆转(将字符串中的字符逆转或者把数组中的元素逆转) 关键代码分析: void fun(char *str) { int i,j,k; j=strlen(str)-1; /*strlen(ch)是求出字符串的长度,减1是为 了定位到最后一个字符*/ for(i=0;ij;i++,j--) { k=str[i];str[i]=str[j];str[j]=k; /*互换首尾的字符,实现逆转*/ } pri

文档评论(0)

juhui05 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档