明解C语言 入门篇 第5章答案

练习5-1

/*
    依次把1、2、3、4、5 赋值给数组的每个元素并显示(使用for语句)
*/

#include <stdio.h>

int main(void)
{
    int i;
    int v[5];    /* int[5]数组 */

    for (i = 0; i <5; i++)        /* 为数组元素赋值 */
        v[i] = i ;

    for (i = 0; i<5; i++)        /* 显示元素的值 */
        printf("v[%d] = %d\n", i, v[i]);

    return 0;
}

练习5-2 

/*
    依次把1、2、3、4、5 赋值给数组的每个元素并显示(使用for语句)
*/

#include <stdio.h>

int main(void)
{
    int i;
    int v[5];    /* int[5]数组 */

    for (i = 0; i <5; i++)        /* 为数组元素赋值 */
        v[i] = i + 1;

    for (i = 4; i >=0; i--)        /* 显示元素的值 */
        printf("v[%d] = %d\n", i, v[i]);

    return 0;
}

练习5-3

/*
    从头开始依次用1、2、3、4、5 对数组各元素进行初始化并显示
*/

#include <stdio.h>

int main(void)
{
    int i;
    int v[5] = { 5,4,3,2,1 };        /* 初始化 */

    for (i = 0; i < 5; i++)            /* 显示元素的值 */
        printf("v[%d] = %d\n", i, v[i]);

    return 0;
}

练习5-4

/*
    把数组中的全部元素复制到另一个数组中
*/

#include <stdio.h>

int main(void)
{
    int i;
    int a[5] = { 17, 23, 36 };    /* 使用{17,23,36,0,0} 进行初始化 */
    int b[5];

    for (i = 0; i < 5; i++) {
        b[4 - i] = a[i];
    }


    puts("  a    b");
    puts("---------");
    for (i = 0; i < 5; i++)
        printf("%4d%4d\n", a[i], b[i]);

    return 0;
}

练习5-5

/*
    对数组的全部元素进行倒序排列
*/

#include <stdio.h>
#define number 7

int main(void)
{
    int i;
    int x[number];                    /* int[number] 数组 */

    for (i = 0; i < number; i++) {    /* 输入元素的值 */
        printf("x[%d] : ", i);
        scanf("%d", &x[i]);
    }
    
    for (i = 0; i < 3; i++) {    /* 对数组元素进行倒序排列 */
        int temp = x[i];
        x[i] = x[6 - i];
        x[6 - i] = temp;
    }

    puts("倒序排列了。");
    for (i = 0; i < number; i++)        /* 显示元素的值 */
        printf("x[%d] = %d\n", i, x[i]);

    return 0;
}

练习5-6

都会变成  1

练习5-7

#include <stdio.h>

#define number    80    

int main(void)
{
    int v[number];
    int num;
    int i;
    printf("数据个数:");
    scanf("%d", &num);
    for (i = 0; i < num; i++) {
        printf("%d号:",i+1);
        scanf("%d", &v[i]);
    }
    printf("{");
    for (i = 0; i < num-1; i++) {
        
        
        printf("%d, ", v[i]);
    }
    printf("%d", v[num-1]);
    printf("}");
    


    return 0;
}

练习5-8

 1 /*
 2     输入学生的分数并显示出分布情况
 3 */
 4 
 5 #include <stdio.h>
 6 
 7 #define NUMBER    80        /* 人数上限 */
 8 
 9 int main(void)
10 {
11     int i, j;
12     int num;                /* 实际的人数 */
13     int tensu[NUMBER];        /* 学生的分数 */
14     int bunpu[11] = { 0 };    /* 分布图 */
15 
16     printf("请输入学生人数:");
17     scanf("%d", &num);
18         
19     printf("请输入%d 人的分数。\n", num);
20 
21     for (i = 0; i < num; i++) {
22         printf("%2d号:", i + 1);
23         scanf("%d", &tensu[i]);
24         bunpu[tensu[i] / 10]++;
25     }
26 
27     puts("\n---分布图---");
28     
29 
30     
31 
32     for (i = 0; i <= 9; i++) {                /* 不到100分 */
33         printf("%3d - %3d:", i * 10, i * 10 + 9);
34         for (j = 0; j < bunpu[i]; j++)
35             putchar('*');
36         putchar('\n');
37     }
38     printf("      100:");
39     for (j = 0; j < bunpu[10]; j++)            /* 100分 */
40         putchar('*');
41     putchar('\n');
42     
43 
44     return 0;
45 }

练习5-9

猜你喜欢

转载自www.cnblogs.com/nightswatch-candle/p/11819416.html
今日推荐