优化代码 void xiaoshi() { int k; char c[2][30]={"木薯糖水","来点酸野"}; { float price[2]={9,12}; printf("\n"); printf("小食推荐\n"); printf(" %-6s%-6s%\n", "\t名称 ", "\t单价\n "); printf(" %-7s%-7s%\n", "\t木薯糖水", "\t9\n"); printf(" %-7s%-7s%\n", "\t来点酸野", "\t12\n"); } }
时间: 2023-07-02 09:15:19 浏览: 139
这段代码可以进行如下优化:
1. 使用常量来保存小食名称和价格,避免魔法数字的使用。例如可以使用以下代码:
```c
const char* names[] = {"木薯糖水", "来点酸野"};
const float prices[] = {9.0f, 12.0f};
const int numSnacks = 2;
```
2. 使用循环来输出小食列表。例如可以使用以下代码:
```c
printf("\n小食推荐\n");
printf("%-10s%-10s\n", "名称", "单价");
for (int i = 0; i < numSnacks; ++i) {
printf("%-10s%-10.1f\n", names[i], prices[i]);
}
```
3. 去除不必要的大括号。例如可以使用以下代码:
```c
void xiaoshi() {
const char* names[] = {"木薯糖水", "来点酸野"};
const float prices[] = {9.0f, 12.0f};
const int numSnacks = 2;
printf("\n小食推荐\n");
printf("%-10s%-10s\n", "名称", "单价");
for (int i = 0; i < numSnacks; ++i) {
printf("%-10s%-10.1f\n", names[i], prices[i]);
}
}
```
相关问题
var day = timecha / (1000 * 60 * 60 * 24) // 先计算出时间差总共有多少天 var xiaoshi = (timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) // 计算去掉天数后剩余的时间有多少小时 var fenzhong = (timecha % (1000 * 60 * 60)) / (1000 * 60) // 计算去掉天数和小时数后剩余的时间有多少分钟 var miao = (timecha % (1000 * 60)) / 1000 // 计算去掉天数、小时数和分钟数后剩余的时间有多少秒如何在不改变原有公式的办法下去除小数
你使用 Math.floor() 函数来向下取整,将小数去除。例如:
```
var day = Math.floor(timecha / (1000 * 60 * 60 * 24)); // 取整,计算出时间差总共有多少天
var xiaoshi = Math.floor((timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 取整,计算去掉天数后剩余的时间有多少小时
var fenzhong = Math.floor((timecha % (1000 * 60 * 60)) / (1000 * 60)); // 取整,计算去掉天数和小时数后剩余的时间有多少分钟
var miao = Math.floor((timecha % (1000 * 60)) / 1000); // 取整,计算去掉天数、小时数和分钟数后剩余的时间有多少秒
```
这样可以将结果转换成整数,去除小数部分。
var day = ~~(timecha / (1000 * 60 * 60 * 24)); // 取整,计算出时间差总共有多少天 var xiaoshi = ~~((timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 取整,计算去掉天数后剩余的时间有多少小时 var fenzhong = ~~((timecha % (1000 * 60 * 60)) / (1000 * 60)); // 取整,计算去掉天数和小时数后剩余的时间有多少分钟 var miao = ~~((timecha % (1000 * 60)) / 1000); // 取整,计算去掉天数、小时数和分钟数后剩余的时间有多少秒不用~~
除了使用 `~~` 进行取整外,你还可以使用其他的取整方法,例如 Math.trunc()、parseInt()、Number.parseInt() 等。代码如下所示:
```
var day = Math.trunc(timecha / (1000 * 60 * 60 * 24)); // 取整,计算出时间差总共有多少天
var xiaoshi = Math.trunc((timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 取整,计算去掉天数后剩余的时间有多少小时
var fenzhong = Math.trunc((timecha % (1000 * 60 * 60)) / (1000 * 60)); // 取整,计算去掉天数和小时数后剩余的时间有多少分钟
var miao = Math.trunc((timecha % (1000 * 60)) / 1000); // 取整,计算去掉天数、小时数和分钟数后剩余的时间有多少秒
```
```
var day = parseInt(timecha / (1000 * 60 * 60 * 24)); // 取整,计算出时间差总共有多少天
var xiaoshi = parseInt((timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 取整,计算去掉天数后剩余的时间有多少小时
var fenzhong = parseInt((timecha % (1000 * 60 * 60)) / (1000 * 60)); // 取整,计算去掉天数和小时数后剩余的时间有多少分钟
var miao = parseInt((timecha % (1000 * 60)) / 1000); // 取整,计算去掉天数、小时数和分钟数后剩余的时间有多少秒
```
```
var day = Number.parseInt(timecha / (1000 * 60 * 60 * 24)); // 取整,计算出时间差总共有多少天
var xiaoshi = Number.parseInt((timecha % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 取整,计算去掉天数后剩余的时间有多少小时
var fenzhong = Number.parseInt((timecha % (1000 * 60 * 60)) / (1000 * 60)); // 取整,计算去掉天数和小时数后剩余的时间有多少分钟
var miao = Number.parseInt((timecha % (1000 * 60)) / 1000); // 取整,计算去掉天数、小时数和分钟数后剩余的时间有多少秒
```
这些方法都可以将结果转换成整数,去除小数部分。
阅读全文