C程序设计常用算法

2020-04-14 16:02

C程序设计常用算法

一、求平均值

1.输入10个数给一维数组a[10],计算并输出数组的平均值。

#include void main() { int j, a[10] ; float x = 0;

for(j=0;j<10;j++) {

scanf(\ x= x + a[j]; }

x = x/10;

printf(\平均值= %f\\n\ }

二、逆序排列

1.将字符串str的内容颠倒。

#include #include void main() { int i,j, k;

char str[ ] \ j = strlen( str ); for(i=0; i< j/2; i++) { k = str[ i ];

str[ i ] = str[ j-1-i ]; str[ j-1-i ]= k ; } }

2. 输入10个数给一维数组a[10],再按逆序重新存放并输出。

#include void main()

{ int i,x, a[10] ;

for(i=0;i<10;i++) scanf(\ for(i=0; i< 5; i++) { x = a[ i ]; a[ i ] = a[9-i ]; a[9-i ]= x ; }

for(i=0;i<10;i++) printf(\ }

三、级数求和

1.按公式1?1111?????计算 e 的值,误差小于1e-4。 1!2!3!n!#include

#define P 0.0001 void main()

{ float x = 1, k = 1; int i = 1; do {

k = k*i ; x= x + 1/k; i++;

}while ( 1/k > p );

printf(\e 的值= %f\\n\ } 2. 计算数列1?1111?????的和至某项的绝对值小于1e-5时为止( 该项不累加)。 3!5!7!9!#include #include void main()

{ float sum = 1, t = 1, i = 3; do {

t= -t*i*( i-1) ; sum += 1/t ; i+= 2;

}while ( fabs(1/t) >= 1e-5 ); printf(\sum = %f\\n\ }

3. 输入1个实数给x 和一个正整数给 n,计算并输出下式 sin(x)的值。要求定义和调用函数 fun( x , n)计算x, 类型是 double 。

nx3x5x7sin(x)?1?????

3!5!7!#include

double fun( float x, int n ) { int i ; double t = 1; for ( i = 1; i<=n; i++) t = t*x; return t; }

void main() { int j, n ;

double x , t=1 ,y= 1;

scanf(\

for(j=3;j<=n; j=j+2) { t= -t*j*( j-1) ;

y= y + fun( x, j )/t; }

printf(\ }

4. 输入1个实数给x 和一个正整数给 n,计算并输出下式的值。要求定义和调用函数 fact(k)计算k的阶乘,定义和调用函数mypow(x,k)计算x, 类型是 double 。

nxns??

k?1k!n#include int fact( int n ) { int i , t = 1;

for ( i = 1; i<=n; i++) t = t*i; return t; }

double mypow ( float x, int n ) { int i ; double t = 1; for ( i = 1; i<=n; i++) t = t*x; return t; }

void main() { int i, n ;

double x , sum= 0;

printf(\输入 x 和 n:\ scanf(\ for(i=1;i<=n; i++)

sum = sum + mypow ( x, i )/fact( i ); }

printf(\ }

四、因子和

1.输出6~10000之间的亲密数对。【说明】若a、b是亲密数对,则a的因子和等于b、b的因子和等于a 且a不等于b 。

#include void main() { int i, a ,b,c ;

for(a=6;a<=10000; a++) { b = 1;

for ( i =2; i<=a/2; i++) if ( a%i==0) b +=i; c = 1;

for ( i =2; i<=b/2; i++) if ( b%i==0) c +=i;

if( a==c && a!=b) printf(\ %d\\n\ } }

2. 找出500以内的所有完数,并输出其因子。

【说明】一个数恰好等于它的因子之和,这个数称为完数,如 6=1+2+3 。 程序1 要求定义和调用函数 f(k)计算k的因子之和。

#include int f (int n ) { int i , f1; f1 = 1

for ( i = 2; i<=n/2; i++) if((n%i)==0) f1= f1 + i; return f1; }

void main() { int j, a,b ;

for( a=6; a<=500; a++) { b=f( a);

if( a==b ) //如果 a 是完数则输出其各个因子 { printf(\ for(j=2;j<=a/2; j++)

if(a%j==0) printf(\

printf(\} }

}

程序2 要求定义和调用函数 f(k)计算k的因子之和。

#include void main() { int j,i,s=1 ;

for(i=6; i<=500; i++,s = 1) { for(j=2; j<=i/2;j++) if(i%j==0) s+=j; if(s==i)

{ printf(\ //如果 i 是完数则输出其各个因子 for(j=2;j<=i/2; j++)

if(i%j==0) printf(\

printf(\} } }

五、素数

1.输入一批正整数(以零或负数结束),输出其中的素数。要求定义并调用函数prime(m)判断 m 是否为素数。

#include int prime(int x) { int i,n, res;

if(x==1) res = 0; else

{ res = 1;

for( i=2; i

if( x%i ==0 ){ res=0; break ; } }

return res; }

void main() { int m;

while (scanf(\

if( prime(m)) printf(\是素数\putchar('\\n'); }

2. 找出200~1000之间所有素数,一行输出5个。

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

for( i=2; i

if( x%i ==0 )return 0; return 1;


C程序设计常用算法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八年级政治上册 第二课 第1框 严也是一种爱教案1 新人教版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: