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;
}
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;
}
上一篇: Netty总结