函数作业及解答
第1题:
编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。 样例输入:15 25 样例输出:5 75
#include
for(i=a;i>0;i--)
if (a%i==0&&b%i==0) { return i; break;} }
int gbs(int a,int b) {int i;
for(i=a;;i++)
if(i%a==0&&i%b==0) { return i; break;} }
int main()
{int a,b,c,d; cin>>a>>b; c=gys(a,b); d=gbs(a,b);
cout< 第2题: 编写函数factors(num, k),函数功能是:求整数num中包含因子k的个数,如果没有该因子则返回0,例如:32=2×2×2×2×2,则factors(32,2)=5。要求输入输出均在主函数中完成。 样例输入:4 2 样例输出:2 样例输入:8 3 样例输出:0 #include num=num/k; a=num%k; } return n;} int main() {int num,k,b; cin>>num>>k; b=factors(num,k); cout< 第3题: 编写函数,函数功能是:计算n的阶乘,要求输入输出均在主函数中完成。 样例输入:5 样例输出:120、 #include for(a=1;a<=n;a++) b=a*b; return b;} int main() {int n,s; cin>>n; s=jc(n); cout< 第4题: 编写函数,函数功能是:计算k以内(包括k)最大的10个(不足10个则是所有的)能被13或17整除的自然数之和。要求输入输出均在主函数中完成。 样例输入:500 样例输出:4622 #include {if(n==0||n==0) {c++; s+=n;} if(c>=10) break;} return s;} int main() {int k,s; cin>>k; s=sum(k); cout< - - 1 - - 函数作业及解答 第5题: 编写函数,函数功能是:根据下列公式求π的值(直到某一项的值小于给定精度e为止),精度e由键盘输入,要求输入输出均在主函数中完成。 样例输入:0.0005 样例输出:3.14058 #include for(k=2;;k++) {s+=a; a=a*(k/(k*2+1)); if(a {double e,p; cin>>e; p=pai(e); cout< 第6题: 编写程序求 要求使用函数,函数功能是:求某个数的阶乘。n由键盘输入,输入输出均在主函数中完成。注意:0!=1。 样例输入:3 样例输出:10 #include {for(i=1;i<=a;i++) s=s*i;} return s;} int main() {int n,k,s; double sum=0; cin>>n; for(k=0;k<=n;k++) {s=jc(k); sum+=s;} cout< 第7题: 求数列 要求使用函数计算该序列的前N项和SN,直到SN 大于q为止,q由键盘输入,输入输出均在主函数中完成。 样例输入:50 样例输出:50.4167、 #include s+=a;} return s;} int main() { float q,s; cin>>q; s=sum(q); cout< - 2 - 函数作业及解答 第8题: 求数列的前n项和 要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。 样例输入:50 样例输出:1.96079 #include for(i=1;i<=n;i++) s+=i; a=1.0/s; return a;} int main() {int n,i; float s=0; cin>>n; for(i=1;i<=n;i++) s+=myx(i); cout< 第9题: 编写函数fun(num),其中num是一个n位数,函数功能是:求整数num的后n-1位,如果num是一位数则返回0,要求输入输出均在主函数中完成。 样例输入:9 样例输出:0 样例输入:6734 样例输出:734 样例输入:1000 样例输出:0 样例输入:10101 样例输出:101 #include else {n=int(log10(x))+1; m=x%int(pow(10,n-1)); a=m;} return a;} int main() {int x,c; cin>>x; c=jw(x); cout< 第10题: 编写函数,函数功能是:判断输入的字符是否为数字字符。如果是,则输出YES,否则输出NO,要求输入输出均在主函数中完成。 样例输入:5 样例输出:YES 样例输入:B 样例输出:NO #include if(n>='0'&&n<='9') flag=1; else flag=0; return flag;} int main() {char n; n=getchar(); if(pdsz(n)==1) cout<<\else cout<<\return 0;} - 3 - 函数作业及解答 第11题: 编写函数,函数功能是:将两个两位数的正整数a、b合并成一个整数c,合并规则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。a、b由键盘输入,输入输出均在主函数中完成。 样例输入:45 12 样例输出:4125 #include g=a; m=b*10; c=q*1000+m+g; return c;} int main() {int a,b,c; cin>>a>>b; c=hb(a,b); cout< 第12题: 求数列的前n项和 要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。 样例输入:10 样例输出:0.382179 #include c=a/b; return c;} int main() {double n,s=0,i,a; cin>>n; for(i=1;i<=n;i++) {a=dx(i); s+=a;} cout< 第13题: 求数列的前n项和 要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。 样例输入:3 样例输出:123 #include a=m; s+=a;} return s;} int main() {int n,i,a,sum=0; cin>>n; for(i=1;i<=n;i++) {a=an(i); sum+=a;}