ZZULIOJ1031-1040

目录

1031: 判断点在第几象限

1032: 员工薪水 

1033: 五级制成绩 

1034: 夏季促销 

1035: 分段函数求值

1036: 某年某月有多少天

1037: 四则运算

1038: 绝对值最大 

1039: n个数求和

 1040: 数列求和1


1031: 判断点在第几象限

题目描述

从键盘输入2个整数x、y值,表示平面上一个坐标点,判断该坐标点处于第几象限,并输出相应的结果。

输入

输入x,y值表示一个坐标点。坐标点不会处于x轴和y轴上,也不会在原点。

输出

输出对应的象限,用数字1,2,3,4分别对应四个象限。>

样例输入 Copy

1 1

样例输出 Copy

1
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
    int x, y;
    scanf("%d %d",&x, &y);
    if (x>0&&y>0)
        printf("1\n");
        if (x<0&&y>0)
        printf("2\n");
    if (x<0&&y<0)
        printf("3\n");
        if (x>0&&y<0)
        printf("4\n");
        return 0;
}
 
/**************************************************************
    Problem: 1031
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:3hR5WUkwsXSxTCfJJpvCjVRSe/U
****************************************************************/

1032: 员工薪水 

题目描述

某公司规定,销售人员工资由基本工资和销售提成两部分组成,其中基本工资是1500元/月,销售提成规则如下:
销售额小于等于10000元时,按照5%提成;
销售额大于10000元但小于等于50000元时,超出10000部分按照3%提成;
销售额大于50000元时,超出50000部分按照2%提成。
编写程序,根据销售额计算员工收入。

输入

输入一个整数表示销售额

输出

输出员工的薪水,保留2位小数。

样例输入 Copy

30000

样例输出 Copy

2600.00
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
    double y,x;
    scanf("%lf",&x);
    if (x<=10000)
        y=1500 + 0.05 * x;
        if (x>10000&&x<=50000)
            y=1500 + 10000 * 0.05 + (x-10000)*0.03;
       if (x>50000)
        y=1500 + 10000 * 0.05 + 40000*0.03 + (x-50000)*0.02;
 
        printf("%.2f\n",y);
        return 0;
}
 
/**************************************************************
    Problem: 1032
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:jkJ3XkZksCOxTCfJJpvCjVRSe/Y
****************************************************************/

1033: 五级制成绩 

题目描述

给定一个百分制成绩, 请根据百分制成绩输出其对应的等级。转换关系如下:
90分及以上为’A’,80~89为’B’, 70~79为’C’, 60~69为’D’,60分以下为’E’。

输入

一个百分制成绩(0~100的整数)。

输出

输出对应的等级。

样例输入 Copy

100

样例输出 Copy

A
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
   int x;
   char y;
    scanf("%d",&x);
    if (x>=90)
        y='A';
        if (x>=80&&x<90)
            y='B';
       if (x>=70&&x<80)
        y='C';
        if (x>=60&&x<70)
            y='D';
                if (x<60)
                y='E';
        printf("%c\n",y);
        return 0;
}
 
/**************************************************************
    Problem: 1033
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:3xZ2X0Yw5XCxTCfJJpvCjVRSe/c
****************************************************************/

1034: 夏季促销 

题目描述

商场夏季促销,购物500元以下,不打折;购物500元(含)以上,95折;购物1000元(含)以上,9折;购物3000元(含)以上,85折;购物5000元(含)以上,8折。根据消费金额,确定用户实际需要支付的数目。

输入

输入一个实数,表示消费金额。

输出

输出一个实数,表示用户实际需要支出的数目,保留两位小数。

样例输入 Copy

5100 

样例输出 Copy

4080.00
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
   int x;
   double y;
    scanf("%d",&x);
    if (x<500)
        y=x;
        if (x>=500)
            y=x * 0.95;
       if (x>=70&&x<80)
        y='C';
        if (x>=1000)
            y=x * 0.9;
                if (x>=3000)
                y=x * 0.85;
        if (x>=5000)
            y=x * 0.8;
        printf("%.2f\n",y);
        return 0;
}
 
/**************************************************************
    Problem: 1034
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:3xB5W0hjsnCxTCfJJpvCjVRSe/A
****************************************************************/

1035: 分段函数求值

题目描述

已知:y是x的函数,
当x<-2时,y=7-2x;
当x>=-2,且x<3时,y=5-|3x+2|;
当x>=3时,y=3x+4

输入

任意输入一个整数x。

输出

输出为一个整数,即x对应的函数值。

样例输入 Copy

2

样例输出 Copy

