编写一个程序,对用户输入的产品信息进行格式化。程序会话应该类似下面这样:Enter item number: 583Enter unit price: 13.5Enter purchase date (mm/dd/yyyy) : 10/24/2010Item Unit Purchase Price Date583 $ 13.50 10/24/2010其中,产品编号和日期项采用左对齐方式,单位价格采用右对齐方式,允许最大取值为9999.99美元。提示:各个列使用制表符控制。
我写的程序如下:#include <stdio.h>
int main(void){ int item, mm, dd, yyyy; float unitPrice; printf("Enter item number: "); scanf("%d", &item); printf("Enter unit price: "); scanf("%f", &unitPrice); printf("Enter purchase date: "); scanf("%d/%d/%d", &mm, &dd, &yyyy); printf("Item\t\tUnit\t\tPurchase"); printf("\n\t\tPrice\t\tDate"); printf("\n%-d\t\t$ %6.2f\t%-02d/%-02d/%-d", item, unitPrice, mm, dd, yyyy); getch(); return 0;}
其中“允许最大取值为9999.99美元”,应该怎么来正确的限制?如果我输入的是99999.99(前面多加了个9),怎么显示出来的还是99999.99?