作者: selfimpr
博客: http://blog.csdn.net/lgg201
C语言程序设计----示例及练习题----第二章--格式化输入输出
声明: 部分示例代码为书中源代码.其他原创代码多数对原题要求有所改动.
page 31:
#include <stdio.h> int main() { int i, j; float x, y; i = 10; j = 20; x = 334554343.2892; y = 5527.0; printf("i = %d, j = %d, x = %.2g, y = %f/n", i, j, x, y); return 0; }
page34:
#include <stdio.h> int main() { int a = 0, b = 0; float c = 0.0, d = 0.0; scanf("%d%d%f%f", &a, &b, &c, &d); printf("a = %d/nb = %d/nc = %f/nd = %f", a, b, c, d); return 0; }
练习2: 编写printf函数调用下列格式来显示float型变量x:
a) 指数表示形式: 最小为8的字段宽度内左对齐; 小数点后保留1位数字.
b) 指数表示形式: 最小为10的字段宽度内右对齐; 小数点后保留6位数字
c) 定点十进制表示形式: 最小为8的字段宽度内左对齐; 小数点后保留3位数字
d) 定点十进制表示形式: 最小为6的字段宽度内右对齐; 小数点后无数字.
#include <stdio.h> int main() { float x = 345.678; printf("%-8.1e/n", x); printf("%10e/n", x); printf("%-8.3f/n", x); printf("%6.0f", x); return 0; }
练习4: 编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为月/日/年(mm/dd/yy), 输出日期的形式为年月日(yymmdd), 格式如下:
Enter a date (mm/dd/yy): 2/17/96
You entered the date 960217
#include <stdio.h> int main() { printf("Enter a date (mm/dd/yy): "); int year = 0, month = 0, day = 0; scanf("%d/%d/%d", &month, &day, &year); printf("You entered the date %02d%02d%02d", year, month, day); return 0; }
练习5: 编写一个程序, 对用户录入的产品信息进行格式化, 程序运行后需要有以下会话:
Enter item number: 583
Enter unit price: 13.5
Enter purchase date(mm/dd/yy): 10/24/95
Item Unit Price Purchase Date
583 $ 13.50 10/24/95
其中, 数字项和日期项左对齐, 单位价格右对齐, 美元数量最大取值为9999.99
#include <stdio.h> int main() { int number = 0; float price = 0; int year = 0; int month = 0; int day = 0; printf("Enter item number: "); scanf("%d", &number); printf("Enter unit price: "); scanf("%f", &price); printf("Enter purchase date (mm/dd/yy): "); scanf("%d/%d/%d", &month, &day, &year); printf("Item Unit Purchase/n"); printf("%-9d$ %-9.2f%02d%02d%02d", number, price, month, day, year); return 0; }
练习6: 图书用国际标准图书编号进行标识, 如0-393-30375-6.编号中的第一个数字说明编写书籍所用的语言(例如, 0表示英语, 3表示德语). 接下来的一组数字表示出版社. 随后的数字是出版社定的用来识别图书. 最后, 结尾的数字是校验数字, 用来验证前面数字的准确性. 编写一个程序来分解用户录入的ISBN信息: 格式如下:
Enter ISBN: 0-393-30375-6
Language: 0
Publisher: 393
Book Number: 30375
Check digit: 6
#include <stdio.h> int main() { int language, publisher, booknumber, checkdigit; printf("please enter the ISBN: "); scanf("%d-%d-%d-%d", &language, &publisher, &booknumber, &checkdigit); printf("Language: %d/nPublisher: %d/nBook Number: %d/nCheck digit: %d", language, publisher, booknumber, checkdigit); return 0; }