C语言冒泡排序和其他板子

C语言实用类板子

各位刚刚开始学习C语言的小伙伴是不是有的时候很郁闷,老是记不住一些常用的套路,在这里我总结了一些常用的C语言套路,方便使用。

一、 冒泡排序

  1. 核心内容
//n是数组里面的个数
    for(i=0; i<n-1; i++)
    {
        for(j=0; j<n-i-1; j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
  1. 利用函数包装调用
#include <stdio.h>
#include <stdlib.h>
void paixu(int n,int a[n])
{
    int i,j;
    int temp=0;
    for(i=0; i<n-1; i++)
    {
        for(j=0; j<n-i-1; j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
    for(i=0; i<n; i++)
    {
        printf("%d\t",a[i]);
    }

}
int main()
{
    int n,i;
    scanf("%d",&n);
    int a[n];
    for(i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }
    paixu(n,a);

    return 0;
}

二、 最大公约数和最小公倍数

#include <stdio.h>
#include <stdlib.h>
int max(int a,int b)
{
    int temp;
    if(a<b) //使a最大。
    {
        temp=a;
        a=b;
        b=temp;
    }
    while(b!=0) //辗转相除法
    {
        temp=a%b;
        a=b;
        b=temp;
    }
    return a;
}
int min(int a,int b)
{
    int tt;
    tt=a*b/(max(a,b));//最小公倍数就是两数之积除以最大公约数。
    return tt;
}
int main()
{
    int a,b;
    int maxp,mino;
    scanf("%d%d",&a,&b);//输入两个数
    maxp=max(a,b);
    mino=min(a,b);
    printf("最大公约数是:%d,最小公倍数是:%d\n",maxp,mino);
    return 0;
}

三、 水仙花数(三位)

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d",&n);
    int q,w,e;
    q=n/100;
    w=n%100/10;
    e=n%100%10;
     if(n==(q*q*q+w*w*w+e*e*e)){
        printf("%d是水仙花数\n",n);
    }
    else{
      printf("%d不是水仙花数\n",n);
    }

    return 0;
}

四、素数

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m,i,k;
    scanf("%d",&m);
    k=(int)sqrt(m);//使时间复杂度降低
    for(i=2; i<=k; i++)
    {
        if(m%i==0)
            break;
    }
    if(i>k)
    {
        printf("%d是素数\n",m);
    }
    else
    {
        printf("%d不是素数\n",m);
    }
    return 0;
}

五、闰年判断

1.能被4整除而不能被100整除。
2.能被100整除也能被400整除

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m;
    scanf("%d",&m);
    if((m%4==0)&&(m%100!=0)||((m%100==0)&&(m%400==0))){
        printf("%d是闰年\n",m);
    }
    else{
       printf("%d不是闰年\n",m);
    }
    return 0;
}

以上就是我总结的一些实用类板子,但是最重要的还是需要你自己牢记于心,多敲多练。


版权声明:本文为qq_43480398原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。