1.累加
- #include<stdio.h>
- void main()
- {
- int n,i,sum=0;
- printf("/n/n/n please input n:");
- scanf("%d",&n);
- for(i=1;i<=n;i++)
- sum=sum+i;
- printf("/n sum=%d/n/n/n ",sum);
- }
2.累乘
- //阶乘
- #include<stdio.h>
- void main()
- {
- int n,i,t=1;
- printf("/n/n/n please input n:");
- scanf("%d",&n);
- for(i=1;i<=n;i++)
- t=t*i;
- printf("/n resule=%ld/n/n/n ",t);
- }
- //阶乘和
- #include<stdio.h>
- void main()
- {
- int n,i,t=1,sum=0;
- printf("/n/n/n please input n:");
- scanf("%d",&n);
- for(i=1;i<=n;i++){
- t=t*i;
- sum=sum+t;
- }
- printf("/n sum=%ld/n/n/n ",sum);
- }
3.排序算法(选择法、冒泡法)
- //选择法
- #include<stdio.h>
- void main()
- {
- int a[10]={4,6,8,2,0,1,5,7,3,9};
- int i,j,k; //分别定义内层循环,外层循-环,中间变量
- for(j=0;j<9;j++)
- for(i=j+1;i<9;i++) //内层循环
- if(a[i]<a[j])
- {
- k=a[i];
- a[i]=a[j];
- a[j]=k;
- } //在本次循环中,每次都使用a[j]位置的元素去比较
- for(j=0;j<10;j++)
- printf("%d/n",a[j]);
- }
- //冒泡法
- #include<stdio.h>
- void main()
- {
- int a[10]={4,6,8,2,0,1,5,7,3,9};
- int i,j,k; //分别定义内层循环,外层循-环,中间变量
- for(j=0;j<9;j++)
- for(i=0;i<9-j;i++) //内层循环
- if(a[i]>a[i+1])
- {
- k=a[i];
- a[i]=a[i+1];
- a[i+1]=k;
- } //在本次循环中,每次都使用相同元素去比较
- for(j=0;j<10;j++)
- printf("%d/n",a[j]);
- }
4.查找算法
- //在数组中查找数据
- #include<stdio.h>
- void main()
- {
- int a[10]={4,6,8,2,0,1,5,7,3,9};
- int i,n;
- printf("/n/n/n");
- printf("请输入查询的序号 (1-10): ");
- scanf("%d",&n);
- printf("/n/n/n结果:");
- printf("%5d/n",a[n-1]);
- }
- //求数组中最大值
- #include<stdio.h>
- void main()
- {
- int a[10]={4,6,8,2,0,1,5,7,3,9};
- int i,max;
- max=a[0];
- for(i=0;i<10;i++)
- if(a[i]>max)
- max=a[i];
- printf("max: %d/n",max);
- }
5.素数的判断
- //素数1
- #include<stdio.h>
- #include<math.h>
- void main()
- {
- int i,k,m,flag=1;
- printf("请输入数字: ");
- scanf("%d",&m);
- k=sqrtf(m); //在VC6里面用sqrt
- for(i=2;i<=k;i++)
- if(m%i==0)
- flag=0;
- if(flag==1)
- printf("%d 是素数/n",m);
- else
- printf("%d 不是素数y/n",m);
- }
- //素数2
- #include<stdio.h>
- #include<math.h>
- void main()
- {
- int i,k,m,flag=1;
- printf("0-100的Ì?素?数ºy是º?:");
- for(i=1;i<=100;i++) //循环要判断的数字
- {
- k=sqrtf(i);
- for(m=2;m<=k;m++)
- if(i%m==0)
- break; //相除等于0结束循环
- if(m<=k) //用于结束循环后的判断
- continue;
- else
- printf("%5d",i);
- }
- printf("/n");
- }
6.闰年的判断
- //判断闰年
- #include<stdio.h>
- void main()
- {
- int year;
- printf("Please input year:");
- scanf("%d",&year);
- if((year%400)==0||(year%4==0&&year%100!=0))
- printf("yes/n");
- else
- printf("no/n");
- }
7.最大公约和最小公倍
- //最大公约/最小公倍
- #include<stdio.h>
- void main()
- {
- int p,m,n,r;
- printf("Please input m,n: ");
- scanf("%d,%d",&m,&n);
- p=m*n;
- while(n!=0)
- {
- r=m%n;
- m=n;
- n=r;
- } //important
- printf("它们的最大公约数为:%d/n",m);
- printf("它们的最小公倍数为:%d/n",p/m);
- }
8.筛选法选择100以内素数
- //100以内素数
- #include<stdio.h>
- #include<math.h>
- void main()
- {
- int i,j,n,a[101];
- for(i=0;i<100;i++)
- a[i]=i; //a[0]不用,只用a[1]-a[100]
- a[1]=0;
- for(i=2;i<(sqrtf(100));i++)
- for(j=i+1;j<=100;j++)
- {
- if(a[i]!=0&&a[j]!=0)
- if(a[j]%a[i]==0)
- a[j]=0;
- } //把非素数挖掉
- printf("/n");
- for(i=2,n=0;i<=100;i++)
- {
- if(a[i]!=0)
- {
- printf("%5d",a[i]);
- n++;
- }
- if(n==10)
- {
- printf("/n");
- n=0;
- }
- }
- printf("/n");
- }