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文档。上传文档
查看更多
第1题: 编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。 样例输入:15 25 样例输出:5 75 程序如下 #includeiostream.h int main() { int m,n; int gys(int,int); //声明函数 int gbs(int,int); //声明函数 cinmn; coutgys(m,n) gbs(m,n); } int gys(int a,int b) { int r; r=a%b; while(r!=0) { a=b;b=r;r=a%b; } return b; } int gbs(int a,int b) { int gys(int,int); //声明函数 return (a*b)/gys(a,b); } 第2题: 编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。要求输入输出均在主函数中完成。 样例输入:4647 3 样例输出:6 样例输入:23523 7 样例输出:0 程序如下:方法一: #includeiostream.h int main() { int num,k; int digit(int,int); //声明函数 cinnumk; coutdigit(num,k); } int digit(int num,int k) { int i,f; i=1; f=0;//f=0,num不足k位,否则f=1 while(num!=0) { if(i==k) { f=1; break; } else { num=num/10; i++; } } if(f==1) return num%10; else return 0; } 程序如下:方法二: #includeiostream.h int main() { int num,k; int digit(int,int); //声明函数 cinnumk; coutdigit(num,k); } int digit(int num,int k) { int i,n,a[100]; /*将num中的各位数字从个位开始依次取出置于数组元素a[0]至a[i-1]中 循环结束后,i变量中存储了num的数据位数*/ i=0; while(num!=0) { a[i]=num%10; num=num/10; i++; } if(i=k) return a[k-1]; else return 0; } 第3题: 哥德巴赫猜想指出:任何一个不小于6的偶数都可以表示为两个素数之和。例如:6=3+3 8=3+5 … 50=3+47。从键盘输入n(n=6且为偶数),输出对应的表达式,要求编写函数判断一个数是否为素数。 样例输入:8 样例输出:8=3+5 程序如下: #include iostream.h int main() { int n,n1,n2,hs=0; int prime(int); cinn; for(n1=3;n1=n/2;n1+=2) { if(prime(n1)==1) { n2=n-n1; if(prime(n2)==1) { coutn=n1+n2endl; break; } } } } //判断n是否是素数,若是,返回1,否返回0 int prime(int n) { int gs=0,i; for(i=1;i=n;i++) if(n%i==0) gs++; if(gs==2) return 1; else return 0; } 第4题: 编写函数,将字符串中的大写字母变成对应的小写字母,小写字母变成对应的大写字母,其它字符不变。在主函数中调用该函数,完成任意字符串的转换,并输出结果。输入字符串(允许包含空格),输出处理后的结果。 样例输入:How Are You?? 样例输出:hOW aRE yOU?? 程序如下: #include stdio.h int main() { char a[30]; void zh(char []); //函数声明 gets(a); //字串允许包含空格,所以用gets输入 zh(a); puts(a); } void zh(char t[]) { int i; for(i=0;t[i]!=0;i++) if(t[i]=at[i]=z)

文档评论(0)

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

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

1亿VIP精品文档

相关文档