[程設習題] C Primer Plus Ch4 #2

2.     請試著寫一個程式,它會要求你打入你的名字,然後用以下方式顯示之。


        a.     印出名字在二個很緊黏的雙引號裡。


        b.     印出名字在一個20字元寬,包在雙引號裡的區域。


        c.     印出名字在一個20字元寬,包在雙引號裡的區域,名字需靠左顯示。


        d.     印出名字在一個比名字多3個字元的區域裡。


 


程式碼如下






#include “stdafx.h”


#include <stdio.h>                              //引入stdio.h


#include <stdlib.h>                             //引入stdlib.h


#include <string.h>                             //引入string.h檔,這樣才可以使用strlen函數


 


int main(int argc, char* argv[])


{


     char name[20];                             //宣告變數name,型態為個字元陣列


     int len_name;                              //宣告變數len_name


     printf(“Please enter your first name:\n”); //印出字串


     scanf(“%s”, name);                         //程式等待使用者輸入姓名,assignname字元陣列


     len_name = strlen(name);                   //算出name有多少有效字元,assignlen_name變數裡


     printf(“Print type (a):\n”);               //印出字串


     printf(“\”%s\”\n\n”, name);                //印出在二個很緊黏的雙引號裡


     printf(“Print type (b):\n”);              


     printf(“\”%20s\”\n\n”, name);              //在一個字元寬,包在雙引號裡的區域


     printf(“Print type (c):\n”);              


     printf(“\”%-20s\”\n\n”, name);             //印出在一個字元寬,包在雙引號裡的區域,名字需靠左顯示


     printf(“Print type (d):\n”);              


     printf(“\”%s\”\n\n”, len_name+3, name);   //印出在一個比名字多個字元的區域裡,用號決定區域的大小


 


     system(“PAUSE”);                           //「按任意鍵繼續」的程式,讓程式暫停


     return 0;                                  //函數結束,傳回整數並跳回原本呼叫的地方


}