欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C Primer Plus 6th(中文版)第四章编程练习答案

程序员文章站 2024-03-09 14:28:05
...

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

打印名和姓,包括双引号;
在宽度为20的字段右端打印名和姓,包括双引号;
在宽度为20的字段左端打印名和姓,包括双引号;
在比姓名宽度宽3的字段中打印名和姓。

这里写//提示用户输入名字,并执行以下操作 

#include<stdio.h>
#include<string.h> 
#define MAXSIZE 20

int main(void)
{
    char name[MAXSIZE];
    int width,width1;   //输入姓名的长度 
    printf("pleae enter your name in:\n");
    scanf("%s",name);
    width=strlen(name);
    width1=width+3;

    printf("1.打印名字,包括双引号:\n");
    printf("\"%s\"\n",name);   //输出双引号要加反斜杠 
    printf("\n");

    printf("2.在宽度为20的字段右端打印名字,包括双引号:\n");
    printf("\"%20s\"\n",name);
    printf("\n");

    printf("3.在宽度为20的字段左端打印名字,包括双引号:\n");
    printf("\"%-20s\"\n",name);
    printf("\n");

    printf("4.在比姓名宽度宽3的字段中打印姓名:\n");
    printf("%*s\n",width1,name);   //*为抑制赋值 

    return 0;
 } 

C Primer Plus 6th(中文版)第四章编程练习答案

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

//提示用户输入名,然后提示输入姓。在一行打印输入的名和姓,下一行分别打印名和姓的字母数,尾部对齐。再打印相同信息,头部对齐。 

#include<stdio.h>
#include<string.h>
#define MAXSIZE 20

int main(void)
{
    char first_name[MAXSIZE];
    char last_name[MAXSIZE];
    int width1,width2;   //width1表示first_name的长度,width2表示last_name的长度。 

    printf("please enter your first name:\n");
    scanf("%s",first_name);
    printf("please enter your last name:\n");
    scanf("%s",last_name);
    printf("\n");

    width1=strlen(first_name);
    width2=strlen(last_name);

    printf("尾部对齐:\n");
    printf("%s %s\n",first_name,last_name);
    printf("%*d %*d\n",width1,width1,width2,width2);
    printf("\n");

    printf("头部对齐:\n");
    printf("%s %s\n",first_name,last_name);
    printf("%-*d %-*d",width1,width1,width2,width2);

    return 0;
} 

C Primer Plus 6th(中文版)第四章编程练习答案