回顾C语言基础:九九乘法表

news2024/11/27 4:35:56

题目要求:LintCode
在这里插入图片描述
在这里插入图片描述

先把基本的写出来,为了看起来有个大概有个样子(1)每行换行;(2)输出结果4个空格,左对齐(%-5d):
关于%-d的知识:+是右对齐,-是左对齐;数值代表几个空格,如果是左对齐,就把串数字靠左,否则,靠右。
在这里插入图片描述

#include <stdio.h>

int main() {
    // Write your code here
    for(int i = 1; i < 10; i++){
    	printf("\n");
        for(int j = 1; j < 10; j++){       	
            printf("%d * %d = %-5d",i,j,i*j);
        }
    }
    return 0;
}

在这里插入图片描述
然后对半切分(j <= i):

before:
	for(int j = 1; j < 10; j++){}
after:
	for(int j = 1; j <= i; j++){}
note:这个地方写成j<=i,如果是j<i,就会缺少两个数相同相乘的项,这个是我所犯的错误。

在这里插入图片描述
于是我就拿着这串代码,高高兴兴地提交了,结果不给过,气死我了。
问了一下AI,有2个误导问题:

  • 打印第一行前来了一个换行:
    在这里插入图片描述
    好我改:第一行前面先不用换行
before:
	printf("\n");
after:
	if(i != 1) printf("\n");

效果如下:
在这里插入图片描述

  • 说我没按照乘积为 1 位数(即 < 10)则输出 4 个空格,否则输出 3 个空格,每一行的开头和结尾没有空格。好我改,我就用简单放肆写,但是提交不过去。其实这里不需要改之前的%-5d,这个空间设置位5个空之后,其实不管是乘积是1位数,还是2位数都不影响它们之间的固定距离,只要不超过5个空间,尽管往里面塞数字就好。
    之前还尝试过用水平对齐符号 \t,但是它是8个空间,不符合要求。
   误导代码:if(temp < 10){
                printf("%d * %d = %d    ",i,j,i*j);
            }else{
                printf("%d * %d = %d   ",i,j,i*j);
            }  
#include <stdio.h>

int main() {
    // Write your code here
    for(int i = 1; i < 10; i++){
    	if(i != 1) printf("\n");
        for(int j = 1; j <= i; j++){
            int temp = i*j;
            if(temp < 10){
                printf("%d * %d = %d    ",i,j,i*j);
            }else{
                printf("%d * %d = %d   ",i,j,i*j);
            }      	            	             	
        }    
    }
    return 0;
}

一提交还是错了,快要放弃的时候,我看到了这个提交反馈:原来i和j相等的时候后面不能有空格,这美滋滋,我终于知道我错哪里了,找到病在哪里就好用药。
在这里插入图片描述
于是我就在输出的时候,在i与j相等时做了一个判断,无需空格,其他照常输出:

            if(temp < 10){
                printf("%d * %d = %d    ",i,j,i*j);
            }else{
                printf("%d * %d = %d   ",i,j,i*j);
            }  

最终代码如下:为了方便看动注解都加上了

#include <stdio.h> // 包含标准输入输出库,用于使用printf等函数

int main() { // 程序的主入口点
    // Write your code here // 这是一个注释,提示开发者在这里编写代码
    for(int i = 1; i < 10; i++){ // 外层循环,变量i从1开始,到9结束(不包括10)
        if(i != 1) printf("\n"); // 如果i不是1,打印一个换行符。这样除了第一行外,每行开始前都有一个换行
        for(int j = 1; j <= i; j++){ // 内层循环,变量j从1开始,到i结束(包括i)
            if(i == j){ // 如果i等于j,即在对角线上
                printf("%d * %d = %d", i, j, i * j); // 直接打印乘法表达式和结果,没有额外的空格
            } else { // 如果i不等于j,即不在对角线上
                printf("%d * %d = %-5d", i, j, i * j); // 打印乘法表达式和结果,%-5d表示左对齐,至少占5个字符宽度,不足部分用空格填充
            } // 结束if-else语句
        } // 结束内层for循环
    } // 结束外层for循环
    return 0; // 程序正常结束,返回0
} // 结束main函数

在这里插入图片描述
提交完毕,好了今天就到这里啦,回舍。

在这里插入图片描述
如果你觉的很有用请给我点个赞吧,非常感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【域适应】基于深度域适应MMD损失的典型四分类任务实现

关于 MMD &#xff08;maximum mean discrepancy&#xff09;是用来衡量两组数据分布之间相似度的度量。一般地&#xff0c;如果两组数据分布相似&#xff0c;那么MMD 损失就相对较小&#xff0c;说明两组数据/特征处于相似的特征空间中。基于这个想法&#xff0c;对于源域和目…

实况窗助力美团打造鸿蒙原生外卖新体验,用户可实时掌握外卖进展

自2023年华为宣布全新HarmonyOS NEXT蓄势待发&#xff0c;鸿蒙原生应用全面启动以来&#xff0c;已有金融、旅行、社交等多个领域的企业和开发者陆续宣布加入鸿蒙生态。其中&#xff0c;美团作为国内头部的科技零售企业&#xff0c;是首批加入鸿蒙生态的伙伴&#xff0c;其下的…

华为ensp中PPPOE (点对点协议)原理和配置命令

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月12日6点30分 PPPoE&#xff08;PPP over Ethernet&#xff09;是一种将PPP协议封装到以太网帧中的链路层协议。它可以使以太网网络中的多台主机连接到远端的宽带接…

【应用】SpringBoot-自动配置原理

前言 本文简要介绍SpringBoot的自动配置原理。 本文讲述的SpringBoot版本为&#xff1a;3.1.2。 前置知识 在看原理介绍之前&#xff0c;需要知道Import注解的作用&#xff1a; 可以导入Configuration注解的配置类、声明Bean注解的bean方法&#xff1b;可以导入ImportSele…

