ZZULIOJ.1033:5級制成績——1043:最大値(C言語Vs Python)

60062 ワード

目次
  • 1033:5級制成績
  • 1034:夏季販促
  • 1035:セグメント関数評価
  • 1036:ある年のある月は何日
  • があります
  • 1037:四則演算
  • 1038:絶対値最大
  • 1039:n個数求和
  • 1040:数列加算1
  • 1041:数列和2
  • 1042:数列和3
  • 1043:最大値
  • 1033:5級制成績
    タイトルの説明は1つのパーセント制の成績を与えて、パーセント制の成績によってその対応する等級を出力してください.変換関係は、90点以上が「A」、80~89が「B」、70~79が「C」、60~69が「D」、60点以下が「E」である.
    パーセンテージ成績(0~100の整数)を入力します.対応するレベルを出力します.
    サンプル入力Copy 100サンプル出力Copy A
    #include
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	switch(n/10)
    	{
    		case 10:
    		case 9:printf("A");break;
    		case 8:printf("B");break;
    		case 7:printf("C");break;
    		case 6:printf("D");break;
    		default:printf("E");break;
    	}
    } 
    

    Vs
    n = int(input())
    if n // 10 == 10 or n // 10 == 9:
        print("A")
    elif n // 10 == 8:
        print("B")
    elif n // 10 == 7:
        print("C")
    elif n // 10 == 6:
        print("D")
    else:
        print("E")
    

    1034:夏季セール
    テーマはデパートの夏の販促を説明して、ショッピングは500元以下で、割引しません;ショッピング500元(含む)以上、95割引;ショッピング1000元(含む)以上、9割引;ショッピング3000元(含む)以上、85割引;ショッピング5000元(含む)以上、8割引.消費金額によって、ユーザーが実際に支払うべき金額を確定する.
    実数を入力し、消費金額を表します.出力出力は実数で、ユーザーが実際に支出する必要がある数を示し、2桁の小数を保持します.
    サンプル入力Copy 5100サンプル出力Copy 4080.00
    #include
    int main(void)
    {
        double a;
        scanf("%lf",&a);
        if(a>=500&&a<1000)
          a=a*0.95;
        else if(a>=1000&&a<3000)
          a=a*0.9;
        else if(a>=3000&&a<5000)
          a=a*0.85;
        else if(a>=5000)
          a=a*0.8;
        else
          a=a*1;
        printf("%.2f",a);
    }
    

    Vs
    a = float(input())
    if a >= 500 and a < 1000:
        a = a * 0.95
    elif a >= 1000 and a < 3000:
        a = a * 0.90
    elif a >= 3000 and a < 5000:
        a = a * 0.85
    elif a >= 5000:
        a = a * 0.80
    else:
        a = a * 1
    print("%.2f" %a)
    

    1035:セグメント関数の評価
    タイトル記述は既知である:yはxの関数であり、xがx>=-2であり、x<3の場合、y=5-|3 x+2|;x>=3の場合、y=3 x+4
    任意の整数xを入力します.出力出力は整数、すなわちxに対応する関数値である.
    サンプル入力Copy 2サンプル出力Copy-3
    #include
    #include
    int main(void)
    {
    	int x, y;
    	scanf("%d",&x);
    	if(x<-2)
    	   y=7-2*x;
    	else if(x>=3)
    	   y=3*x+4;
    	else
    	   y=5-fabs(3*x+2);
    	printf("%d",y);
    }
    

    Vs
    import math
    x = int(input())
    if x < -2:
        y = 7 - 2 * x
    elif x >= 3:
        y = 3 * x + 4
    else:
        y = 5 - math.fabs(3 * x + 2)
    print("%d" %y)
    

    1036:ある年ある月は何日ありますか
    テーマはあなたに1つの年と月を説明して、その月が何日あることを求めます
    年(正の整数)、月(1~12)を入力し、その月を出力する日数を1つのスペースで区切って、行を個別に占めます.
    サンプル入力Copy 2012 2サンプル出力Copy 29
    #include
    int main(void)
    {
    	int m, n;
    	scanf("%d%d",&m, &n);
    	switch(n)
    	{
    		case 4:
    		case 6:
    		case 9:
    		case 11:printf("30
    "
    );break; case 2: if(m%400==0||m%100!=0&&m%4==0) printf("29
    "
    ); else printf("28
    "
    );break; default:printf("31
    "
    ); } }

    Vs
    m , n = map(int,input().split())
    if n == 4 or n == 6 or n == 9 or n == 11 :
        print("30")
    elif n == 2:
        if m % 400 == 0 or (m % 100 != 0 and m % 4 == 0):
            print("29")
        else:
            print("28")
    else:
        print("31")
    

    1037:四則演算
    テーマはあなたに1つの簡単な4つの演算式を説明して、2つの実数と1つの演算子を含んで、プログラミングして結果を計算してください
    入力式のフォーマットは:s 1 op s 2、s 1とs 2は2つの実数で、opは演算子(+、-、*、/)を表し、他の文字出力も可能です.演算が法に合致する場合、式の値を出力します.演算子が正当でない場合や除算を行う場合の除算数が0であれば「Wrong input!」と出力します.最後の結果は小数点以下で2桁保持されます.
    サンプル入力Copy 1.0+1.0サンプル出力Copy 2.00
    提示除数は0であり、|s 2|<1 e-10(すなわち10の-10次方)で判断する
    #include
    #include
    int main(void)
    {
    	char op;
    	double x, y;
    	scanf("%lf %c %lf",&x, &op, &y);
    	switch(op)
    	{
    		case'+':printf("%.2f
    "
    ,x+y);break; case'-':printf("%.2f
    "
    ,x-y);break; case'*':printf("%.2f
    "
    ,x*y);break; case'/': if(fabs(y)<1e-10) printf("Wrong input!
    "
    ); else printf("%.2f
    "
    ,x/y);break; default:printf("Wrong input!
    "
    );break; } return 0; }

    Vs
    import math
    a = input().split()
    x = float(a[0])
    op = str(a[1])
    y = float(a[2])
    if op == '+':
        print("%.2f" %(x + y))
    elif op == '-':
        print("%.2f" %(x - y))
    elif op == '*':
        print("%.2f" %(x * y))
    elif op == '/':
        if(math.fabs(y) < 1e-10):
            print("Wrong input!")
        else:
            print("%.2f" %(x // y))
    else:
        print("Wrong input!")
    

    1038:絶対値最大
    タイトル記述は3つの整数を入力し、絶対値が最大の数を出力します.
    3つのint範囲の整数を入力し、スペースで区切ります.出力出力は3つの数の中で絶対値が最大の数で、単独で1行を占めます.絶対値の最大数が一意でない場合、最初に現れたものを出力します.例えば、入力が1-33であれば、出力は-3である.入力が1-3なら出力は3です.
    サンプル入力Copy 1 2-3サンプル出力Copy-3
    #include
    #include 
    int main()
    {
    	int a, b, c, max;
    	scanf("%d %d %d",&a,&b,&c);
    	max=(abs(a)>=abs(b))?a:b;
    	max=(abs(max)>=abs(c))?max:c;
         printf("%d",max);      
    }
    

    Vs
    import math
    a , b , c = map(int,input().split() )
    max = a
    if math.fabs(max) < math.fabs(b):
        max = b
    if math.fabs(max) < math.fabs(c):
        max = c
    print(max)
    

    1039:n個の数の和
    タイトル記述は1つの整数nとn個の整数を入力し、このn個の整数の和を出力する.
    入力には2行あります.1行目は正の整数n、2行目はnの整数です.出力は整数、すなわちn個の数の和を出力する.出力は単独で1行を占めます.
    サンプル入力Copy 3 7 3 2サンプル出力Copy 12
    #include
    int main(void)
    {
    	int i, m, n, sum;
    	scanf("%d",&n);
    	i=1;
    	sum=0;
    	while(i<=n)
    	{
    		scanf("%d",&m);
    		sum+=m;
    		i++;
    	}
    	printf("%d",sum);
     } 
    

    Vs
    n = int(input())
    a=input().split()
    sum = i = 0
    for m in range(n) :
        m = int(a[i])
        sum += m
        i += 1
    print(sum)
    

    1040:数列加算1
    タイトル記述入力整数n,出力数列1+1/3+1/5+......前n項の和.
    入力入力には正の整数nが1つしかありません.出力結果は2桁の小数を保持し、単独で1行を占める
    サンプル入力Copy 3サンプル出力Copy 1.53
    #include
    int main()
    {
    	int n,i;
    	double sum;
    	scanf("%d",&n);
    	sum=0.0;
    	for(i=1;i<=n;i++)
    	{
    		sum=sum+1.0/(2*i-1);
    	}
    	printf("%.2lf
    "
    ,sum); }

    Vs
    n = int(input())
    sum = 0.0
    j = 1
    for i in range(n):
        sum += 1.0 / (2 * j - 1)
        j += 1
    print("%.2f" %sum)
    

    1041:数列加算2
    タイトル記述入力整数n、出力数列1-1/3+1/5-......前n項の和.
    入力入力は整数nが1つしかありません.出力結果は2を小数点以下に保持し、1行ずつ占めます.
    サンプル入力Copy 3サンプル出力Copy 0.87
    #include
    int main()
    {
    	int n,i,deno;
    	double sum,flag;
    	scanf("%d",&n);
    	sum=0.0;
    	flag=1.0;
    	deno=1;
    	for(i=1;i<=n;i++)
    	{
    		sum=sum+flag/deno;
    		deno+=2;
    		flag=-flag;
    	}
    	printf("%.2lf
    "
    ,sum); }

    Vs
    n = int(input())
    sum = 0.0
    flag = deno = 1
    for i in range(n):
        sum += flag / deno
        deno += 2
        flag = -flag
    print("%.2f" %sum)
    

    1042:数列加算3
    テーマの説明は1-2/3+3/5-4/7+5/9-6/11+...の前のn項の和を求めて、結果は3桁の小数を保留します.
    正の整数n(n>0)を入力します.出力は実数を出力し、3桁の小数を保持し、単独で1行を占める.
    サンプル入力Copy 5サンプル出力Copy 0.917
    #include
    #include
    int main()
    {
    	int n,i,deno;
    	double sum,flag;
    	scanf("%d",&n);
    	sum=0.0;
    	flag=1.0;
    	deno=1;
    	for(i=1;i<=n;i++)
    	{
    		sum=sum+i*flag/deno;
    		deno+=2;
    		flag=-flag;
    	}
    	printf("%.3lf
    "
    ,sum); }

    Vs
    n = int(input())
    sum = 0.0
    flag = deno = j = 1
    for i in range(n):
        sum += j * flag / deno
        deno += 2
        flag = -flag
        j += 1
    print("%.3f" %sum)
    

    1043:最大値
    タイトル記述は1つの整数nとn個の整数を入力し、このn個の整数の最大値を出力する.
    入力には2行あります.1行目は正の整数n、2行目はnの整数です.出力出力は、n個の数の最大値であり、単独で1行を占める整数を含む.
    サンプル入力Copy 4 3 7 5 6サンプル出力Copy 7
    /*   */
    #include
    int main()
    {
    	int n,i,max,m;
    	scanf("%d",&n);
    	scanf("%d",&max); 
    	for(i=1;i<=n-1;i++)
    	{
    		scanf("%d",&m);
    		max=(max>m)?max:m;
    	}
    	printf("%d",max);
    }
    /*   */
    #include
    #include
    int main()
    {
    	int n,i,max,m;
    	scanf("%d",&n);
    	max = INT_MIN; 
    	/* limits    ,INT_MIN     ,
    	  INT_MAX     */
    	for(i=1;i<=n;i++)
    	{
    		scanf("%d",&m);
    		max=(max>m)?max:m;
    	}
    	printf("%d",max);
    }
    

    Vs
    n = int(input())
    a = input().split()
    j = 0
    max = float("-inf") 
    # max       ,        "inf"
    for i in range(n):
        if int(a[j]) > max :
            max = int(a[j])
        j += 1
    print(max)