B1001,B1011,B1016,B1026,B1046,B1008,B1012

//b1001
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int n, count = 0;
    scanf("%d", &n);
    while (n != 1)
        if (n % 2 == 0) {
            n /= 2;
            count++;
        } else {
            n = (3 * n + 1) / 2;
            count++;
        }
    printf("%d\n", count);
    return 0;
}

//b1011
//注意数据的范围
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int n;
    scanf("%d", &n);
    long long n1, n2, n3;
    for (int i = 1; i <= n; i++) {
        scanf("%lld%lld%lld", &n1, &n2, &n3);
        if (n1 + n2 - n3 > 0)
            printf("Case #%d: true\n", i);
        else
            printf("Case #%d: false\n", i);
    }
    return 0;
}

//b1016
//注意数据的范围
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    long long a, b, da, db;
    scanf("%lld%lld%lld%lld", &a, &da, &b, &db);
    int pa = 0, pb = 0;
    while (a != 0) {
        if (a % 10 == da) {
            pa = pa * 10 + da;
        }
        a /= 10;
    }

    while (b != 0) {
        if (b % 10 == db) {
            pb = pb * 10 + db;
        }
        b /= 10;
    }

    printf("%d\n", pa + pb);
    return 0;
}

//b1026
//注意四舍五入,最后两位
//(c2-c1)%100>=50即要进位
//高位不足两位补0
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int c1, c2, num;
    scanf("%d%d", &c1, &c2);
    if ((c2 - c1) % 100>=50)
        num = ((c2 - c1) / 100) + 1;
    else
        num = ((c2 - c1) / 100);
    int hh, mm, ss;
    hh = num / 3600;

    num -= hh * 3600;
    mm = (num / 60);

    num -= mm * 60;
    ss = num;

    printf("%02d:%02d:%02d\n", hh, mm, ss);
    return 0;
}

//1046
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int n;
    scanf("%d", &n);
    int jiaHan, jiaHua, yiHan, yiHua;
    int jia = 0, yi = 0;
    for (int i = 0; i < n; i++) {
        scanf("%d%d%d%d", &jiaHan, &jiaHua, &yiHan, &yiHua);
        if (jiaHua == jiaHan + yiHan && yiHua != jiaHan + yiHan) {
            yi++;
        } else if (jiaHua != jiaHan + yiHan && yiHua == jiaHan + yiHan) {
            jia++;
        }
    }
    printf("%d %d\n", jia, yi);
    return 0;
}

//b1008
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int length, n;
    scanf("%d%d", &length, &n);

    int arr[length];
    for (int i = 0; i < length; i++)
        scanf("%d", &arr[i]);

    for (int i = 0; i < n; i++) {

        int num = arr[length - 1];
        for (int i = length - 2; i >= 0; i--)
            arr[i + 1] = arr[i];
        arr[0] = num;
    }

    for (int i = 0; i < length; i++) {
        printf("%d", arr[i]);
        if (i != length - 1)
            printf(" ");
    }
    return 0;
}

//b1012
//A[3]处注意打印格式
//最后一个打印的后面没有空格
//count[0]要在对2整除if里面
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int A[5] = {0};
    int N;
    int num;
    int count[5] = {0};
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        scanf("%d", &num);

        if (num % 5 == 0) {
            if (num % 2 == 0) {
                A[0] += num;
                count[0]++;
            }
        } else if (num % 5 == 1) {
            if (count[1] % 2 == 0)
                A[1] += num;
            else
                A[1] -= num;
            count[1]++;
        } else if (num % 5 == 2) {
            A[2]++;
            count[2]++;
        } else if (num % 5 == 3) {
            A[3] += num;
            count[3]++;
        } else if (num % 5 == 4) {
            A[4] = max(num, A[4]);
            count[4]++;
        }
    }

    if (count[0] == 0)
        printf("N ");
    else
        printf("%d ", A[0]);

    if (count[1] == 0)
        printf("N ");
    else
        printf("%d ", A[1]);

    if (count[2] == 0)
        printf("N ");
    else
        printf("%d ", A[2]);

    if (count[3] == 0)
        printf("N ");
    else
        printf("%.1f ", (double) A[3] / count[3]);

    if (count[4] == 0)
        printf("N");
    else
        printf("%d", A[4]);


    return 0;
}

写出以下代码的testbench module decode8(clk_50m,rst_n,c,seg,sel,out,led); input[4:0] c; input clk_50m,rst_n; output reg[6:0]out;//共阳,0点亮 output reg[7:0]seg;//共阴,1点亮 output reg[2:0]sel;//位选 output reg[3:0] led; reg[31:0] timer; reg clk_1hz; always@(posedge clk_50m) begin if(~rst_n) begin timer<=0;clk_1hz<=0;end else if(timer==32'd24)//仿真时可调小 begin timer<=0;clk_1hz<=~clk_1hz;end else begin timer<=timer+1;clk_1hz<=clk_1hz;end end always@(c) if(c[4]==0) begin case(c) 5'b00000:begin led=4'b0000; out =7'b1000000; end //0 5'b00001:begin led=4'b0001; out =7'b1111001; end //1 5'b00010:begin led=4'b0010; out =7'b0100100; end //2 5'b00011:begin led=4'b0011; out =7'b0110000; end //3 5'b00100:begin led=4'b0100; out =7'b0011001; end //4 5'b00101:begin led=4'b0101; out =7'b0010010; end //5 5'b00110:begin led=4'b0110; out =7'b0000010; end //6 5'b00111:begin led=4'b0111; out =7'b1111000; end //7 5'b01000:begin led=4'b1000; out =7'b0000000; end //8 5'b01001:begin led=4'b1001; out =7'b0010000; end //9 5'b01010:begin led=4'b1010; out =7'b0001000; end //A 5'b01011:begin led=4'b1011; out =7'b0000011; end //B 5'b01100:begin led=4'b1100; out =7'b1000110; end //C 5'b01101:begin led=4'b1101; out =7'b0010001; end //D 5'b01110:begin led=4'b1110; out =7'b0000110; end //E 5'b01111:begin led=4'b1111; out =7'b0001110; end //F default:begin led=4'b0000; out =7'b1111111; end endcase end else begin led =4'b0000; out =7'b1111111;end always@(posedge clk_1hz) if(c[4]==1) begin case(sel) 3'b000:begin sel =3'b001; seg =8'b01110110; end //H 3'b001:begin sel =3'b010; seg =8'b01111001; end //E 3'b010:begin sel =3'b011; seg =8'b00111000; end //L 3'b011:begin sel =3'b100; seg =8'b00111000; end //L 3'b100:begin sel =3'b101; seg =8'b00111111; end //0 default: begin sel =3'b000; seg=8'b00000000; end endcase end else seg=8'b00000000; endmodule
05-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值