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

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

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

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

#include
#include 
#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(中文版)第四章编程练习答案_第1张图片

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

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

#include
#include
#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(中文版)第四章编程练习答案_第2张图片

你可能感兴趣的:(C语言)