AtCoder Beginner Contest 141 F. Xor Sum 3(异或性质+异或线性基求最大异或值)

题目 n(2<n<1e5)个数&#xff0c;第i个数ai(0<ai<2^60) 将n个数分成两堆&#xff0c;对每一堆求异或和&#xff0c;再将得到的两个数求和&#xff0c; 现在希望这个和最大&#xff0c;输出这个最大的值 思路来源 ABC141F - 洛谷专栏 题解 感觉思路来源说的很…

再说vue响应式数据

请说一下你对响应式数据的理解 如何实现响应式数据据 对象 vue2 响应式核心代码 数组 vue2 处理缺陷Vue3则采用 proxy - vue3 响应式核心代码 请说一下你对响应式数据的理解 如何实现响应式数据据 数组和对象类型当值变化时如何劫持到。 对象 对象内部通过defineReactive方…

mysql重启失败

服务器重启了一下&#xff0c;然后启动后发现mysql自动启动没有生效&#xff0c;于是手动通过systemctl启动mysqld&#xff0c;然后就报错:Starting MySQL...........The server quit without updating P[FAILED](/data/mysql/iz2zebvmy1qv3fao9c5riuz.pid). 根据配置my.cnf文…

Hello 算法10:搜索

https://www.hello-algo.com/chapter_searching/binary_search/ 二分查找法 给定一个长度为 n的数组 nums &#xff0c;元素按从小到大的顺序排列&#xff0c;数组不包含重复元素。请查找并返回元素 target 在该数组中的索引。若数组不包含该元素&#xff0c;则返回 -1 。 # 首…

Ubuntu下配置Android NDK环境

Android-NDK的下载 下载Android-NDK wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin 执行bin文件&#xff08;即解压&#xff09; ./android-ndk-r10c-linux-x86_64.bin Android-NDK的配置 要想使用Android-NDK&#xff0c;还需要进行环境变量…

程序猿之路

我接触计算机算对自己来说是比较晚的了&#xff0c;上初中的时候就有微机课&#xff0c;但是在那个小县城&#xff0c;上课也只是3个人共用一个电脑&#xff0c;我初中整个过程只会开关机&#xff0c;哈哈&#xff0c;虽然学过word&#xff0c;但是无奈&#xff0c;我插不上手呀…

Qlik Sense :use Peek function to Group by and Get Rowno

Question Row number based on groups of data Calculate row number for groups 有时候我们需要基于分组来对数据进行内部排序&#xff0c;例如一个iddate&#xff0c;把不同的属性的记录标记为123&#xff0c;又或者把重复记录标记出来 Solved: Calculate row number for…

如何实现word一键注音?给一篇word文章快速注音的方法

在日常生活和工作中&#xff0c;我们经常需要处理各种文档&#xff0c;其中不乏包含大量生僻字或需要标注拼音的文本。手动为每一个字添加拼音不仅效率低下&#xff0c;而且容易出错。那么&#xff0c;有没有一种方法可以实现Word文档的一键注音呢&#xff1f;本文将为大家详细…

基于SpringBoot和Vue的企业客户管理系统

今天要和大家聊的是基于SpringBoot和Vue的企业客户管理系统 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x1f495;个人简介…

IntelliJ IDEA(WebStorm、PyCharm、DataGrip等)设置中英文等宽字体,英文为中文的一半(包括标点符号)

1.设置前&#xff08;idea默认字体为 JetBrains Mono&#xff09; 2.设置后&#xff08;楷体&#xff09;

Oracle 19c补丁升级(Windows)

文章目录 一、打补丁前备份检查1、补丁包获取2、备份数据包以及数据库软件3、检查OPatch版本 二、补丁升级1、更新OPatch2、关闭监听以及服务3、补丁升级过程4、启动监听以及服务 三、数据库补丁应用 一、打补丁前备份检查 1、补丁包获取 补丁包&#xff1a; 百度网盘链接&am…

贪心算法:排列算式

题目描述 给出n数字&#xff0c;对于这些数字是否存在一种计算顺序&#xff0c;使得计算过程中数字不会超过3也不会小于0&#xff1f; 输入描述: 首行给出一个正整数t,(1≤t≤1000)代表测试数据组数每组测试数据第一行一个正整数n,(1≤n≤500)第二行包含n个以空格分隔的数字…

CLIPSeg如果报“目标计算机积极拒绝,无法连接。”怎么办?

CLIPSeg这个插件在使用的时候&#xff0c;偶尔会遇到以下报错&#xff1a; Error occurred when executing CLIPSeg: (MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443): Max retries exceeded with url: /CIDAS/clipseg-rd64-refined/resolve/main/toke…

练习题(2024/4/11)

1每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入…

使用 vue3-sfc-loader 加载远程Vue文件, 在运行时动态加载 .vue 文件。无需 Node.js 环境,无需 (webpack) 构建步骤

加载远程Vue文件 vue3-sfc-loader vue3-sfc-loader &#xff0c;它是Vue3/Vue2 单文件组件加载器。 在运行时从 html/js 动态加载 .vue 文件。无需 Node.js 环境&#xff0c;无需 (webpack) 构建步骤。 主要特征 支持 Vue 3 和 Vue 2&#xff08;参见dist/&#xff09;仅需…

订单中台架构:打造高效订单管理系统的关键

在现代商业环境下&#xff0c;订单管理对于企业来说是至关重要的一环。然而&#xff0c;随着业务规模的扩大和多渠道销售的普及&#xff0c;传统的订单管理方式往往面临着诸多挑战&#xff0c;如订单流程复杂、信息孤岛、数据不一致等问题。为了应对这些挑战并抓住订单管理的机…