-3
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
   int x,y;
 
    scanf("%d",&x);
    if (x<-2)
        y=7 - 2 * x;
        if (x>=-2&&x<3)
            y=5 - abs(3 * x + 2);
       if (x>=3)
        y=3 * x + 4;
 
        printf("%d\n",y);
        return 0;
}
 
/**************************************************************
    Problem: 1035
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:iEdyWR1jvHSxTCfJJpvCjVRSe/E
****************************************************************/

1036: 某年某月有多少天

题目描述

给你一个年份和月份,求该月有多少天

输入

一个年份(正整数),一个月份(1-12),中间有一个空格隔开

输出

该月的天数,单独占一行。

样例输入 Copy

2012 2

样例输出 Copy

29
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
   int x,y;
 
    scanf("%d %d",&x, &y);
    if ((x%400==0||(x%4==0&&x%100!=0))&&y==2)
       printf("29\n");
       if ((x%400!=0&&x%4!=0)&&y==2)
       printf("28\n");
        if (y==1 ||y==3 ||y==5 ||y==7 ||y==8 ||y==10 ||y==12)
            printf("31\n");
      if (y==4 ||y==6 ||y==9 ||y==11)
        printf("30\n");
        return 0;
}
 
/**************************************************************
    Problem: 1036
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:ikQiXx8x5nSxTCfJJpvCjVRSe/I
****************************************************************/

1037: 四则运算

题目描述

给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果

输入

表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符。注意运算符两侧各有一个空格。

输出

如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!"。最后结果小数点后保留两位。

样例输入 Copy

1.0 + 1.0

样例输出 Copy

2.00

提示

除数是0,用|s2|<1e-10(即10的-10次方)判断

本题在课程网站上有专题讲解,第三章的边讲边写:四则运算——浮点问题、switch语句、混合输入问题、标识变量

https://www.icourse163.org/learn/ZZULI-1206704833?tid=1465320443#/learn/content?type=detail&id=1245602916&cid=1270743255

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<stdio.h>
 
int main(void)
 
{
 double s1, s2;
 char op;
 scanf("%lf %c %lf", &s1, &op, &s2);
 switch(op)
{case '+':printf("%.2f",s1 + s2);break;
 case '-':printf("%.2f",s1 + s2);break;
 case '*':printf("%.2f",s1 + s2);break;
 case '/':
     if (fabs(s2)>1e-10)
                printf("%.2f",s1 / s2);
     else
        printf("Wrong input!");break;
     default: printf("Wrong input!");}
     return 0;
}
 
 
 
 
/**************************************************************
    Problem: 1037
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:iBR1XBw05ySxTCfJJpvCjVRSe/M
****************************************************************/

1038: 绝对值最大 

题目描述

输入3个整数,输出绝对值最大的那个数。

输入

输入包含3个int范围内的整数,用空格隔开。

输出

输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。

样例输入 Copy

1 2 -3

样例输出 Copy

-3
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
 
int a, b, c, max;
scanf("%d %d %d",&a, &b, &c);
max=a;
if (abs(b)>abs(max))
    max=b;
if (abs(b)==abs(max))
    max=max;
if (abs(c)==abs(max))
    max=max;
if (abs(c)>abs(max))
    max=c;
printf("%d",max);
return 0;
}
 
/**************************************************************
    Problem: 1038
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:ghAgXBwwsSaxTCfJJpvCjVRSe/w
****************************************************************/

1039: n个数求和

题目描述

输入一个整数n和n个整数,输出这n个整数的和。

输入

输入有两行:第一行是一个正整数n,第二行是n个整数。

输出

输出一个整数,即n个数的和。输出单独占一行。

样例输入 Copy

3
7 3 2

样例输出 Copy

12
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    int a,i,j=0,t;
    scanf("%d",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%d",&a);
        j+=a;
    }
         printf("%d",j);
        return 0;
 
}
 
/**************************************************************
    Problem: 1039
    User: 542107230106
    Language: C
    Result: 正确
    Time:1 ms
    Memory:1044 kb
    通过码:jkVzUEpktHCxTCfJJpvCjVRSe/0
****************************************************************/

 1040: 数列求和1

题目描述

输入一个整数n,输出数列1+1/3+1/5+……前n项的和。

输入

输入只有一个正整数n。

输出

结果保留2位小数,单独占一行

样例输入 Copy

3

样例输出 Copy

1.53
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
 int n,i;
 double sum;
scanf("%d",&n);
sum=0;
for(i=0;i<n;i++)
{
     sum=sum +  1.0/(2.0 * i+1);
}
printf("%.2f",sum);
 return 0;
}
 
/**************************************************************
    Problem: 1040
    User: 542107230106
    Language: C
    Result: 正确
    Time:0 ms
    Memory:1044 kb
    通过码:2RcnDUY3vSGxTCfJJpvCjVRSfPQ
****************************************************************/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值