C上机练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编程题

题一:取出一个十进制正整数中的所有奇数,用这些数字构成一个最小数。

(1)编写函数long fun(long s),其函数功能是取出十进制整数s中所有的奇数数字,用这些数字构成一个最小数,函数返回该数。

(2)编写main函数,接受键盘输入的一个长整形数,用该整数作为实参调用fun函数,输出得到的最小数。

测试数据:876531429 7 5 3 1 9

运行结果:13579

题二:求符合条件的数

找出符合以下条件的Troitsky数:将该数的首位数字移动到末位数字之后得到的数是原数的整数倍。

例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857是Troitsky数。

(1)编写函数int Troitsky(long a[]),其功能是求出1000000以内所有的troitsky数(数字从142875开始),并将它们依次放入a指向的数组中,函数返回找到的troitsky 数的个数。

(2)编写main函数,调用troitsky函数,输出运行结果。

题三:找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2p-1.当p是素数,并且Mp也是素数时,称Mp为默森尼数。例如p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数。

【编程要求】

1、编写函数void Mersenne(long a[],int m),其功能是求出前m个默森尼数并依次将它们

保存到a指向的数组中。

2、编写main函数,调用Mersenne函数找出并保存前7个默森尼数,将运行结果输出到屏

幕及结果文件“学号myf2.out”中。最后将学号也保存到结果文件myf2.out中。

【测试数据与运行结果】

3 7 31 127 8191 131071 524287

【要求】

1.源程序的文件名为myf2.c,输出结果文件名为myf2.out

2.数据文件的打开、使用、关闭均用C语言标准库中函数操作

3.源程序文件和运行结果均需保存到相关学号文件夹中。

题四:找出满足下列条件的整数对(m,n)(1)m小于n;(2)φ(m)= φ(n)=m+n+1,其中φ(m)表示m的所有因子和(包括1和m自身),φ(n)表示n的所有因子和(包括1和m自身)。如,φ(48)=1+2+3+4+6+8+12+16+24+48=124, φ(75)=1+3+5+15+25+75=124,48+75+1=124,因此(48,75)是满足条件的整数对。

【编程要求】

1、编写函数int fun(int n ,int a[][2]),在[1,n]中查找满足上述条件的整数对。若找到则将这

些整数对依次保存到a指向的数组中,函数返回找到的整数对的个数,若找不到则函数

返回0。

2、编写main函数,声明一个二维数组a,接收键盘输入的一个正整数n,用n和数组a作

为实参调用fun函数,将a数组中的结果数据输出到屏幕及结果文件myf2.out中。最后将学号也保存到结果文件myf2.out中。

【测试数据与运行结果】

测试数据:n=200

运行结果:(48,75)

(140,195)

【要求】

1.源程序的文件名为myf2.c,输出结果文件名为myf2.out

2.数据文件的打开、使用、关闭均用C语言标准库中函数操作

3.源程序文件和运行结果均需保存到相关学号文件夹中。

题五:验证10以内的正整数都满足Nocomachns定理。

Nocomachns定理:任一个正整数n的立方一定可以表示为n个连续的奇数之和。例如1^3=1,2^3=3+5, 3^3=7+9+11

【编程要求】

1.编写函数int noco(int n,int *a)。函数功能是验证n的立方可表示为n个连续奇数之和,

若找到这样的表示则将这些连续奇数按从小到大的顺序存放到a指向的数组中并且函数返回1,否则函数返回0.

2.编写main函数。函数功能是声明a,分别用整数1~10及整数a作为实参调用noco,并

将结果数据按如下所示形式输出到屏幕及文件myf2.out中。最后将学号字符串输出到文件myf2.out中。将源程序以f2.c保存

【运行结果】

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

5^3=21+23+25+27+29

6^3=31+33+35+37+39+41

7^3=43+45+45+49+51+53+55

8^3=57+59+61+63+65+67+69+71

9^3=73+75+77+79+81+83+85+87+89

10^3=91+93+95+97+99+101+103+105+107+109

相关文档
最新文档