c_primer_plus_CH6

循环练习🙈

ONE🐵

/** 
  * 
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
  
#include <stdio.h>
#define  ROW (5)

int main()
{
    printf("Hello OKfine\n");
    for (int i = 0; i < ROW; i++){ // 控制行输出
        for (int j = 0; j <= i; j++){ // 控制列输出
            printf("$");
        }
        printf("\n");
    }
    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex02$ ./test 
Hello OKfine
$
$$
$$$
$$$$
$$$$$

TWO🙉

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
#include <stdio.h>

int main()
{
    printf("Hello OKfine\n");
    for (char ch = 'F'; ch >= 'A'; ch--){
        for (char c = 'F'; c >= ch; c--){
            printf("%c", c);
        }
        printf("\n");
    }
    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex03$ ./test 
Hello OKfine
F
FE
FED
FEDC
FEDCB
FEDCBA

THREE🙈

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
#include <stdio.h>
#define  ROW (6)

int main()
{
    printf("Hello OKfine\n");
    for (char ch = 'A', i = 0; i < ROW; i++){
        for (char j = 0; j <= i; j++, ch++){
            printf("%c", ch);
        }
        printf("\n");
    }
    return 0;
}


book@-okfine-:~/c_primer_plus/ch6/ex04$ ./test 
Hello OKfine
A
BC
DEF
GHIJ
KLMNO
PQRSTU

FOUR🙊

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
#include <stdio.h>

int main()
{
    char ch_row;

    printf("Hello OKfine\n");
    printf("Please enter a character in 26 characters(A ~ Z): ");
    scanf("%c", &ch_row);

    for (char ch = 'A'; ch <= ch_row; ch++){
    	// 控制空格输出
        for (char space = 0; space < ch_row - ch; space++){
            printf(" ");
        }
		// 控制升序输出
        for (char up = 'A'; up <= ch; up++){
            printf("%c", up);
        }
		// 控制降序输出
        for (char down = ch - 1; down >= 'A'; down--){
            printf("%c", down);
        }

        printf("\n");
    }

    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex05$ ./test z
Hello OKfine
Please enter a character in 26 characters: Z
                         A
                        ABA
                       ABCBA
                      ABCDCBA
                     ABCDEDCBA
                    ABCDEFEDCBA
                   ABCDEFGFEDCBA
                  ABCDEFGHGFEDCBA
                 ABCDEFGHIHGFEDCBA
                ABCDEFGHIJIHGFEDCBA
               ABCDEFGHIJKJIHGFEDCBA
              ABCDEFGHIJKLKJIHGFEDCBA
             ABCDEFGHIJKLMLKJIHGFEDCBA
            ABCDEFGHIJKLMNMLKJIHGFEDCBA
           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
 ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA
/* ----------------------------------------------------- */
#include <stdio.h>

