一些基础的东西

来源:互联网 发布:户外网络摄像机 编辑:程序博客网 时间:2024/05/16 19:27

本篇介绍:

1.cmp函数的用法(sort的高级用法)

2.C++常用的头文件

3.打表算阶乘和斐波那契数列

4.一些简单的函数及其调用

5.字符串排序



下面开始正文:


1.cmp函数的用法(sort的高级用法)

struct zf{    char a[21],b[21],c[21];    int abc;                      //abc记的是c}data[501];bool cmp(zf a,zf b)  {                                   //先b,再abc,再a    if(strcmp(a.b,b.b)!=0)          //b不相同        return strcmp(a.b,b.b)<0;   //按b的升序排    if(a.abc!=b.abc)                //abc不相同        return a.abc>b.abc;         //按abc降序排     return strcmp(a.a,b.a)<0;      //按a字符串升序排}



2.C++常用的头文件

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>


3.打表算阶乘和斐波那契数列

1.阶乘的打表算法long long data[21];long long jc(int n){   if (n==0||n==1) return 1;   if (data[n]==0)      data[n]=n*jc(n-1);    return data[n];           }2.斐波那契的打表算法long long data[51];long long fblq(int n){  if (n==1||n==2) return 1;  else  {   if (data[n]==0)     data[n]=fblq(n-1)+fblq(n-2);      return data[n];           }              }



4.一些简单的函数及其调用

这是个函数调用的专题,包括1.斐波那契数列(非递归)2.斐波那契数列(递归法)3.计算阶乘(递归法)4.计算阶乘(非递归法)5.判断素数6.求两数最大公约数7.求两数最小公倍数8.数组从小到大排序9.判断闰年10.计算一个整数各个位数字之和  1.斐波那契数列(非递归法)int fbnq(int n){    int f=1,f1=1,f2=1,i;    for(i=3;i<=n;i++)    {        f=f1+f2;        f1=f2;        f2=f;    }return f;}  2.斐波那契数列(递归法)int fbnq(int n){    if(n==1||n==2)        return 1;    else    {        n=fbnq(n-1)+fbnq(n-2);        return n;    }}    3.计算阶乘(递归法)  int jc(int i){    if(i==0 || i==1)        return 1;    return i*jc(i-1);}   4.计算阶乘(非递归法)int jcc(int n){    int i,b=1;    for(i=1;i<=n;i++)    {        b=b*i;    }    return b;}    5.判断素数#include <math.h>int pdss(int n){    int i;    if(n==0||n==1)        return 0;    else    {for(i=2;i<=sqrt(n);i++)        {            if(n%i==0)            return 0;        }        return 1;    }}    6.求两数最大公约数int gys(int a,int b){     if (b==0)        return a;    return gys(b,a%b);}    7.求两数最小公倍数int gys(int a,int b){     if (b==0)        return a;    return gys(b,a%b);}int gbs(int a,int b){    int c = gys(a,b);    return (a*b)/(c);}    8.  数组中n个数从小到大的排序void  szpx(double a[],int n){    int i,j;    double t;    for(i=1;i<n;i++)    {       t=a[i];         for(j=i-1;j>=0;j--)       {    if(a[j]<=t)                              break;                              if(a[j]>t)                              a[j+1]=a[j];       }       a[j+1]=t;     }}    9.判断闰年int pdrn(int a){    if((a%4==0&&a%100!=0)||a%400==0)    return 1;    else    return 0;}10.计算一个整数各个位数字之和int gwzh(int n){    int a,sum=0;    while(n>0)    {        a=n%10;        n=n/10;        sum=sum+a;    }return sum;}




void sort(char array[][3],int n)   //定义排序函数,3是单词长度适当替换{    char temp[3];    int i,j,k;    for(i=0;i<n;i++)    {        k=i;        for(j=i+1;j<n;j++)            if(strcmp(array[k],array[j])>0)            k=j;        if(k!=i)        {            strcpy(temp,array[i]);   //字符串交换顺序            strcpy(array[i],array[k]);            strcpy(array[k],temp);        }    }}






0 0
原创粉丝点击