smile1110 发表于 2017-2-25 15:28

简单的数学题(计算邮资)

本帖最后由 smile1110 于 2017-3-16 18:47 编辑

题目


答案


嘿嘿嘿,又偷懒一周没有做题,发帖监督学习情况,老师写的是(n-1000+500-)/500,俺觉得应该下面写,思路比较清晰.
要注意的是%d和%c之间要有空格,否则会认为c是ascii当中的空格忽略
还有就是许多家伙不会写ch=='y',于是只能查找ascii当中y对应的121,写为ch==121

#include <stdio.h>

int main()
{
    int n,total;
    char ch;
    scanf("%d %c",&n,&ch);
    total=8;
    if(ch=='y')
      total=total+5;

    if(0<=n&&n<=1000)
      printf("%d",total);

    else
    {
      n=ceil((n-1000)/500.0);
      total=total+4*n;
      printf("%d",total);
    }

    return 0;
}

zpfttkl 发表于 2017-2-25 15:47

大大总是棒棒的!前来顶贴了!

潘玮柏 发表于 2017-2-25 15:58

{:1_921:}厉害支持一下

Ansel23 发表于 2017-2-25 18:21

什么情况            

wangsheng66 发表于 2017-2-25 18:30

import java.util.Scanner;
class jisuan {
        public static void main(String[] args) {
                        Scanner sc = new Scanner(System.in);
                       
                       
                        int jiage = 0;
                        int zhongliang = sc.nextInt();
                        String xuqiu = sc.next();
                       

                        if (zhongliang>0 && zhongliang<=1000) {
                                switch (xuqiu){
                                case "y":
                                        jiage = 8 + 5;
                                        System.out.println(jiage);
                                break;
                                case "n":
                                        jiage = 8;
                                        System.out.println(jiage);
                                break;

                                }


                        }else {
                                switch (xuqiu){
                                case "y":
                                jiage = (int)(Math.ceil((zhongliang-1000)/500.0) * 4 + 8 +5);
                                System.out.println(jiage);
                                break;

                                case "n":
                                jiage = (int)(Math.ceil((zhongliang-1000)/500.0) * 4 + 8);
                                System.out.println(jiage);
                                break;
                               
                                }



                        }

                       

               
        }
}


刚学java,也试着写了一下。{:301_975:}

小可爱~ 发表于 2017-2-27 13:10

    if(0<=0&&n<=1000)
这个有问题吧? 0<=0

.·.·. 发表于 2017-3-13 18:35

本帖最后由 .·.·. 于 2017-3-17 21:17 编辑

{:17_1054:}话说大大写这么长真的好吗?
以及程序没编译……不确定有没问题,效率至上,注重了流水的速度……应该会很快……话说1000ms的时限……这个程序可能能算出全中国一天的邮资费用吧
#include <stdio.h>
int main()
{
    unsigned int n;
    char ch;
    scanf("%d %c",&n,&ch);
    n/=500;n+=(n<=1)+(n==0);n*=4;
    return(printf("%d",n+5*(ch=='y')));
}

smile1110 发表于 2017-3-16 18:48

小可爱~ 发表于 2017-2-27 13:10
if(0

打错了,应该是0<=n

smile1110 发表于 2017-3-16 18:49

.·.·. 发表于 2017-3-13 18:35
话说大大写这么长真的好吗?
以及程序没编译……不确定有没问题,效率至上,注重了流水的速度 ...

这么nb啊,这代码碉堡了

.·.·. 发表于 2017-3-17 21:15

smile1110 发表于 2017-3-16 18:49
这么nb啊,这代码碉堡了

{:17_1074:}被大神回复了呢……
话说大神……大约一年前你破解百度云的时候我就知道你了呢
页: [1]
查看完整版本: 简单的数学题(计算邮资)