int main()
{
    char ch_row;

    printf("Hello OKfine\n");
    printf("Please enter a character in 26 characters(A ~ Z): ");
    scanf("%c", &ch_row);
	// 和上面的代码对比,只改变了下面一行代码.
	//     ch = 'A' ---> ch = ch_row;
	// ch <= ch_row ---> ch >= 'A';
    for (char ch = ch_row; ch >= 'A'; ch--){

        for (char space = 0; space < ch_row - ch; space++){
            printf(" ");
        }

        for (char up = 'A'; up <= ch; up++){
            printf("%c", up);
        }

        for (char down = ch - 1; down >= 'A'; down--){
            printf("%c", down);
        }


        printf("\n");
    }

    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex05$ ./test 
Hello OKfine
Please enter a character in 26 characters: Z
ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA
 ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
            ABCDEFGHIJKLMNMLKJIHGFEDCBA
             ABCDEFGHIJKLMLKJIHGFEDCBA
              ABCDEFGHIJKLKJIHGFEDCBA
               ABCDEFGHIJKJIHGFEDCBA
                ABCDEFGHIJIHGFEDCBA
                 ABCDEFGHIHGFEDCBA
                  ABCDEFGHGFEDCBA
                   ABCDEFGFEDCBA
                    ABCDEFEDCBA
                     ABCDEDCBA
                      ABCDCBA
                       ABCBA
                        ABA
                         A

FIVE🙉

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */

#include <stdio.h>

#define  SQUARE(n) (n * n)
#define  CUBE(n)   (n * n * n)

int main()
{
    int max_val, min_val;

    printf("Hello OKfine\n");
    printf("Please enter the min value: ");
    scanf("%d", &min_val);
    
    printf("Please enter the max vlaue: ");
    scanf("%d", &max_val);
    
    printf("Number\t\tSquare\t\tCube\n");
    for (int i = 0, j = min_val; i <= max_val - min_val; i++, j++){
        printf("%6d %15d %13d\n", j, SQUARE(j), CUBE(j));
    }
    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex06$ ./test 
Hello OKfine
Please enter the min value: 1
Please enter the max vlaue: 10
Number			Square			Cube
     1               1             1
     2               4             8
     3               9            27
     4              16            64
     5              25           125
     6              36           216
     7              49           343
     8              64           512
     9              81           729
    10             100          1000

SIX🐵

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
// sum1: 1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 ...
// sum2: 1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 ...
#include <stdio.h>

int main()
{
    long int     limits;
    float        sum1 = 0.0;
    float        sum2 = 0.0;
    float        sign = 1.0f;

    printf("Hello OKfine\n");
    printf("Please enter the number of sum: ");
    scanf("%ld", &limits);

    while (limits > 0){
        for (long int i = 1; i <= limits; i++){
            sum1 += 1.0f / i;
            sum2 += (1.0f / i) * sign;
            sign = -sign;
        }

        printf("The %ldth of sum1 is %.8f\n", limits, sum1);
        printf("The %ldth of sum2 is %.8f\n", limits, sum2);
        
        sum1 = sum2 = 0.0;
        sign = 1.0f;
        printf("Please enter the number of sum: ");
        scanf("%ld", &limits);
    }
    
    printf("Done!\nGoodbye!\n");
    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex12$ ./test 
Hello OKfine
Please enter the number of sum: 100
The 100th of sum1 is 5.18737793
The 100th of sum2 is 0.68817192
Please enter the number of sum: 1000
The 1000th of sum1 is 7.48547840
The 1000th of sum2 is 0.69264585
Please enter the number of sum: 10000
The 10000th of sum1 is 9.78761292
The 10000th of sum2 is 0.69309169
Please enter the number of sum: 100000
The 100000th of sum1 is 12.09085083
The 100000th of sum2 is 0.69313407
Please enter the number of sum: 1000000
The 1000000th of sum1 is 14.35735798
The 1000000th of sum2 is 0.69313729
Please enter the number of sum: 0
Done!
Goodbye!

SEVEN🙉

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
#include <stdio.h>

int main()
{
    char str[255];
    int  index = 0;
    printf("Hello world\n");
    printf("Please enter a string: ");
    while(scanf("%c", &str[index]), str[index] != '\n'){
        index++;
    }

    index--;
    for (; index >= 0; index--){
        printf("%c", str[index]);
    }
    printf("\n");
    return 0;
}

book@-okfine-:~/c_primer_plus/ch6/ex15$ ./test 
Hello world
Please enter a string: Hello OKfine.
.enifKO olleH

EIGHT🙊

/**
  *     OS: linux
  *   Time: 2020/04/27
  * Author: OKfine.
  */
#include <stdio.h>
#define  DUNBAR_NUMBER (150) // 邓巴数

int main()
{
    int begin_num = 5;
    int change_num = 0;
    int week = 1;
    printf("Hello OKfine\n");

    while (change_num <= 150){
        change_num = (begin_num - week) * 2;
        begin_num = change_num;
        printf("weeks: %d, friends: %d\n", week, change_num);
        week++;
    }

    return 0;
}

weeks: 1, friends: 8
weeks: 2, friends: 12
weeks: 3, friends: 18
weeks: 4, friends: 28
weeks: 5, friends: 46
weeks: 6, friends: 80
weeks: 7, friends: 146
weeks: 8, friends: 276
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值