C Primer Plus 6th(中文版)第四章程式設計練習答案
阿新 • • 發佈:2019-02-09
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;
}