请教编程高手 c语言编程
1.德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如:10=3+7,10=5+5,即10可以分解成两种不同的素数...
1. 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求n=1234可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)。(提示:先利用求素数的函数求出小于n的所有素数存于数组中,然后对数组操作求素数对数。答案:25)2. 求方程x3-2x-5=0在区间[1.5,2.5]上的一个实根。 要求:按四舍五入的方式精确到小数点后第二位。(提示:先编写两个分别求F(x)= x3-2x-5和F’(x)= 3 x 2-2的函数,再以区间的中点为起点用牛顿迭代法求之。答案:2.09)3. 定义一个带参数的宏实现两个数的交换,利用它编写一个能对任意长度的数组降序排序的函数实现对一个数组排序。要求:函数形参用指针作参数;数组长度不超过20,数组实际长度和数组元素的赋值从键盘输入,分别输出排序前和排序后的结果。
展开
2013-12-14
展开全部
#include<stdio.h>
#include<math.h>
int isprim(int n)
{
int i,k;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) return 0;
if(i>k) return 1;}
void main()
{ int i,n,count=0,k;
printf("请输入一个偶数:");
scanf("%d",&n);
k=n/2;
for(i=1;i<=k;i++)
if(isprim(i) && isprim(n-i))
{count++;<br> printf("%3d +%3d =%4d\n",i,n-i,n );}
printf("%d\n",count);
}*************************************************************************#include<stdio.h>
#include<math.h>
void main()
{float solut(float a,float b,float c,float d);<br> float a, b,c,d;<br> printf("input a,b,c,d:");<br> scanf("%f,%f, %f,%f",&a,&b,&c,&d);<br> printf("x=%10.2f\n",solut(a,b,c,d));<br>}
float solut(float a,float b,float c,float d)
{
float x=1.5,x0,f,f1;
do
{
x0=x;
f=((a*x0+b)*x0+c)*x0+d;
f1=(3*a*x0+2*b)*x0+c;
x=x0-f/f1;
}
while(fabs(x-x0)>=1e-3 && x<=2.5);
return(x);
}
**************************************************************************
#include<stdio.h>
#define maxsize 20
#define void sort(int* a,int* b){int c;if(*a>*b) {c=*a;*a=*b;*b=c;} }
void main()
{
int a[maxsize],i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j]) sort(&a[i],&a[j]);
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n");
}//呵呵,不懂可以问我
#include<math.h>
int isprim(int n)
{
int i,k;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) return 0;
if(i>k) return 1;}
void main()
{ int i,n,count=0,k;
printf("请输入一个偶数:");
scanf("%d",&n);
k=n/2;
for(i=1;i<=k;i++)
if(isprim(i) && isprim(n-i))
{count++;<br> printf("%3d +%3d =%4d\n",i,n-i,n );}
printf("%d\n",count);
}*************************************************************************#include<stdio.h>
#include<math.h>
void main()
{float solut(float a,float b,float c,float d);<br> float a, b,c,d;<br> printf("input a,b,c,d:");<br> scanf("%f,%f, %f,%f",&a,&b,&c,&d);<br> printf("x=%10.2f\n",solut(a,b,c,d));<br>}
float solut(float a,float b,float c,float d)
{
float x=1.5,x0,f,f1;
do
{
x0=x;
f=((a*x0+b)*x0+c)*x0+d;
f1=(3*a*x0+2*b)*x0+c;
x=x0-f/f1;
}
while(fabs(x-x0)>=1e-3 && x<=2.5);
return(x);
}
**************************************************************************
#include<stdio.h>
#define maxsize 20
#define void sort(int* a,int* b){int c;if(*a>*b) {c=*a;*a=*b;*b=c;} }
void main()
{
int a[maxsize],i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j]) sort(&a[i],&a[j]);
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n");
}//呵呵,不懂可以问我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询