1. 编写一个程序,以月/日/年(即 mm/dd/yy )的格式接受用户输入的日期信息,并以年月日(即 yyyymmdd )的格式将其显示出来:
Enter a date (mm/dd/yyyy): 2/17/2011 You entered the date 20110217
2. 编写一个程序,对用户输入的产品信息进行格式化。程序会话应类似下面这样:
Enter item number: 583 Enter unit price: 13.5 Enter purchase date (mm/dd/yyyy): 10/24/2010 Item Unit Purchase Price Date 583 $ 13.50 10/24/2010
其中,产品编号和日期项采用左对齐方式,单位价格采用右对齐方式,允许美元金额最大取值为9999.99。 提示 :各个列使用制表符控制。
3. 图书用国际标准书号(ISBN)进行标识。2007年1月1日之后分配的ISBN包含13位数字(旧的ISBN使用10位数字),分为5组,如978-0-393-97950-3。第一组( GS1前缀 )目前为978或979。第二组( 组标识 )指明语言或者原出版国及地区(如0和1用于讲英语的国家)。第三组( 出版商编号 )表示出版商(393是W. W. Norton出版社的编号)。第四组( 产品编号 )是由出版商分配的用于识别具体哪一本书的编号(97950)。ISBN的末尾是一个 校验数字 ,用于验证前面数字的准确性。编写一个程序来分解用户输入的ISBN信息:
Enter ISBN: 978-0-393-97950-3 GS1 prefix: 978 Group identifier: 0 Publisher code: 393 Item number: 97950 Check digit: 3
注意 :每组中数字的个数是可变的,不能认为每组的长度都与示例一样。用实际的ISBN值(通常放在书的封底和版权页上)测试你编写的程序。
4. 编写一个程序,提示用户以(xxx) xxx-xxxx的格式输入电话号码,并以xxx.xxx.xxxx的格式显示该号码:
Enter phone number [(xxx) xxx-xxxx]: (404) 817-6900 You entered 404.817.6900
5. 编写一个程序,要求用户(按任意次序)输入1~16的所有整数,然后用4×4矩阵的形式将它们显示出来,再计算出每行、每列和每条对角线上的和:
Enter the numbers from 1 to 16 in any order: 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Row sums: 34 34 34 34 Column sums: 34 34 34 34 Diagonal sums: 34 34
如果行、列和对角线上的和都一样(如本例所示),则称这些数组成一个 幻方 (magic square)。这里给出的幻方出现于艺术家和数学家Albrecht Dürer创作于1514年的一幅画中。(注意,矩阵的最后一行中间的两个数给出了该画的创作年代。)
6. 修改3.2节的addfrac.c程序,使用户可以同时输入两个分数,中间用加号隔开:
Enter two fractions separated by a plus sign: 5/6+3/4 The sum is 38/24