1. 程式人生 > >C Primer Plus 6th(中文版)第四章程式設計練習答案

C Primer Plus 6th(中文版)第四章程式設計練習答案

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; }

這裡寫圖片描述