zoukankan      html  css  js  c++  java
  • Chapter 6 :C Control Statements

    1. Write a program that creates an array with 26 elements and stores the 26 lowercase letters in it. Also have it show the array contents.

    /* this implementation assumes the character codes */
    /* are sequential, as they are in ASCII.	*/
    #include <stdio.h>
    
    #define    SIZE 26
    
    int main(void) {
        char lcase[SIZE];
        int i;
        for (i = 0; i < SIZE; i++)
            lcase[i] = 'a' + i;
        for (i = 0; i < SIZE; i++)
            printf("%c ", lcase[i]);
        printf("
    ");
        return 0;
    
    }
    

    3. Use nested loops to produce the following pattern:

    F

    FE

    FED

    FEDC

    FEDCB

    FEDCBA

    /* this implementation assumes the character codes */
    /* are sequential, as they are in ASCII.	*/
    #include <stdio.h>
    
    int main(void) {
        char let = 'F';
        char start;
        char end;
    
        for (end = let; end >= 'A'; end--) {
            for (start = let; start >= end; start--)
                printf("%c", start);
            printf("
    ");
        }
    
        return 0;
    }
    

    6. Write a program that prints a table with each line giving an integer, its square, and its cube. Ask the user to input the lower and upper limits for the table. Use a for loop.

    #include <stdio.h>
    
    int main(void) {
        int lower, upper, index;
        int square, cube;
    
        printf("Enter starting integer: ");
    
        scanf("%d", &lower);
        printf("Enter ending integer: ");
        scanf("%d", &upper);
    
        printf("%5s %10s %15s
    ", "num", "square", "cube");
        for (index = lower; index <= upper; index++) {
            square = index * index;
            cube = index * square;
            printf("%5d %10d %15d
    ", index, square, cube);
        }
    
        return 0;
    
    }
    

    8. Write a program that requests two floating-point numbers and prints the value of their difference divided by their product. Have the program loop through pairs of input values until the user enters nonnumeric input.

    #include <stdio.h>
    
    int main(void) {
        double n, m;
        double res;
    
        printf("Enter a pair of numbers: ");
    
        while (scanf("%lf	%lf", &n, &m) == 2) {
            res = (n - m) / (n * m);
            printf("(%.3g - %.3g)/(%.3g * %.3g) = %.5g
    ", n, m, n, m, res);
            printf("Enter next pair (non-numeric to quit): ");
        }
        return 0;
    }

    11. Write a program that reads eight integers into an array and then prints them in reverse order.

    #include <stdio.h>
    
    int main(void) {
        int numbers[8];
        int size = sizeof(numbers) / sizeof(numbers[0]);
    
        printf("Enter the values of the elements in the array: 
    ");
        for (int i = 0; i < size; i++) {
            scanf("%d", &numbers[i]);
        }
        printf("The elements in the array in an inverse order:
     ");
        for (int i = size - 1; i >= 0; i--)
            printf("%d ", numbers[i]);
        return 0;
    }

    13. Write a program that creates an eight-element array of ints and sets the elements to the first eight powers of 2 and then prints the values. Use a for loop to set the values, and, for variety, use a do while loop to display the values.

    /* This	version starts with the 0 power */
    #include <stdio.h>
    
    #define    SIZE 8
    
    int main(void) {
        twopows[SIZE];
        int
        int i;    /* 2 to the 0 */
        int value = 1;
        for (i = 0; i < SIZE; i++) {
            twopows[i] = value;
    
        }
        value *= 2;
    
        i = 0;
        do {
            printf("%d ", twopows[i]);
            i++;
        } while (i < SIZE);
        printf("
    ");
    
        return 0;
    
    }
    

    14. Write a program that creates two eight-element arrays of doubles and uses a loop to let the user enter values for the eight elements of the first array. Have the program set the elements of the second array to the cumulative totals of the elements of the first array. For example, the fourth element of the second array should equal the sum of the first four elements of the first array, and the fifth element of the second array should equal the sum of the first five elements of the first array. (It’s possible to do this with nested loops, but by using the fact that the fifth element of the second array equals the fourth element of the second array plus the fifth element of the first array, you can avoid  nesting and just use a single loop for this task.) Finally, use loops to display the contents of the two arrays, with the first array displayed on one line and with each element of the second array displayed below the corresponding element of the first array.

    #include <stdio.h>
    
    #define size 8
    
    int main(void) {
        double nums1[size], nums2[size];
        printf("Please enter the values of the elements in nums1: 
    ");
        for (int i = 0; i < size; i++)
            scanf("%lf", &nums1[i]);
    
        double sum = 0;
        for (int i = 0; i < size; i++) {
            sum = sum + nums1[i];
            nums2[i] = sum;
        }
        printf("The elements in the first array:  ");
        for (int i = 0; i < size; i++)
            printf("%7.2lf ", nums1[i]);
        printf("
    ");
        printf("The elements in the second array: ");
        for (int i = 0; i < size; i++)
            printf("%7.2lf ", nums2[i]);
        return 0;
    }

    16. Daphne invests $100 at 10% simple interest. (That is, every year, the investment earns an interest equal to 10% of the original investment.) Deirdre invests $100 at 5% interest compounded annually. (That is, interest is 5% of the current balance, including previous addition of interest.) Write a program that finds how many years it takes for the value of Deirdre’s investment to exceed the value of Daphne’s investment. Also show the two values at that time.

    #include <stdio.h>
    
    #define RATE_SIMP 0.10
    #define RATE_COMP 0.05
    #define INIT_AMT 100.0
    
    int main(void) {
        double daphne = INIT_AMT;
        double deidre = INIT_AMT;
        int years = 0;
    
        while (deidre <= daphne) {
            daphne += RATE_SIMP * INIT_AMT;
            deidre += RATE_COMP * deidre;
            ++years;
        }
    
        printf("Investment values after %d years:
    ", years);
        printf("Daphne: $%.2f
    ", daphne);
        printf("Deidre: $%.2f
    ", deidre);
        
        return 0;
    }
    
    苟利国家生死以, 岂因祸福避趋之
  • 相关阅读:
    Android BlueDroid(一):BlueDroid概述 【转】
    halcon学习笔记——机器视觉工程应用的开发思路【转】
    git log用法【转】
    git 使用详解(5)-- get log 查看提交历史【转】
    10 个迅速提升你 Git 水平的提示【转】
    触摸屏学习笔记---自容与互容【原创】
    Linux按键驱动程序设计详解---从简单到不简单【转】
    LCD参数解释及计算【转】
    5.24 Declaring Attributes of Functions【转】
    【SVN Working copy is too old (format 10, created by Subversion 1.6)】解决方式
  • 原文地址:https://www.cnblogs.com/chintsai/p/11829249.html
Copyright © 2011-2022 走看看