C code

#include "stdio.h"
#include "math.h"
#include "ctype.h"
#include "string.h"
#include "stdlib.h"
#include "time.h"

/*************************

        符号常量

**************************/
#define PI 3.1415926

const double PI_=3.1415926; //注意格式区别

/*************************

      枚举类型变量

**************************/
enum week {mon, tue, wed, thu, fri, sat, sun};   //mon=0,tue=1,...
//enum week {mon=1, tue, wed, thu, fri, sat, sun};

/*************************

      结构体类型变量

**************************/
struct Point
{
    double x,y;
};
typedef Point pit;

typedef struct{ double x,y; } pit_;
//可以嵌套

int max_thr(int a, int b, int c);
int is_leap(int x);
int is_prime1(int x);
int is_prime2(int x);
int fac(int n);
int com_factor(int m, int n);
void swap_a_b(int *p,int *q);
void mp_sort(int *a,int n);
void slt_sort(int *a,int n);
double dist(pit a, pit b);

int main()
{
    /*****************************************

    基本输入输出(注意输出结果区别)

    ******************************************/
    float a1; double a2;
    //scanf("%f %lf",a1,a2);

    int b1=2016;
    printf("%8d\n",b1);  //右对齐,左补空格
    printf("%-8d\n",b1); //左对齐
    printf("%08d\n",b1); //右对齐,左补0

    printf("%.2f\n",PI);
    printf("%1.2f\n",PI);
    printf("%8.2f\n",PI);
    printf("%-8.2f\n",PI);

    printf("%d\n",8/5);     //整数/整数=整数
    printf("%.2f\n",8/5);
    printf("%.2f\n",(float)8/5);//强类型转换
    printf("%.2f\n",8.0/5); //浮点数/整数=浮点数
    printf("%.2f\n",8.0/5); //浮点数/浮点数=浮点数

    printf("\\\t\"\n");

    /************************************************************

    比较float和double类型数据,
    因为float/double精度问题,
    比如 1.000000001 可能和1.0000000000001相等

    比较 > 、< 可以直接进行比较
    比较 == 、!= 最好用两个数做差取绝对值跟指定的精度进行比较

    *************************************************************/
    float c1=0.0000000001,c2=0.0000000001;
    if(fabs(c1-c2) < 1e-10) printf("c1 == c2\n");

    /*************************************

    交换变量

    t = a; a = b; b = t; //使用范围广

    a = a + b;
    b = a - b;
    a = a - b;

    swap( &a, &b);

    **************************************/

    /*************************

    switch语句

    **************************/
    int d=3;
    switch(d)
    {
        case 1: d=0;break;
        case 2: d=1;break;
        default:d=2;break;
    }

    /*************************

    产生随机数( 1 ~ 100 )

    **************************/
    int rand_num;
    srand(time( NULL));
    rand_num = rand() % 100 +1;

    /*************************

    数组清零
    #include "string.h"
    memset(a, 0, sizeof(a));

    **************************/

    /*************************

    字符函数
    getchar( ch);
    putchar( ch);

    **************************/
    char ch1 = ‘a‘;
    if( isalpha( ch1) )    printf("%c is a char\n", ch1);
    if(    isdigit( ch1) ) ;

    /*************************

    字符串函数

    gets( str);
    puts( str);

    **************************/
    char str[100],s1[100]={‘a‘},s2[100]="asdfgh";
    sprintf(str,"%s","asd2016");
    printf("%s\n",str);

    int len = strlen( str);
    strcpy(s1, s2);
    strcmp(s1, s2);        //s1>s2,返回值>0;s1==s2,返回值=0;s1<s2,返回值<0
    strcat(s1, s2);
    char *ptr_str = strchr(str, ‘d‘); //查找字符串str中首次出现字符d的位置

    /*************************

    输出数据以空格隔开
    int first=1;
    for(i = 0; i < n; i++)
    {
        if(first)    first = 0;
        else    printf(" ");
        printf("%d", a[i]);
    }

    **************************/

    return 0;
}

/*************************

    三个数中最大数

**************************/
int max_thr(int a, int b, int c)
{
    return (a>b?a:b) > c ? (a>b?a:b) : c;
}

/*************************

        判断闰年

**************************/
int is_leap(int x)
{
    if((x%4==0 && x%100!=0) || x%400==0)
        return 1;
    else
        return 0;
}

/*************************

        判断素数 1

**************************/
int is_prime1(int x)
{
    int i;
    if(i <= 1)    return 0;
    for(i = 2; i*i<=x; i++)
        if(x % i == 0)    return 0;
    return 1;
}

/*************************

        判断素数 2
    #include "math.h"

**************************/
int is_prime2(int x)
{
    int i,m;
    if(x <= 1)    return 0;
    m = floor(sqrt(x) + 0.5);
    for(i = 2; i <= m; i++)
        if(x % i == 0)    return 0;
    return 1;
}

