| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1705 人关注过本帖
标题:这个运行超时是什么原因?求助~
只看楼主 加入收藏
lostc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
这个运行超时是什么原因?求助~
急 求高手解答!!自己运行就可以,测试就每次都说超时,什么原因啊?

#include<stdio.h>

int item[200];            
double price[10]={4.5,6.9,8.1,9.1,10.1,3.8,4.0,6.9,3.2,5.6};
double total=0;   
int i;        


void setMeal(int set)
{
    int n=0;
    int setItem[50];
    double setTotal=0.000;
    if(set==11)
        {
        printf("Choose 1 item from (1-5) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<1 || setItem[n]>5)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        printf("Choose 1 item from (6-8) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<6 || setItem[n]>8)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        printf("Choose 1 item from (9-10) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<9 || setItem[n]>10)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        setTotal=setTotal*0.98;
    }
    if(set==12)
        {
        printf("Choose 1 item from (1-5) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<1 || setItem[n]>5)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        printf("Choose 1 item from (9-10) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<9 || setItem[n]>10)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        setTotal=setTotal*0.99;
    }
    if(set==13)
        {
        printf("Choose 2 items from (1-5) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<1 || setItem[n]>5)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        scanf("%d",&setItem[n]);
        while(setItem[n]<1 || setItem[n]>5)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        printf("Choose 1 item from (6-8) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<6 || setItem[n]>8)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        printf("Choose 2 items from (9-10) :");
        scanf("%d",&setItem[n]);
        while(setItem[n]<9 || setItem[n]>10)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        scanf("%d",&setItem[n]);
        while(setItem[n]<9 || setItem[n]>10)
                {
            printf("Invalid item, please enter again\n");
            scanf("%d",&setItem[n]);
        }
        setTotal+=price[setItem[n]-1];
        n++;   
        setTotal=setTotal*0.95;
    }
    total+=setTotal;
}



void main()
{
    float paid;
    float change;

    for(i=0;item[i-1]!=-1;i++)
        {
        scanf("%d",&item[i]);
        setMeal(item[i]);

        if(item[i]>13||item[i]<-1)
            printf("Invalid item, please enter again\n");
               
        if(item[i]==-1)
                {        
            printf("Total: $%.1f\n",total);    //show total price
            
            printf("Pay:");
            scanf("%f",&paid);
            while(paid<total)
                        {
                printf("Not enough payment, please enter again\n");
                scanf("%f",&paid);
            }
            change=paid-total;
            printf("Change: %.1f\n",change);
        
        }
        
        total+=price[item[i]-1];
    }
}
搜索更多相关主题的帖子: 测试 include double price total 
2011-10-27 20:18
lostc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-27
收藏
得分:0 
没人理呜呜呜。。。
真的很急的。。。。。。
还是我这个程序写的太白痴了。。。。。
2011-10-27 21:00
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:7 
太长了,原题描述在哪?

重剑无锋,大巧不工
2011-10-27 21:02
GeBron
Rank: 2
等 级:论坛游民
帖 子:23
专家分:33
注 册:2011-4-14
收藏
得分:7 
楼主请说明这些个代码是用来解决什么问题的,并添上适当的注释。
2011-10-27 21:03
lostc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-27
收藏
得分:0 
原题描述更长。。。。大致就是输入东西的序号然后输出对应的价格总和,指定的set可以打折。。。。。
2011-10-27 21:08
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
原题网址发上来就行,我自己去看。总比看这么长的代码猜是干什么的容易些吧

重剑无锋,大巧不工
2011-10-27 21:24
lostc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-27
收藏
得分:0 
没有网址的说。。。。。。。。。。。。。。。。。。。。。。。。
2011-10-27 21:30
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
...

重剑无锋,大巧不工
2011-10-27 21:42
lostc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-27
收藏
得分:0 
2011-10-27 21:44
Alphalab
Rank: 2
等 级:论坛游民
帖 子:22
专家分:12
注 册:2011-3-29
收藏
得分:7 
setmeal()函数也太大了,写成多个小函数,调用一下。看起来也方便。
2011-10-28 10:00
快速回复:这个运行超时是什么原因?求助~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022854 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved