linux下的C语言学习——第五节代码习题

static void get_char()

{

    char char1;

    int num = 0;

    printf("input char:\n");



    do{

        char1 = getchar();//获取一个字符

        if(char1 =='a'||char1 =='e'||char1 == 'i'||char1=='o'||char1 =='u')

        {

            num++;

        }

    }while(char1!= '\n');//可以直接输入多个字符,按回车结束

    printf("number is %d\n",num);

}

执行:

[tom@CentOS7 cycle]$ make test

cc     test.c   -o test

[tom@CentOS7 cycle]$ ./test

input char:

ertouyvbnm

number is 3

static int fibonacci(int n);



static void fibn(void)

{

    int fn;

    int fib;

    int i;

    printf("please input number:\n");

    scanf("%d",&fn);

    for(i=0 ;i< fn;i++)

    {

        fib = fibonacci(i);  //切记

        printf("%d ",fib);

    }

}

     

static  int fibonacci(int n)

{

   int num ;

   num = n;

    if(num ==0)

    {    

        return 0; 

    }

    if(num == 1||num == 2)

    {

         return 1;

    }

    return fibonacci(num -1)+ fibonacci(num - 2);

 }

执行:

[tom@CentOS7 cycle]$ make test

cc     test.c   -o test

[tom@CentOS7 cycle]$ ./test

please input number:

40

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986

题目 输出99乘法表:


static void multi(void)

{

    int i,j;

    for(i=1;i<10;i++)

    {

        for(j=1;j<10;j++)

        {

            printf("%d*%d=%d ",i ,j ,i*j);

        }

        printf("\n");

    }

}

[tom@CentOS7 cycle]$ ./test

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72

9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81


static void chicken()

{

    int x , y ,z;

    for(x=0;x<20;x++)

    {

        for(y = 0;y<33;y++ )

        {

            for(z = 0;z<33;z++ )

            {

                if(x + y + 3*z == 100 && 5*x + 3*y + z == 100)

                    printf("cock:%d,hen:%d,chick:%d\n",x,y,3*z);

            }

        }

    }

}

[tom@CentOS7 cycle]$ make test

cc     test.c   -o test

[tom@CentOS7 cycle]$ ./test

cock:0,hen:25,chick:75

cock:4,hen:18,chick:78

cock:8,hen:11,chick:81

cock:12,hen:4,chick:84

static void narcissus(void)

{

    int i ,j ,k ;

    for(i=1;i<10;i++)

    {

        for(j=0;j<10;j++)

        {

            for(k=0;k<10;k++)

            {

                if((i*100 + j*10 + k) == (pow(i,3) + pow(j,3) + pow(k,3)))

                    printf("narcissus number:%d\n",i*100+j*10+k);

            }

        }

    }

}

执行:

[tom@CentOS7 cycle]$ gcc test.c -lm

[tom@CentOS7 cycle]$ ./a.out

narcissus number:153

narcissus number:370

narcissus number:371

narcissus number:407

例题 1000以内的质数:

static void prime(void)

{   int i,j;

    int count =0;

    printf("prime number:2\n");

    for(i=3;i<1000;i+=2)

    {

        for(j=3;j<i;j+=2)

        {

            count++;

            if(i%j== 0)

            {

                break;

            }

        }

        if(i==j)

        {

            printf("prime number:%d\n ",i);

        }

    }

    printf("count:%d\n",count);

}

执行:

prime number:2

prime number:3

 prime number:5

 prime number:7

 ….


static void ABC()

{

    int i ;

    int j ;

    for(i=65;i<=70;i++)

    {

        for(j=i;j<=70;j++)

        {

            printf("%c",j);

        }

        printf("\n");

    }

}

执行:

[tom@CentOS7 cycle]$ ./a.out

ABCDEF

BCDEF

CDEF

DEF

EF

F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值