给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。

首先在屏幕上显示以下菜单:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit

用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。

输入格式:

输入在一行中给出用户连续输入的若干个编号。

输出格式:

首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

输入样例1:

3 -1 0 2

输出样例1:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 4.10
price = 0.00

输入样例2:

1 2 3 3 4 4 5 6 7 8

输出样例2:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 3.00
price = 2.50
price = 4.10
price = 4.10
price = 10.20
#include <stdio.h>
int main(int argc, const char *argv[])
{
    int no;
    char* menu[5] = {"exit","apple","pear","orange","grape"};
    float price[5] = {0,3.00,2.50,4.10,10.20};
    int i=0;
    for(i=1;i<5;i++)
    {
        printf("[%d] %s\n",i,menu[i]);
    }
    printf("[0] %s\n",menu[0]);
    for(i=0;i<5;i++)
    {
        scanf("%d",&no);
        if(no>0 && no<=4)
        {
            printf("price = %.2f\n",price[no]);
        }
            else if(0 == no)
        {
            break;
        }
        else
        {
            printf("price = %.2f\n",price[0]);
        }
    }
    return 0;
}

注意

1、字符串数组的定义:char* str[2] = {"hello","world"}; 此时,str[0]中存储的数据是字符串“hello”的首地址,str[1]中存储的数据是字符串“world”的首地址。str[0]和str[1]的类型为char*。

2、字符串的定义:

char* str0 = "helle";

char str1[] = {'w','o','r','l','d'};

2、格式符 %s 对应的数据类型为char*,专用于有 \0 结尾的数组即字符串。

Last modification:2021 年 03 月 27 日 15 : 55 : 17