sdut-程序设计基础Ⅰ-实验7-函数(函数题)
6-1 sdut-C语言实验-计算组合数分数 10作者 马新娟单位 山东理工大学计算组合数。C(n,m),表示从n个数中选择m个的组合数。计算公式如下若m0C(n,m)1否则 若 n1C(n,m)1否则若mnC(n,m)1否则 C(n,m) C(n-1,m-1) C(n-1,m).函数接口定义在这里描述函数接口。例如int fun(int n,int m)其中n和m都是用户传入的参数(0 m n 20)。裁判测试程序样例▾▾#include stdio.h#include stdlib.hint fun(int n,int m);int main(){int t,n,m,i;scanf(%d,t);for(i1;it;i){scanf(%d %d,n,m);printf(%d\n,fun(n,m));}return 0;}/* 请在这里填写答案 */输入样例在这里给出一组输入。例如32 13 24 0输出样例在这里给出相应的输出。例如231实现代码int fun(int n,int m){ if(m0) return 1; else if(n0) return 1; else if(mn) return 1; else return fun(n-1,m-1)fun(n-1,m); }6-2 sdut- C语言实验——矩阵下三角元素之和分数 10作者 马新娟单位 山东理工大学输入一个正整数n1n10),再输入n*n的矩阵要求求该矩阵的下三角元素之和。函数接口定义int f(int (*p)[10],int n)其中p和n都是用户传入的参数。p的值为地址n是[1, 10]区间内的个位数。函数需要返回求和后的数据。裁判测试程序样例▾▾▾▾#includestdio.hint f(int (*p)[10],int n)int main(){int n,i,j,sum;int a[10][10];scanf(%d,n);for(i0; in; i){for(j0; jn; j){scanf(%d,a[i][j]);}}sumf(a,n);printf(%d,sum);return 0;}/* 请在这里填写答案 */输入样例51 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 9输出样例75实现代码int f(int (*p)[10],int n){ int sum0; for(int i0;in;i){ for(int j0;ji;j){ sump[i][j]sum; } } return sum; }6-3 sdut-C语言实验- N!分数 12作者 马新娟单位 山东理工大学给出两个数 n, m。求和。计算公式输入数据有多组数据组数不超过 250到 EOF 结束。对于每组数据输入两个用空格隔开的整数 n, m (0 m n 20) 。对于每组数据输出一行和用空格隔开。提醒因为n!和 m! 数据较大定义数据类型应用 long long int输出格式%lld函数接口定义long long int f(long long int n);其中n是用户传入的参数。函数须返回n的值。裁判测试程序样例▾▾#include stdio.hlong long int f(long long int n);int main(){long long int n,m,i;while(~scanf(%lld %lld,n,m)){long long int a,c;af(n)/f(n-m);cf(n)/f(n-m)/f(m);printf(%lld %lld\n,a,c);}return 0;}/* 请在这里填写答案 */输入样例在这里给出一组输入。例如1 15 34 3输出样例在这里给出相应的输出。例如1 160 1024 4实现代码long long int f(long long int n){ long long int sum1; long long int i; for(i1;in;i){ sumsum*i; } return sum; }6-4 sdut-C语言-使用函数验证哥德巴赫猜想分数 8作者 马新娟单位 山东理工大学本题要求实现一个判断素数的简单函数并利用该函数验证哥德巴赫猜想任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。输入一个不小于6的偶数n找出两个素数使它们的和为n。注意1不是素数2是素数。函数接口定义int isPrime( int x );void Goldbach( int n );其中函数isPrime当用户传入参数x为素数时返回1否则返回0函数Goldbach按照格式“npq”输出n的素数分解其中p≤q均为素数。又因为这样的分解不唯一例如24可以分解为519还可以分解为717要求必须输出所有解中p最小的解。裁判测试程序样例▾#include stdio.hint isPrime( int x );void Goldbach( int n );int main(){int n;scanf(%d,n);if(n%20)Goldbach( n );return 0;}/* 请在这里填写答案 */输入样例80输出样例80773实现代码int isPrime(int x){ if(x1) return 0; for(int i2;i*ix;i){ if(x%i0) return 0; } return 1; } void Goldbach(int n){ if(n%2!0||n6) return 0; else { for(int p3;pn;pp2){ if(isPrime(p)1isPrime(n-p)1){ printf(%d%d%d,n,p,n-p); break; } } } }6-5 sdut-C语言实验- 求数列的和分数 12作者 马新娟单位 山东理工大学数列的定义如下 数列的第一项为n以后各项为前一项的平方根求数列的前m项的和。提示因为自定义函数中用到数学函数因此本题目的提交答案需要包括头文件在内的主函数和自定义函数。函数接口定义double s(double n,int m);其中n和m都是用户传入的参数。n的值不超过double的范围m的值不超过int的范围。函数须返回数列前m项的和。提示本题需要在自定义函数中使用sqrt()数学函数因此在填写答案时需要提交完整的程序既题目已经给定的代码部分和需要填写的答案部分。裁判测试程序样例▾▾▾#include stdio.h#include math.hdouble s(double n,int m);int main(){int a,b,m,i;double sum,n;while (scanf(%lf %d,n,m)!EOF){sums(n,m);printf(%.2lf\n,sum);}return 0;}/* 请在这里填写答案 */输入样例81 42 2输出样例94.733.41实现代码#include stdio.h #include math.h double s(double n,int m){ double sum0; int i; for(i1;im;i){ sumsumn; nsqrt(n); } return sum; } int main() { int a,b,m,i; double sum,n; while (scanf(%lf %d,n,m)!EOF) { sums(n,m); printf(%.2lf\n,sum); } return 0; }6-6 递归实现顺序输出整数分数 15作者 张高燕单位 浙大城市学院本题要求实现一个函数对一个整数进行按位顺序输出。函数接口定义void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来每位数字占一行。裁判测试程序样例▾#include stdio.hvoid printdigits( int n );int main(){int n;scanf(%d, n);printdigits(n);return 0;}/* 你的代码将被嵌在这里 */输入样例12345输出样例12345实现代码void printdigits(int n){ int a[10000]; int i1; if(n0) { printf(%d,0); return 0; } int sum0,tn; while(n){ tn%10; nn/10; sum; a[i]t; } for(int isum;i1;i--){ printf(%d\n,a[i]); } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416645.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!