C Primer Plus 第六版 编程练习第四章答案 最新出炉

2020-09-01 452点热度 1人点赞 0条评论

相关问题详情请访问我的个人网站.
该内容同步发布在耳壳网.

目录

1,编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。

// 4.1
#include <stdio.h>

int main(void)
{
    char first_name[20];
    char last_name[20];

    printf("Enter your first name: ");
    scanf("%s", first_name);

    //getchar();

    printf("Enter your last name: ");
    scanf("%s", last_name);

    printf("%s, %s\n", last_name, first_name);

    return 0;
}

2,编写一个程序,提示用户输入名字,并执行以下操作:

a.打印名字,包括双引号:

b.在宽度为20的字段右端打印名字,包括双引号;

c.在宽度为20的字段左端打印名字,包括双引号;

d.在比姓名宽度宽3的字段中打印名字

// 4.2
#include <stdio.h>
#include <string.h>

int main(void)
{
    char first_name[20];
    char last_name[20];
    int length_name, width;

    length_name = strlen(first_name) + strlen(last_name);
    width = length_name + 3;

    printf("Enter your first name: ");
    scanf("%s", first_name);

    printf("Enter your last name: ");
    scanf("%s", last_name);

    printf("\"%s %s\"\n", first_name, last_name);
    printf("\"%20s %20s\"\n", first_name, last_name);
    printf("\"%-20s %-20s\"\n", first_name, last_name);
    printf("\"%s %s\"\n", first_name, last_name);

    return 0;
}

3,编写一个程序,读取一个浮点数,首先以小数点计数法打印,然后以指数计数法打印。用下面的格式进行输出:

a. The input is 21.3 or 2.1e+001.

b. The input is +21.290 or 2.129E+001

// 4.3
#include <stdio.h>
#include <string.h>

int main(void)
{
    float num;

    printf("Enter a float number: ");
    scanf("%f", &num);
    printf("输入%f\n", num);
    printf("输入%e\n", num);

    return 0;
}

4,编写一个程序,提示用户输入身高(单位:英寸)和姓名,然后以下面的格式显示用户刚才输入的信息:

Dabney, you are 6.208 feet tall

使用float类型,并用/作为除号。如果你愿意,可以要求用户以厘米为单位输入身高,并以米为单位显示出来。

// 4.4
#include <stdio.h>
#include <string.h>

int main(void)
{

    float height;
    char name[20];

    printf("Enter your name: ");
    scanf("%s", name);
    printf("Enter your height(cm): ");
    scanf("%f", &height);
    printf("%s, you are %.2fm tall.\n", name, height / 100);

    return 0;
}

5,编写一个程序,提示用户输入以兆位每秒为单位的下载速度和以兆字节为单位的文件大小,程序应计算文件的下载时间。注意,这里一字节等于八位。使用float类型,并用/作为除号。该程序要以下面的格式打印3个变量的值(下载速度,文件大小和下载时间),显示小数点后面两位数字:

At 18.12 megabits per second,a file of 2.20 megabytes

downloads in 0.97 seconds

// 4.5
#include <stdio.h>
#include <string.h>

int main(void)
{
    float download_speed;
    float file_size;
    float download_time;

    printf("Enter your speed of downloading: ");
    scanf("%f", &download_speed);
    printf("Enter your file size: ");
    scanf("%f", &file_size);

    download_time = file_size / download_speed;

    printf("At %.2f megabits per second, a file of %.2f megabytes\n\
downloads in %.2f seconds.", download_speed, file_size, download_time);

    return 0;
}

6,编写一个程序,先提示用户输入名,然后提示用户输入姓。在一行打印用户输入的名和姓,下一行分别打印名和姓的字母数。字母数要与相应名和姓的结尾对齐,如下所示:

Melissa Honeybee

7 8

接下来,再打印相同的信息,但是字母个数与相应名和姓的开头对齐,如下所示:

Melissa Honeybee

7 8

// 4.6
#include <stdio.h>
#include <string.h>

int main(void)
{
    char first_name[40];
    char last_name[40];
    int fn_size, ln_size;

    printf("Enter your name(姓、名之间用空格分开): ");
    scanf("%s %s", &first_name, &last_name);

    fn_size = strlen(first_name);
    ln_size = strlen(last_name);

    printf("%s %s\n", first_name, last_name);
    printf("%*d %*d\n", fn_size, fn_size, ln_size, ln_size);

    printf("%s %s\n", first_name, last_name);
    printf("%-*d %-*d\n", fn_size, fn_size, ln_size, ln_size);

    return 0;
}

相关问题详情请访问我的个人网站.
该内容同步发布在耳壳网.

订阅博客,及时获取文章更新邮件通知

close

订阅博客,及时获取文章更新邮件通知

古月弧

保持专注,持续进步。

文章评论

您需要 登录 之后才可以评论