7-99 含有2个运算符的算数表达式(选作)7-100 运算符的优先级7-101 水仙花数判断

目录

7-99 含有2个运算符的算数表达式(选作)

7-100 运算符的优先级

7-101 水仙花数判断


7-99 含有2个运算符的算数表达式(选作)

分数 30

全屏浏览题目

切换布局

作者 叶青

单位 长春理工大学

键盘输入三个整数和两个算术运算组成的表达式,计算结果。
运算符包括:加+,减-乘*,除/

输入格式:

三个整数,两个运算符,组成算数表达式,输入的字符之间没有空格

输出格式:

在表达式的后边输出=计算结果

输入样例:

6+3*11

输出样例:

6+3*11=39
#include <stdio.h>
 
double calculate(double a, char op, double b)
{
    switch (op)
    {
    case '+':
        return a + b;
    case '-':
        return a - b;
    case '*':
        return a * b;
    case '/':
        return a / b;
    }
    return 0;
}
 
int main()
{
    double a, b, c, r;
    char op1, op2;
    scanf("%lf%c%lf%c%lf", &a, &op1, &b, &op2, &c);
    switch (op1)
    {
    case '+':
    case '-':
        switch (op2)
        {
        case '+':
        case '-':
            r = calculate(a, op1, b);
            r = calculate(r, op2, c);
            break;
        case '*':
        case '/':
            r = calculate(b, op2, c);
            r = calculate(a, op1, r);
            break;
        }
        break;
    case '*':
    case '/':
        r = calculate(a, op1, b);
        r = calculate(r, op2, c);
        break;
    }
    printf("%lg%c%lg%c%lg=%lg", a, op1, b, op2, c, r);
    return 0;
}

 

7-100 运算符的优先级

分数 10

全屏浏览题目

切换布局

作者 叶青

单位 长春理工大学

输入一个单字符的运算符(+ - * / % > & =),输出它的优先级。+- 优先级是 4, * ,/, % 优先级 3,> 和< 优先级6,&优先级8,=优先级14。
如果是其它符号,结果-1.

输入格式:

一个字符

输出格式:

一个整数

输入样例:

*

输出样例:

在这里给出相应的输出。例如:

3
#include<stdio.h>
int main()
{
    char a;
    scanf("%c",&a);
    if(a=='+'||a=='-')
        printf("4");
    else if(a=='*'||a=='/'||a=='%')
        printf("3");
    else if(a=='>'||a=='<')
        printf("6");
    else if(a=='&')
        printf("8");
    else if(a=='=')
        printf("14");
    else
        printf("-1");
    return 0;
}

 

7-101 水仙花数判断

分数 20

全屏浏览题目

切换布局

作者 叶青

单位 长春理工大学

一个三位整数,如果满足条件:个位数的立方+十位数立方+百位数立方==这个数,那么称之为“水仙花数”
编程判断一个三位整数是不是水仙花数。

输入格式:

输入一个三位整数

输出格式:

是则输出YES,不是输出 NO (注意是大写字母),如果输入不是三位数,不处理。

输入样例:

153

输出样例:

YES
#include <stdio.h>
int main(){
    int a,s1,s2,s3;
    scanf("%d",&a);
    s1 = a%10;
    s2 = a/10%10;
    s3 = a/100;
    if(s1*s1*s1+s2*s2*s2+s3*s3*s3==a)
    {
        printf("YES");
    }
    else{
        printf("NO");
    }
    return 0;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊 : )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值