第五次招新赛

A.小汇的困扰

思路:这是一个模拟题,也是一个规律题,行数和列数的和是一样的,可以从行数i,从 0 开始,列数j从 0 开始,范围到n - i如果是 1 到 9,不满两位数,则补上0。

代码如下:

#include <stdio.h>
 
int main() {
    int n;
    scanf("%d", &n);
    int x = 1;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n - i; j++) {
            printf("%.2d", x);
            x++;
        }
        printf("\n");
    }
    return 0;
}

B.太好啦,又是一个签到题

思路:输入 n 行 m 列的矩阵,输出 x 行 y 列的元素即可。

代码如下:

#include <stdio.h>
 
const int N = 15;
 
 
int main() {
    int n, m;
    int a[N][N];
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    int x, y;
    scanf("%d%d", &x, &y);
    printf("%d", a[x][y]);
    return 0;
}

C.原来,这是真正的签到题呀

思路:把一个四位数反向输出即可,用字符来存储数字,如果有前导 0,一般情况下,是不用写出来的,特殊场合除外,比如图书编号。

代码如下:

#include <stdio.h>
 
int main() {
    char ch[4];
    scanf("%s", ch);
    int idx = 0;
    for(int i = 3; i >= 0; i--) {
        if(ch[i] != '0') {
            idx = i;
            break;
        }
    }
    for(int i = idx; i >= 0; i--) {
        printf("%c", ch[i]);
    }
    return 0;
}

D.这是个好问题

思路:读懂题意就会发现,这是个求平均数的,糖果总和平均分配给小汇和瑶瑶两个人,满足两个人最多且相同的糖果数量。
注意数据范围,会爆 int,需要用 long long 来存储数据。

代码如下:

#include <stdio.h>
#define int long long 
 
signed main() {
    int t;
    scanf("%lld", &t);
    while(t--) {
        int a, b, c;
        scanf("%lld%lld%lld", &a, &b, &c);
        printf("%lld\n", (a + b + c) / 2);
    }
    return 0;
}

E.铲子怎么买???

思路:至少需要买一把铲子,说明一定会买一把铲子,要求不找零买几个铲子,也就是说,买铲子不需要找钱,我们可以用计数count来存储铲子的数量,从1开始计数,如果买铲子的数量总钱恰好为10的倍数,则直接输出即可,若不是10的倍数,则花r零钱恰好不用找零,则该数量就是最少的。

代码如下:

#include <stdio.h>
 
int main() {
    int k, r;
    scanf("%d%d", &k, &r);
    int x = 1;
    while(1) {
        if(k * x % 10 == 0 || k * x % 10 == r) {
            printf("%d", x);
            break;
        }
        else {
            x++;
        }
    }
   
    return 0;
}
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值