/*************************

    计算最大公约数

**************************/
int com_factor(int m, int n)
{
    int r,t;
    if(m < n)    {t=m; m=n; n=t;}
    r = m % n;
    while(r != 0)
    {
        m = n;
        n = r;
        r = m % n;
    }
    return n;
}

/*************************

        交换变量

**************************/
void swap_a_b(int *p,int *q)
{
    int t;
    t = *p; *p = *q; *q = t;
    //下面是错误方法
    //int *t;
    //t = p; p = q; q = t;
}

/*************************

    计算两点间距离
    #include "math.h"

**************************/
double dist(pit a, pit b)
{
    return hypot(a.x-b.x, a.y-b.y);
}

/*************************

        冒泡排序

**************************/
void mp_sort(int *a,int n)
{
    int i,j,t;
    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
            if(a[i]>a[j])
            {    t=a[i];a[i]=a[j];a[j]=t;}
}

/*************************

        选择排序

**************************/
void slt_sort(int *a,int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {    k=i;
        for(j=i+1;j<n;j++)
            if(a[j]<a[k])    k=j;
        if(k!=i)
        {    t=a[k];a[k]=a[i];a[i]=t;}
    }
}

/*************************

        计算 n!

**************************/
int fac(int n)
{
    return n==0 ? 1 : fac(n-1)*n;
}
时间: 2024-10-25 10:40:29

C code的相关文章

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian 个人的号,不知道怎么获取.

微信 {&quot;errcode&quot;:40029,&quot;errmsg&quot;:&quot;invalid code, hints: [ req_id: Cf.y.a0389s108 ]&quot;}

{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"} 问题:微信网页授权后,获取到 openid 了,一刷新又没了 微信网页授权获取到的 code 只能使用一次(5分钟内有效),使用一次后,马上失效. 页面授权跳转成功,根据 code 也换取到 openid 了. 此时刷新页面,并不会再次进行授权,而是直接刷新了一下上一次授权跳转后的链接,带的还是

在linux系统中安装VSCode(Visual Studio Code)

1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 https://code.visualstudio.com/docs?dv=linux64 我是64位的: wget https://az764295.vo.msecnd.net/stable/7ba55c5860b152d999dda59393ca3ebeb1b5c85f/code-stable-code_1.7.2-1479766213_amd64.tar.gz 2.解

set up trace code tool

這以 GNU GLOBAL 6.5.6 為示範 1: install GNU GLOBAL https://www.gnu.org/software/global/download.html sudo ./configure; 若有以下 error,請看更下方的 Q5 說明. configure: checking "location of ncurses.h file"... configure: error: curses library is required but not f

Ubuntu16.04下安装VS Code

在Ubuntu下面安装Visual Studio Code sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make umake web visual-studio-code 终于又看见亲切的大麻花了

CSDN code使用教程之git用法详解

首先需要下载GIT客户端,http://git-scm.com/downloads...   然后再code.csdn.net上面创建一个项目,如果 你的项目已经存在,那么请建立项目的时候不要选择自动生成readme文件.填写项目名称,去掉下面的勾勾,然后点击创建就OK了. 下面的就是配置本地客户端了,确认你在CSDN id,获取的方式是在登录后,进入passport.csdn.net,在"个人帐号"的最下端查看用户名:也就是你的昵称,我的就是Linux_Google 然后在命令行中输

.NET跨平台之mac 下vs code 多层架构编程

合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入,申请备注填写姓名+技术+工作年限) Q  Q:408365330     E-Mail:[email protected] 概述: 为了研究跨平台.NET 开发,我打算利用.NET core 编写一个跨平台的cms,这个CMS我也秉着开源的原则放到github上面,为.NET 开源社区做点小小的贡献吧.如果有兴趣的可以联系我一起为.NET开源和跨平台做点小小的贡献吧.EgojitCMS传送

安装GO语言环境之安装Visual Studio Code插件

在安装Visual Studio Code插件的时候,由于谷歌的限制,在下载下列插件的时候会报错: go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-find-references go get -u -v github.com/lukeho

Code First添加一个现有数据库中的表

描述 刚刚使用EF,还没搞明白,遇到下面问题,记录一下. 都说EF好用,一直也没用过,以前写代码都是ADO.NET,写起来费时费力还没什么大进展,如果能把这些事简化一下把精力放到逻辑或者更有用的地方岂不是更好.所以想使用EF.Code First,从字面的意思来看是先有代码后有数据库,通过Model来创建数据库,好像只能是通过Model来生成数据库,至少我接触2天以来是这样,项目已经开始一段时间了,数据库已经有一定的数据,虽然是测试数据,但也不想删掉,从新添加数据也是很烦人的事.想找到一种能够不

Code First Migrations更新数据库结构(数据迁移) 【转】

背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的旧数据库中包含一些测试数据时,当持久化更新后,原数据将全部丢失,故我们可以引入EF的数据迁移功能来完成. 要求 已安装NuGet 过程示例 [csharp] view plaincopyprint? //原model //原model [csharp] view plaincopyprint? us