牛客网编程之我的乱七八糟的小问题

本文分享了编程中的一些实用技巧,包括成绩排序的正确实现,约数个数的高效算法,代理服务器问题解决,字符串输入输出注意事项,以及二叉排序树的细节处理。通过具体示例,帮助读者避免常见的编程陷阱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

成绩排序

VS上面能正确输出,但是牛客却无输出。有很多人是忽略了循环测试,没有加while (scanf("%d%d", &n, &way) != EOF),而我却是居然把return 0;写到了while循环内部,导致只能测试一次。
在这里插入图片描述

约数的个数

x的约数个数的求法,只用遍历到根号x。个数每次加2。但是要注意x=根号x,这种情况,如49=7*7,这样就要约数再加一。

int count(int x){
    int num=0;
    for(int i=1;i<sqrt(x);i++){
        if(x%i==0) num+=2;
    }
    if(x==sqrt(x)) num++;
    return num;
}

代理服务器

出现的问题有
1.表示很多字符串时,使用char[][]二维数组或者string[]一位数组表示。
2.搞清楚变量的含义,j应该每次从下一个要访问的地址开始,所以visit=visit+max;而不需要减一。
在这里插入图片描述

反序输出

没想到这么简单的问题我居然找了半天问题。问题就是输入字符串一定要用%s,而不是%d,还有输出单个字符要用%c,菜鸡已笨哭。

sum of factorial

千万不要忘记0的阶乘是1,就是因为这个找了半天问题。笑skr人。
在这里插入图片描述

二叉排序树 2020/9/15 傻子又来了

今天又是死活找不到问题,后来发现忽略了插入的重复数字的问题,要么插入小的,要么插入大的,一样的要抛弃。()

<think>好的,用户之前让我解释微服务并画个图,但用户现在反馈说图对齐有问题,看起来乱七八糟。我需要先检查之前的回复,看看哪里出了问题。 之前的架构示意图用了文本符号,可能在移动设备或不同字体下显示不一致,导致对齐错乱。用户可能是在手机上看,或者使用的字体不是等宽字体,所以原本设计的ASCII图形无法正确对齐。比如,箭头和连接线可能没有正确连接各个组件,导致结构不清晰。 用户的需求其实是想通过清晰的图表来理解微服务架构的结构,所以需要提供更可靠的图示方法。直接建议用户用专业的绘图工具可能更有效,比如推荐使用Draw.io或PPT,因为这些工具生成的图表不会受文本格式影响。另外,可以给出具体的绘制步骤,帮助用户自己创建结构正确的图,或者提供一个更简化的文本描述,尽量使用对齐的符号,比如使用减号和竖线来保持结构。 同时,用户可能对技术细节不太熟悉,所以需要避免使用复杂的术语,用更易懂的语言解释每个部分的作用,比如API网关负责请求路由,服务发现帮助定位服务实例等。还需要补充微服务的关键组件,如配置中心、监控系统,这些在之前的回复中没有提到,但能帮助用户更全面理解架构。 另外,考虑到用户可能没有绘图工具,提供一个基于文本的简化版架构图,使用等宽字体和简单符号,尽可能保持对齐。同时,说明如果显示有问题,建议换用其他工具,这样用户可以根据自己的情况选择合适的方式查看。 最后,总结微服务的优缺点,并给出实际应用中的建议,帮助用户理解何时选择微服务架构。确保回复结构清晰,分点明确,让用户一步步理解问题所在以及解决方案。</think>您观察得很仔细!纯文本绘制架构图确实容易出现对齐问题。我重新整理一个更清晰的版本,并附上绘制建议: --- ### **修正后的微服务架构图(文本简化版)** ``` 户端 │ ▼ API网关 │ ├───────────┐ ▼ ▼ 用户服务 订单服务 支付服务 │ │ │ ▼ ▼ ▼ 用户数据库 订单数据库 支付数据库 ``` --- ### **推荐绘图方式(非文本实现)** 1. **使用专业工具绘制**(如:Draw.io/PPT/Excalidraw) - **核心组件**: ``` [户端] → [API网关] → [服务发现] ↙ ↓ ↘ [服务A] [服务B] [服务C] | | | [DB1] [DB2] [DB3] ``` 2. **关键对齐规则**: - **垂直对齐**:服务层级(如所有数据库在底层对齐) - **水平间距**:相同层级的服务间距一致 - **连接线方向**:统一使用直角箭头(避免交叉) --- ### **架构核心组件说明** 1. **API网关**:统一入口,处理路由、认证、限流 2. **服务发现**:动态管理服务实例地址(如Consul/Eureka) 3. **独立服务**: - 每个服务包含完整业务逻辑 + 独立数据库 - 通过HTTP/RPC互相调用(如订单服务调用支付服务) 4. **支撑系统**(图中未展示但实际必需): - 配置中心(如Nacos) - 监控系统(如Prometheus+Grafana) - 日志聚合(如ELK) --- ### **若文本显示仍错位** 建议访问在线绘图工具(如 [Draw.io](https://app.diagrams.net/))直接使用以下模板: ![微服务架构图](https://miro.medium.com/v2/resize:fit:1400/1*H_6Nb5XRUOeMGhvpCMyuLQ.png) (此处为示意图链接描述,实际需替换为可访问的图片地址) --- ### **关键总结** - **核心原则**:通过拆分实现高内聚、低耦合 - **适用场景**:需快速迭代的中大型系统(如电商平台) - **取舍平衡**:用运维复杂度换取开发灵活性和扩展性 如果需要更具体的实现示例,我可提供分步骤的架构搭建说明!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值