C函数编程20道习题汇总含其详细程序解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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< return 0;} 第2题: 编写函数factors(num, k),函数功能是:求整数num中包含因子k的个数,如果没有该因子则返回0,例如:32=2×2×2×2×2,则factors(32,2)=5。要求输入输出均在主函数中完成。 样例输入:4 2样例输出:2 样例输入:8 3样例输出:0 #include a=num%k; while(a==0) {n++; num=num/k; a=num%k; } return n;} int main() {int num,k,b; cin>>num>>k; b=factors(num,k); cout< return 0; } 第3题: 编写函数,函数功能是:计算n的阶乘,要求输入输出均在主函数中完成。样例输入:5样例输出:120、 #include {int a,b=1; for(a=1;a<=n;a++) b=a*b; return b;} int main() {int n,s; cin>>n; s=jc(n); cout< return 0; } 第4题: 编写函数,函数功能是:计算k以内(包括k)最大的10个(不足10个则是所有的)能被13或17整除的自然数之和。要求输入输出均在主函数中完成。 样例输入:500样例输出:4622 #include { int n,c=0,s=0; for(n=k;n>0;n--) {if(n%13==0||n%17==0) {c++; s+=n;} if(c>=10) break;} return s;} int main() {int k,s; cin>>k; s=sum(k); cout< return 0; } 第5题: 编写函数,函数功能是:根据下列公式求π的值(直到某一项的值小于给定精度e为止),精度e由键盘输入,要求输入输出均在主函数中完成。 样例输入:0.0005 样例输出:3.14058 #include double pai(double e) {double s,a,k,p; s=1; a=1/3.0; for(k=2;;k++) {s+=a; a=a*(k/(k*2+1)); if(a p=s*2; return p;} int main() {double e,p; cin>>e; p=pai(e); cout< return 0;} 第6题: 编写程序求 要求使用函数,函数功能是:求某个数的阶乘。n由键盘输入,输入输出均在主函数中完成。注意:0!=1。 样例输入:3 样例输出:10 #include int jc(int a) {int s=1,i; if(a==0) s=1; else {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< return 0;} 第7题: 求数列 要求使用函数计算该序列的前N项和S N,直到S N 大于q为止,q由键盘输入,输入输出均在主函数中完成。 样例输入:50 样例输出:50.4167、 #include float sum(float q) {float s=0,a,n; for(n=1;s<=q;n++) {a=(n+1.0)/n; s+=a;} return s;} int main() { float q,s; cin>>q; s=sum(q); cout< return 0;} 第8题: