15c语言条编程题.docx
《15c语言条编程题.docx》由会员分享,可在线阅读,更多相关《15c语言条编程题.docx(21页珍藏版)》请在冰豆网上搜索。
15c语言条编程题
0. 请编写函数floatfun(floatx,intn),其功能是保留实数x小数点后n位,小数点后第n+1位四舍五入。
编写main函数,对从键盘上输入的任一实数x和整数n,调用函数fun,输出四舍五入后的数据。
1. 请编写函数intfun(inta[]),其功能是:
在三位数(100至999)中寻找符合下列条件的整数并按从小到大的顺序存入a指向的数组中,条件为:
它是一个完全平方数,且有两位数字相同(例如144、676是满足条件的数),函数返回满足条件的该类数的个数。
编写main函数,定义一个长度为100的整型数组a,用a作为实在参数调用函数fun,将满足条件的依次存入a数组中,输出在给定范围内满足条件的数及这类数的个数。
2. 编写函数voidfun(inta[],intn),其功能是生成一个数列的前n项。
该数列的第一、二项分别为2、3,以后每个下标为奇数的项是前两项之和,下标为偶数的项是前两项之差(前项减后项)。
把生成的数列中的每个数依次存储到形参a所指向的数组中。
编写main函数,声明一长度为100的一维数组,并从键盘上输入待生成的数列的项数n,用a和n作为实在参数调用函数fun,按每行5个数的格式将该数列的前n项输出到屏幕。
3. 请编写函数intfun(intx[],intm,intn),其功能是:
求出m到n中满足条件:
千位上的数加上个位上的数等于百位上的数加十位上的数。
将这些数依次存储到x所指向的数组中,函数返回满足条件的数的个数。
编写main函数,声明一长度为1000的一维数组,并从键盘上输入m和n的值,用a、m、n作为实在参数调用函数fun。
调试程序时,请输入m和n的值分别为5000和6000,以每行5个输出满足条件的数及该类数的个数。
4. 请编写函数intfun(intx[],intm,intn),其功能是:
求出m到n中满足条件千位上的数减百位上的数减十位上的数减个位上的数大于零的数,将这些数依次存储到x所指向的数组中,函数返回满足条件的数的个数。
编写main函数,声明一长度为1000的一维数组,并从键盘上输入m和n的值,用a、m、n作为实在参数调用函数fun。
调试程序时,请输入m和n的值分别为5000和6000,以每行5个输出满足条件的数及该类数的个数。
5. 请编写函数voidfun(inta[],intn),其功能是:
生成并一个数列的前20项。
该数列的第一、二项分别为2、3,其后继项按下列规则生成:
若前两项的乘积是一位数,则取该乘积为后继项;若前两项的乘积是二位数,则取该乘积的十位数字和个位数字依次作为数列的两个后继项。
编写main函数,声明一个足够大的数组a(数组长度为100),并从键盘上输入待生成数列中元素的个数n,用a和n作为实在参数调用函数fun,按每行5个依次输出数列中的各数。
6. 请编写voidselsort(inta[],intn)函数,其功能是用直接选择排序算法对待排序数据进行从小到大排序。
编写main函数,声明一个一维数组并用测试数据初始化,调用selsort函数实现将数组中的第3至第8个元素按从小到大排序。
例如,当测试数据为:
6891216-390-9101,则输出结果为68-9-39121690101。
7. 请编写函数intprimecount(inta[],intm,intn),其功能是:
找出[m,n]内的所有质数并依次将它们存储到a指向的数组中,函数返回[m,n]内质数的个数。
编写main函数,声明一个长度为100的一维数组a,从键盘上输入m和n,用a、m、n作为实在参数调用函数primecount,将结果数组输出到屏幕,并输出[m,n]内质数的个数。
8.编写函数intdelnum(chars[]),其功能是:
将s指向的字符串中的数字字符删除,函数返回被删除的数字字符的个数。
编写main函数,声明一个长度为80的字符型数组item并用测试数据初始化,用item作为实在参数调用函数delnum,输出结果字符串及被删除的数字字符的个数。
例如,测试数据为:
my2009xy3com+,则输出结果为:
myxycom+,5。
9. 请编写函数intpalindrome(long*a,longm,longn),其功能是找出[m,n]内的所有回文数(回文数:
顺读倒读其值都相同的数,例如12321),函数返回[m,n]内回文数的个数。
编写main函数,声明一个长度为1000的长整型数组a,从键盘输入长整型数m和n,用a、m、n作为实在参数调用函数palindrome,将结果数组输出至屏幕,并输出符合条件数的个数。
例如,若m=100n=500,则输出结果为:
101111121131141
151161171181191
202212222232242
252262272282292
303313323333343
353363373383393
404414424434444
454464474484494
count=40
10. 请编写函数inttwinborn(inta[][2],intm,intn),其功能是找出[m,n]中的所有孪生质数对(相差为2的两个质数称为孪生质数),并依次将每对孪生质数写到a指向的二维数组的每一行中。
编写main函数,声明一个100×2的二维数组a,并从键盘上输入m和n的值,用a、m、n作为实在参数调用函数twinborn,将结果数组以行为单位输出至屏幕。
例如,测试数据和运行结果如下:
inputtwonumbers:
10100
11,13
17,19
29,31
41,43
59,61
71,73
11. 编程要求:
(1)请编写函数intfun(inta[][3]),其功能是:
找出符合下列命题的所有3位数:
“若一个三位数是37的倍数,则将这个三位数的三个数字循环移位得到另两个三位数也是37的倍数”。
例如,148是37的倍数,481和814也都是37的倍数。
将满足条件的三位数及其循环移位后得到的另2个三位数依次写到形参a指向的二维数组中,函数返回三位数的组数(注意:
尽量做到已经输出过的数,下次就不再输出。
例如:
148,481,841三个数算作一组)。
(2)编写main函数,声明一个300×3的二维数组a,用a作为实在参数调用函数fun,输出所有满足上述条件的三位数。
输出时,每组数据占一行。
12.请编写程序,其功能是:
计算 s=s1+s2+s3+s4的值,其中:
s1=1+1/2+1/3+....+1/m
s2=1+1/22+1/32+....+1/m2
s3=1+1/23+1/33+....+1/m3
s4=1+1/24+1/34+....+1/m4
计算当m取值50时上述算式的值近似等于。
13. 请编写一个程序,其功能是:
求出一对自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE。
其中S、I、X、N、E各代表一个十进制数字。
14. 编写程序,其功能是:
求Fibonacci数列中大于t的最小的一个数。
例如,当t=1000时,函数值为1597。
15. 请编写程序,其功能是:
计算正整数n的所有因子(1和n除外)之和。
例如,n=120时,函数值为239。
000000000000000000000000000
#include""
#include""
floatfun(floatx,intn)
{
inti,t=1;
for(i=0;it=t*10;
x=(int)(x*t+;
x=(float)x/t;
returnx;
}
main()
{intn;
floatx;
scanf("%f,%d",&x,&n);
x=fun(x,n);
printf("%f",x);
getch();
}
--------------------
#include""
#include""
#include""
#defineN100
intfun(inta[])
{
inti,m=0,x,y,z,t;
for(i=100;i<1000;i++)
{t=sqrt(i);
if((int)t*t==i)
{
x=i%10,y=i/10%10,z=i/100;
if(x!
=y&&y!
=z&&z!
=x||x==y&&y==z&&z==x);
else
{a[m]=i;
m++;
}
}
}returnm;
}
main()
{inta[N],i,m;
m=fun(a);
for(i=0;iprintf("%4d",a[i]);
printf("\n%4d",m);
getch();
}
2-------------
#include""
#include""
#include""
#defineN100
voidfun(inta[],intn)
{
inti;
a[0]=2,a[1]=3;
for(i=2;i{if(i%2==0)
a[i]=a[i-2]-a[i-1];
else
a[i]=a[i-2]+a[i-1];
}
}
main()
{
inta[N],i,n,sum=0;
scanf("%d",&n);
fun(a,n);
for(i=0;i{
if(sum%5==0)
printf("\n%d",a[i]);
else
printf("%5d",a[i]);
sum++;
}getch();
}
3-33333--------------
#include""
#include""
#include""
#defineN1000
intfun(intx[],intm,intn)
{
inti,a,y,z,q,t=0;
for(i=m;i<=n;i++)
{
a=i%10;
y=i/10%10;
z=i/100%10;
q=i/1000;
if((q+a)-(y+z)==0)
{
x[t]=i;
t++;
}
}returnt;
}
main()
{intx[N],m,n,i,sum=0;
scanf("%d,%d",&m,&n);
m=fun(x,m,n);
for(i=0;i{
if(sum%5==0)
printf("\n%d",x[i]);
else
printf("%7d",x[i]);
sum++;
}getch();
}
4
/*--Hello,world*/
#include""
#include""
#include""
#defineN1000
intfun(intx[],intm,intn)
{
inti,a,y,z,q,t=0;
for(i=m;i<=n;i++)
{
a=i%10;
y=i/10%10;
z=i/100%10;
q=i/1000;
if(q-a-y-z>=0)
{
x[t]=i;
t++;
}
}returnt;
}
main()
{intx[N],m,n,i,sum=0;
scanf("%d,%d",&m,&n);
m=fun(x,m,n);
for(i=0;i{
if(sum%5==0)
printf("\n%d",x[i]);
else
printf("%7d",x[i]);
sum++;
}getch();
}
55
#include""
#include""
#include""
#defineN100
voidfun(inta[],intn)
{
inti,t;
a[0]=2,a[1]=3;
for(i=2;i<20;i++)
{
t=a[i-2]*a[i-1];
if(t<10)
a[i]=t;
else
{
a[i++]=t/10;
a[i]=t%10;
}
}
}
main()
{inta[N],n,i,sum=0;
fun(a,n);
scanf("%d",&n);
for(i=0;i{
if(sum%5==0)
printf("\n%d",a[i]);
else
printf("%4d",a[i]);
sum++;
}getch();
}
6666
#include""
#include""
#include""
#defineN99
voidselsort(inta[],intn)
{
inti,j,t;
for(i=2;i<7;i++)
for(j=i+1;j<8;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
main()
{
inta[10]={6,8,9,12,16,-3,90,-9,10,1},n,i;
selsort(a,n);
for(i=0;i<10;i++)
printf("%4d",a[i]);
getch();
}
7
#include""
#include""
#include<>
#defineN100
intprimecount(inta[],intm,intn)
{
inti,j,t=0,h,w;
for(i=m;i<=n;i++)
{w=2;
h=sqrt(i);
for(j=2;j<=h;j++)
{
if(i%j!
=0)
w++;
}
if(w>h)
a[t++]=i;
}returnt;
}
main()
{
inta[N],i,m,n,sum;
scanf("%d,%d",&m,&n);
sum=primecount(a,m,n);
for(i=0;iprintf("%4d",a[i]);
getch();
}
888
#include""
#include""
#defineN100
intdelnum(chars[])
{
inti,j,sum=0;
for(i=0,j=0;s[i]!
='\0';i++)
if(s[i]>='0'&&s[i]<='9')
{
sum++;
for(j=i--;s[j]!
='\0';j++)
s[j]=s[j+1];
}
s[i]='\0';
returnsum;
}
main()
{
chars[N]={"my2009mxy3com+"};
intsum;
sum=delnum(s);
puts(s);
printf("%d",sum);
getch();
}
999999
#include""
#include""
#include<>
longpalindrome(longa[],longm,longn)
{
longi,t,j=0,count=0,w;
for(i=m;i<=n;i++)
{
w=0;
t=i;
while(t>0)
{
w=w*10+t%10;
t/=10;
}
if(w==i)
{
a[j++]=i;
count++;
}
}returncount;
}
main()
{
longa[1000],m,n,i,count,sum=0;
scanf("%ld,%ld",&m,&n);
count=palindrome(a,m,n);
for(i=0;i{
if(sum%5==0)
printf("\n%d",a[i]);
else
printf("%7d",a[i]);
sum++;
}
printf("\ncount=%ld",count);
getch();
}
00000000000000000000
#include""
#include""
#include<>
inttwinborn(inta[][2],intm,intn)
{
inti,t,j=0,x,y;
for(i=m;i<=n-2;i++)
{
x=prime(i);
y=prime(i+2);
if((x==0)&&(y==0))
{
a[j][0]=i;
a[j++][1]=i+2;
}
}returnj;
}
intprime(intm)
{
intg,h;
h=sqrt(m);
for(g=2;g<=h;g++)
if(m%g==0)
return1;
return0;
}
main()
{
inta[1000][2],m,n,i,count;
scanf("%d,%d",&m,&n);
count=twinborn(a,m,n);
for(i=0;i{
printf("%5d",a[i][0]);
printf("%5d\n",a[i][1]);
}
getch();
}
111111111111111111
#include""
#include""
#include<>
intfun(inta[][3])
{
inti,j=0,x,y;
for(i=100;i<1000;i++)
{x=i%100*10+i/100;
y=x%100*10+x/100;
if(i>99&&x>99&&y>99)
/*if(i!
=x&&x!
=y&&i!
=y)*/
if((i%37==0)&&(x%37==0)&&(y%37==0))
{
a[j][0]=i;
a[j][1]=x;
a[j++][2]=y;
}
}returnj;
}
main()
{
inta[300][3],i,count;
count=fun(a);
for(i=0;i{
printf("%5d",a[i][0]);
printf("%5d",a[i][1]);
printf("%5d\n",a[i][2]);
}
getch();
}
11
#include""
#include""
main()
{
floats,s1,s2,s3,s4,m,i;
scanf("%f",&m);
for(i=1;i<=m;i++)
s1+=1/i;
for(i=1;i<=m;i++)
s2+=1/(i*i);
for(i=1;i<=m;i++)
s3+=1/(i*i*i);
for(i=1;i<=m;i++)
s4+=1/(i*i*i*i);
s=s1+s2+s3+s4;
printf("%.9f",s);
getch();
}
41141
#include""
#include""
#defineN10000
main()
{
longf[N],i=1,t;
scanf("%ld",&t);
f[0]=1;
f[1]=1;
do
{
i++;
f[i]=f[i-1]+f[i-2];
}while(f[i]<=1000);
printf("%ld",f[i]);
getch();
}
515
#include""
#include""
#include<>
main()
{
intn,g,sum=0;
scanf("%d",&n);
for(g=2;gif(n%g==0)
sum+=g;
printf("%d",sum);
getch();
}
3
#include""
#include""
#include<>
main()
{
inti,I,N,E,s;
for(i=100;i<1000;i++)
{
I=i/10%10;
for(N=1;N<10;N++)
for(E=0;E<10;E++)
{
s=N*1000+I*100+N*10+E;
if(3*i==2*s)
printf("%d%d\n",i,s);
}}getch();
}精心搜集整理,只为你的需要