c语言上机实验题

发布时间 : 星期二 文章c语言上机实验题更新完毕开始阅读

41, 43 59, 61 71, 73

#include #include int prime(int i) {int k;

for(k=2;k

int twinborn(int a[][2],int m,int n) { int k=0,i;

for(i=m;i<=n-2;i+=1) if(prime(i)&&prime(i+2)) a[k][0]=i,a[k][1]=i+2,k++; return k; }

main()

{ int a[100][2],m,n,i;

printf(\ scanf(\ m=twinborn(a,m,n); for(i=0;i

printf(\ getch(); }

15.以下程序欲实现从键盘输入一个较大的整数n(n>=6),然后验证6到n之间的所有偶数都可以分解为两个质数之和。但程序有些错误,请改正这些错误以达到要求的功能。

【含有错误的源程序】

#include \void main() {

int k,j,n,limit; do

printf(\ scanf(\ while(limit<6);

for(n=6;n<=limit;n+=2) for(k=3;k<=n/2;k+=2) if(prime(k)) { j=n-k;

if(prime(j))

{ printf(\ continue; } } }

int prime(int m) {

int g,h; h=sqrt(m); for(g=2;g<=h;g++) if(m%g==0)

return 0;

else

return 1;

}

#include \#include void main()

{ int k,j,n,limit; do

{printf(\ scanf(\ while(limit<6);

for(n=6;n<=limit;n+=2) {for(k=3;k<=n/2;k+=2) {if(prime(k)) { j=n-k;

if(prime(j))

{ printf(\ continue; } } }

}getch(); }

int prime(int m) {

int g,h; h=sqrt(m); for(g=2;g<=h;g++) if(m%g==0) return 0; return 1; }

16.请编写程序,找出满足如下条件的整数m:(1)该数在[11,999]之内;(2) m、m2、m3

均为回文数。例如m=11,m2=121,m3=1331,11、121、1331皆为回文数,故m=11是满足条件的一个数。请设计函数int value(long m),其功能是判断m是否是回文数,如是,该函数返回值1,否则返回值0。编写main函数,求出[11,999]内满足条件的所有整数。

#include int value(long m); void main() {

long m,n;

for(n=11;n<=999;n++) {m=n;

if(value(m)) m=n*n;

if(value(m)) m=n*n*n; if(value(m)) printf(\ } getch(); }

int value(long m) { long a=0,b; b=m; while(m) {

a=a*10+m; m=m/10; }

if(a==b) return 1; return 0; }

54. 请编写函数int palindrome(long *a,long m,long n),其功能是找出[m,n]内的所有回文数(回文数:顺读倒读其值都相同的数,例如12321),函数返回[m,n]内回文数的个数。编写main函数,声明一个长度为1000的长整型数组a,从键盘输入长整型数m和n,用a、m、n作为实在参数调用函数palindrome,将结果数组输出至屏幕,并输出符合条件数的个数。例如,若m=100 n= 500,则输出结果为: 101 111 121 131 141 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444

454 464 474 484 494 count=40

#include

int palindrome(long *a,long m,long n) {

long x,y,i=0,k;

for(x=m;x<=n;x++) { k=0; y=x; while(y)

{k=k*10+y; y=y/10;} if(k==x) a[i++]=x; }

return i; }

main() {

long a[1000],m,n,i,count; printf(\

scanf(\ count=palindrome(a,m,n); for(i=0;i

printf(\ if((i+1)%5==0) printf(\ }

printf(\ getch(); }

17. 请按要求编写程序。编程要求:

(1)编写函数long Fibonacci(int n),其功能是:求Fibonacci数列中大于t 的最小的一个数,函数返回该数。下列数列为Fibonacci数列:1,1,2,3,5,8,13,21,……,即从第3项开始,每一项均为前两项的和。

(2)编写main函数,从键盘上输入一个整数t,用t作为实在参数调用Fibonacci函数,并输出调用结果。

例如,当t=1000时,输出为1597。 #include

long Fibonacci(long int n); main()

联系合同范文客服:xxxxx#qq.com(#替换为@)