ACM蓝桥杯竞赛入门——程序控制结构

时间:2023年3月5日 晚22:05

主题:程序控制结构(if-else选择结构switch分支结构)

链接:​​​​​​ACM蓝桥杯竞赛入门 - 编程题库 - C语言网

说明:记录错题以及值得注意的算法


题目 1043: [编程入门]三个数字的排序

题目描述:输入三个整数,按由小到大的顺序输出。

输入格式:三个整数(样例输入:2 3 1)

输出格式:由小到大输出成一行,每个数字后面跟一个空格(样例输出:1 2 3)

代码:使用<条件运算符>:表达式1?表达式2:表达式3

#include<stdio.h>
int main()
{
    int a,b,c;
    int min, max, mid;
    scanf("%d %d %d\n",&a, &b, &c);
    max=((a>b?a:b)>c)?(a>b?a:b):c;
    min=((a<b?b:a)<c)?(a<b?b:a):c;
    mid=(a+b+c)-min-max;
    printf("%d %d %d\n", min, mid,max);
    return 0;
}

题目 2779: 输出绝对值

题目描述:输入一个浮点数,输出这个浮点数的绝对值。

输入格式:输入一个浮点数,其绝对值不超过10000。(样例输入:-3.14)

输出格式:输出这个浮点数的绝对值,保留到小数点后两位。(样例输出:3.14)

代码:

#include<stdio.h>
#include<math.h>
int main()
{
    float n, m;
    scanf("%f\n", &n);
    m=fabs(n);
    printf("%.2f\n", m);
    return 0;
}

出错原因:

1. 使用绝对值函数,需要加上

#include<math.h>

2. 读题!读题!注意读题!严格按照所给输入输出的案例!

题目 1480: 模拟计算器

题目描述:使用Switch语句编写一个模拟简单计算器的程序。依次输入两个整数和一个字符,并用空格隔开。如果该字  符是一个“+”,则打印和;如果该字符是一个“-”,则打印差;如果该字符是一个“*”,则打印积;如果该字符是“/”,则打印商;如果该字符是一个  “%”,则打印余数。打印结果后输出一个空行。

输入格式:一行,前面两个数,再一个运算符号。(样例输入:3 4 +)

输出格式:运算表达式的结果。(样例输出:7)

代码:

#include<stdio.h>
int main()
{
    char a;
    int x,y;
    scanf("%d %d %c\n",&x, &y, &a);
    switch(a)
    {
    case '+': {printf("%d\n\n", x+y); break;}
    case '-': {printf("%d\n\n", x-y); break;}
    case '*': {printf("%d\n\n", x*y); break;}
    case '/': {printf("%d\n\n", x/y); break;}
    case '%': {printf("%d\n\n", x%y); break;}
    default: break;
    }
    return 0;
}

出错原因:

switch(a)
{
case '+': printf("%d\n\n",x+y); break;
}

注意switch语句下有一个大括号{}

注意case ‘+’,字符需要加上单引号‘’

注意题目要求<打印结果后输出一个空行>:%d/n/n

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值