文档库 最新最全的文档下载
当前位置:文档库 › 常考的c语言例题

常考的c语言例题

常考的c语言例题
常考的c语言例题

常考的c语言例题:

1.1到n的素数求和:

#include

int main()

{

int sushu(int x);

int n,i,sum=2,flag=0;

scanf("%d",&n);

for(i=3;i<=n;i++)

{ flag=sushu(i);

if(flag==1)

{

sum=sum+i;flag=0;

}

}

printf("%d",sum);

return 0;

}

int sushu(int x)

{

int i,k=1;

for(int j=2;j

{

if(x%j==0)

{

k=0;

}

}

return k;

}

2.10个数从小到大排列:

#include

int main()

{

int a[10];

int i,j,t;

printf("请输入十个数:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;

}

printf("从小到大的顺序:\n");

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

return 0;

}

3.Fibonacci数列:

#include

int main()

{

int f1=1,f2=1,f3;

int i;

printf("%10d\n%10d\n",f1,f2);

for(i=1;i<=38;i++)

{

f3=f1+f2;

printf("%10d\n",f3);

f1=f2;

f2=f3;

}

return 0;

}

4.分解正整数,求质因数:

#include

int main()

{ int i,n;

printf("input the n:");

scanf("%d",&n);

printf("%d=",n);

for(i=2;i

{

if(n%i==0)

{

printf("%d*",i);

n=n/i;

}

}

printf("%d",n);

}

5.调用函数求一个数的阶乘:

#include

int main()

{

int fac(int n);

int n;

printf("请输入一个数:");

scanf("%d",&n);

long c;

c=fac(n);

printf("%d!=%ld",n,c);

return 0;

}

int fac(int n)

{ long v;

if(n==0||n==1) v=1;

else v=fac(n-1)*n;

return v;

}

6.最小公约数和最大公倍数:

#include

#include

int main()

{ int x,y,m,d;

int zuidagongyueshu(int m,int n);

int zuixiaogongbeishu(int m,int n);

printf("请输入俩个数:");

scanf("%d%d",&x,&y);

printf("请选择要求的是最小公倍数(输1)或最大公约数(输2):");

scanf("%d",&m);

switch(m)

{

case 1:d=zuixiaogongbeishu(x,y);printf("最小公倍数:%d",d);break; case 2:d=zuidagongyueshu(x,y);printf("最大公约数:%d",d);break; }

return 0;

}

int zuidagongyueshu(int m,int n)

{

int t,min;

while(n!=0)

{

t=m%n;m=n;n=t;

}

return m;

}

int zuixiaogongbeishu(int m,int n)

{

int t,min;

min=n*m;

while(n!=0)

{

t=m%n;m=n;n=t;

}

return min/m;

}

7.杨辉三角:

#include

#define N 15

void c(int a[][N],int n)

{

int i,j;

for(i=0;i

{

for(j=0;j<=i;j++)

{

a[i][j]=1;

}

}

for(j=1;j

{

for(i=j+1;i

{

a[i][j]=a[i-1][j]+a[i-1][j-1];

}

}

}

void p(int a[][N],int n)

{

int i,j;

for(i=0;i

{

for(j=0;j<=i;j++)

{

printf("%5d",a[i][j]);

}

printf("\n");

}

}

int main()

{

int a[N][N];

int n;

printf("杨辉三角有多少行:");

scanf("%d",&n);

c(a,n);

p(a,n);

return 0;

}

8.小于1000的回文且为素数:

#include

int main()

{ int sushu(int x);

int i,m,n,flag=0;

printf("Following are palindrome primes not greater than 1000:\n"); for(i=10;i<=1000;i++)

{ flag=sushu(i);

if(flag==0)

{ if(i<=99)

{

m=i%10;

n=(i-m)/10;

if(m==n)printf("%d\t",i);

}

else {

m=i/100;

n=i%10;

if(m==n)printf("%d\t",i);

}

}

}

return 0;

}

int sushu(int x)

{

int j,k=0;

for(j=2;j

{

if(x%j==0)k=1;

}

return k;

}

9.闰年判断:

#include

int main()

{

int x;

scanf("%d",&x);

if((x%4==0&&x%100!=0)||(x%400==0)) {

printf("%d是闰年",x);

}

else

{

printf("%d不是闰年",x);

}

return 0;

}

10.计算pi:

#include

int main()

{

int sign=1;

double pi=0.0,n=1.0,term=1.0;

while(fabs(term)>=1e-6)

{

pi=pi+term;

n=n+2;

sign=-sign;

term=sign/n;

}

pi=pi*4;

printf("pi=%10.8f",pi);

return 0;

}

相关文档