资源描述:
《扬大C语言上机题.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、设n。是一个给定的正整数。对于i=0,1,2,6……,定义:若nI是偶数,则nI+1=nI/2;若nI是奇数,则nI+1=3nI+1;若nI是1,则序列结束。编写一个voidhailstones(intn),其功能是显示有n产生的所需要的序列。按每行6个数输出该数列中的所有数。编写main函数,在main函数中定义一个整型变量n,。#includevoidhailstones(intn){intj,i=1;printf("Hailstonesgeneratedby%d",n);while(n>1){for(j=0;j<6;j++){printf("%dt",n);
2、if(n==1)break;if(n%2==0)n/=2;elsen=3*n+1;i++;}printf("");}printf("Numberofhailstonesgenerated:%d",i);}main(){intn;scanf("%d",&n);hailstones(n);getch();}编写程序,找出满足条件的整数m在(11,999)之间m,m2,m3均为回文数。设计函数intvalue(longm)判断m是否为回文数。若是,返回值为1,否则为0.编写main函数,求出(11,999)内满足的数。voidmain(){longintm,i,j;for(m=11;m<=
3、999;m++){i=m*m;j=m*m*m;if(value(m)==1&&value(i)==1&&value(j)==1)printf("%ld",m);}getch();}intvalue(longm){longa=0,k;k=m;while(m){a=a*10+m%10;m=m/10;}if(a==k)return1;elsereturn0;getch();}如果一个数及该数的反序数都是素数,则称该数为可逆素数。例如17是素数,17的反序数71也是素数,因此17便是一个可逆素数。编程要求:(1)编写函数以下程序中,函数intf(intm,intn,inta[]),其功能是在
4、[m,n]区间内查找所有可逆素数并将这些素数依次保存到a指向的数组中,函数返回a数组中可逆素数的数目。(2)编写main函数,声明一个足够大的一维数组,并从键盘上输入2个正整数m和n(m#includeintp(intn){inti,j=sqrt(n);for(i=2;i<=j;i++)if(n%i==0)return0;return1;}intconvert(intn){intm=0;while(n>0){m=m*10+n%10;n=n/10;}returnm;}intf(intm,intn,inta[
5、]){inti,j=0;for(i=m;i<=n;i++)if(p(i)&&p(convert(i)))a[j++]=i;returnj;}main(){inti,n,a[50];n=f(50,150,a);for(i=0;i6、数,并将满足该特性的数输出。longfac(intx){longinty=1;for(;x>0;x--)y*=x;returny;}intfacsum(longx){longsum=0;longy;y=x;while(y){sum+=fac(y%10);y/=10;}if(sum==x)return1;elsereturn0;}main(){longi;for(i=1;i<=200000;i++)if(facsum(i))printf("%12ld",i);getch();}1.请编写函数intprimecount(inta[],intm,intn),其功能是:找出[m,n]内的所有质数
7、并依次将它们存储到a指向的一维数组中,函数返回[m,n]内质数的个数。编写main函数,声明一个长度为100的一维数组a,从键盘上输入m和n,用a、m、n作为实在参数调用函数primecount,将结果数组输出到屏幕,并输出[m,n]内质数的个数。2.编写函数intdelnum(chars[]),其功能是:将s指向的字符串中的数字字符删除,函数返回被删除的数字字符的个数。编写main函数,声明一个长度为80的字符型数组item并用下