CCF NOI1017 价格查询

来源:互联网 发布:搞笑文案知乎 编辑:程序博客网 时间:2024/05/17 06:15

问题链接:CCF NOI1017 价格查询




时间限制: 1000 ms  空间限制: 262144 KB

题目描述

  编程实现以下功能:查询水果的单价。有4种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤和10.20元/公斤。
  运行程序后,首先在屏幕上显示以下菜单(编号和选项)(见样例)。
  当用户输入编号1~4,显示相应水果的单价(保留1位小数);输入0,退出查询;输入其他编号,显示价格为0。

输入

  输入一个整数。

输出

  输出对应的结果。

样例输入

3

样例输出

[1] apples[2] pears[3] oranges[4] grapes[0] Exitprice=4.1

数据范围限制

 



问题分析

  这个问题是先输出一个菜单,然后根据输入选择,计算输出结果。

  在字符屏幕时代,计算机与用户之间多是以这种方式交互的。

程序说明

  程序中,把菜单和价格表都放进数组中。这是出于逻辑简洁和程序通用性的考虑。

要点详解
  • 编写程序需要注意逻辑的简洁,要尽量使得程序具有通用性。
  • 查表法是一种值得推荐的方法,优点多多。



100分通过的C语言程序:

#include <stdio.h>char *menu[] = {     "[1] apples"    , "[2] pears"    , "[3] oranges"    , "[4] grapes"    , "[0] Exit"};float price[] = {3.0, 2.5, 4.1, 10.2};#define N (int)(sizeof(price) / sizeof(float))int main(void){    int choice, i;    for(i=0; i<(int)(sizeof(menu)/sizeof(char *)); i++)        printf("%s\n", menu[i]);    scanf("%d", &choice);    if(choice == 0)        return 0;    else if(choice > N)        printf("price=0\n");    else        printf("price=%.1f\n", price[choice - 1]);    return 0;}




0 0
原创粉丝点击