常考的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; }