中期筛选程序.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文档。上传文档
查看更多
中期筛选程序

2-1 /* 本程序中的函数factor用来计算正整数m(m2)的除自身以外的 所有不同因子的和,该函数返回因子和,并把各因子从小到大依次存放 在数组fac中,其因子个数存入在cp所指的变量中。eg:16的因子为 (1,2,4,8),因子之和为15 */ #includestdio.h #define N 100 long factor(int m,int fac[],int *cp) { int c1,c2,i,k; long s; fac[0]=1; for(c1=s=1,c2=N-1,i=2;;)//位置【1】 { k=m/i; if(m%i==0) //位置【2】 { fac[c1++]=i; if(ik) fac[c2--]=k; //位置【3】 s+=i; } i++; if(ik) break; } for(c2++;c2=N-1;c2++) { fac[c1++]=fac[c2]; //位置【4】 s+=fac[c2]; //位置【5】 } *cp=c1; return s;//位置【6】 } //主函数 void main() { int i,m,a[N],n=0; long s; printf(please enter a number:); scanf(%d,m); s=factor(m,a,n); printf(\n %d 的因子有:\n,m); for(i=0;in;i++) printf(%4d,a[i]); printf(\n因子之和为:%ld\n,s); } 2-2 /* maxindex函数是求数组的最大元素,及其下标*/ #includestdio.h #define MAXLINE 1000 int maxindex(int a[],int *index) { int i,n; do { printf(please input n\n); scanf(%d,n); }while(nMAXLINE);//位置【7】 for(i=0;in;i++) { printf(请输入数据:); scanf(%d,a+i); } *index=0; //位置【8】 for(i=1;in;i++) if(a[i]a[*index]) *index=i; //位置【9】 return a[*index]; //位置【10】 } void main() { int a[MAXLINE],maxj,max; max=maxindex(a,maxj); printf(\n数组的最大值的角标为%d\n,maxj); printf(\n数组的最大值为%d\n,max); } 5-1 /* 函数palindprome的功能是判断字符串s是否为回文,若是则返回0,否则返回-1. 若一个字符串顺读和倒读都一样,称该字符串是回文字符串,例如:level */ #includestdio.h #includestring.h int palindprome(char s[]) { char *p1,*pj; p1=s; pj=s+strlen(s)-1; while(p1pj*p1==*pj)// 位置【1】 { p1++; pj--; } if(p1pj) //若果p1=pj,则是回文 位置【2】 return -1; else return 0; } void main() { int i; char s[100]; printf(输入字符串:); gets(s); i=palindprome(s); if(i==0) printf(输入的是回文\n); else printf(输入的不是回文\n); } 5-2 /*函数f的功能是将非空字符串str分割为若干个子字符串并输出 .del表示分割时的标志字符。例如若str的值为3312333435 如分隔符del为3则;分割为12 4 5 */ #includestdio.h #includestring.h void f(char *str,char del) { int i,j,len; len=strlen(str); i=0; while(ilen) { while(str[i]==del) //位置【3】 i++;//忽略连续的标志位字符 j=i+1; //寻找从str[i]开始直到标志字符出现的一个子字符串 while(str[j]!=\0

文档评论(0)

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

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

1亿VIP精品文档

相关文档