当前位置: 首页 > news >正文

假期刷题打卡--Day26

1、MT1212乘法表

请编写一个简单程序,输出九九乘法表。输入n,就输出乘法表到n的地方。

格式

输入格式:

输入整型

输出格式:

输出整型。形式如:1*1=1

样例 1

输入:

5

输出:

1*1=1  
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12 4*4=16
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25  
备注

乘式之间一个空格。乘法结果占两格,不足两位的左对齐。

分析过程

本题实现的是我们从小背的九九乘法表的表示,使用的是双重循环。唯一需要注意的是,本题中对于空格的要求是不同的,要注意备注中所说的,不然就算代码是能够输出乘法表的,也无法通过所有用例。

所以,就要按照备注将空格进行修改。

按照备注可得,不足两位的占2个空格,除此之外,乘法之间占用1个空格。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){if(i*j>=10){printf("%d*%d=%d ",i,j,i*j);}else{printf("%d*%d=%d  ",i,j,i*j);}}printf("\n");}return 0;
}

2、MT1213  x个a

求a+aa+aaa+…+a…a(x个a),x和a由键盘输入。

格式

输入格式:

输入为整型,空格分隔

输出格式:

输出为整型

样例 1

输入:

3 1

输出:

123
分析过程

本来想的是,使用一个循环,循环结束条件为x,然后在这个循环中,改变a的值,求出sum。按照这个代码实现的代码如下:

#include<bits/stdc++.h> using namespace std;int main( )
{int x,a,sum;cin >> x >> a;sum = a;for(int i=1;i<x;i++){// cout << a << "&" << sum << "^";a = a + pow(10,i);// cout << a <<"*";sum += a;}cout << sum;return 0;
}

但是,这个代码无法通过所有的用例,只能通过一个用例

所以,继续分析遗漏点。

是因为,在测试用例的时候,a为1,所以恰巧可以通过,而如果a不为1,按照我上面写的代码,最高位始终为1,所以结果是错误的。要修改为正确答案,就需要在最高位乘以a,实现代码如下:

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int x,a,sum,b;cin >> x >> a;sum = a,b=a;for(int i=1;i<x;i++){// cout << a << "&" << sum << "^";a = a + b*pow(10,i);
//        cout << a <<"*";sum += a;}cout << sum;return 0;
}

需要注意的是,a是随着i的增加而改变的,所以不能直接在高位乘以a,而是要在最初的时候,就把a保存在一个变量当中,在最高位乘以这个数即可。

3、MT1214上三角矩阵

输入3X3的整型矩阵A,输出对应的上三角矩阵。

格式

输入格式:

输入矩阵,元素在0到9之间,空格分隔。

输出格式:

输出矩阵,空格分隔。

样例 1

输入:

1 2 3 4 5 6 7 8 9

输出:

1 2 3  
0 5 6  
0 0 9
解决思路

法一:因为本题要求的矩阵是3*3的矩阵,是固定的,所以可以直接使用一维数组,找出上三角矩阵包含的几位,除了这几位,其余的都直接设置位0即可。

法二:使用二维数组,设置为a[i][j],当i>j时,输入0。然后输出矩阵即可。

实现代码

法一:一维矩阵解决

#include<bits/stdc++.h> using namespace std;int main( )
{int a[9]={0},count=0;for(int i=0;i<9;i++){//这里需要注意,数组位数为9位,所以应该是从0~8cin >> a[i];if(i==3||i==6||i==7){a[i]=0;}}for(int i=0;i<9;i++){// cout << a[i];count++;cout << a[i] << " ";if(count%3==0){cout << endl;}}return 0;
}

法二:二维矩阵解决

#include<bits/stdc++.h> using namespace std;int main( )
{int a[3][3]={0};for(int i=0;i<3;i++){for(int j=0;j<3;j++){cin >> a[i][j];if(i>j) a[i][j]=0;}}for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout << a[i][j] << " ";}cout << endl;}return 0;
}

明天继续吧。

http://www.lryc.cn/news/298021.html

相关文章:

  • 159基于matlab的基于密度的噪声应用空间聚类(DBSCAN)算法对点进行聚类
  • CVPR 2023: GANmouflage: 3D Object Nondetection with Texture Fields
  • 【ASP.NET Core 基础知识】--部署和维护--日志记录和错误处理
  • docker命令梳理
  • 彩虹系统7.0免授权+精美WAP端模板源码
  • linux系统haproxy负载均衡工具的介绍以及使用
  • 七、Nacos源码系列:Nacos服务发现
  • Vue源码系列讲解——模板编译篇【一】(综述)
  • 【机器学习】数据清洗之识别异常点
  • MacOS 制作 TF 卡/ U 盘镜像
  • 怎么用postman调用webservice(反推SoapUI)
  • 【开源】JAVA+Vue.js实现衣物搭配系统
  • 【Flask + AI】接入CHATGLM API 实现翻译接口
  • 并发事务带来的问题及解决方法
  • CRNN介绍:用于识别图中文本的深度学习模型
  • 机器人运动学林沛群——变换矩阵
  • 阿里云增加数据库访问白名单
  • Rust基础拾遗--辅助功能
  • 【数据结构】双向链表(链表实现+测试+原码)
  • ChatGPT 3.5与4.0:深入解析技术进步与性能提升的关键数据
  • 前端JavaScript篇之ajax、axios、fetch的区别
  • 【PyTorch][chapter 15][李宏毅深度学习][Neighbor Embedding-LLE]
  • 在JSP中实现JAVABEAN
  • 智能优化算法 | Matlab实现飞蛾扑火(MFO)(内含完整源码)
  • LSF 主机状态 unreach 分析
  • SpringBoot日志
  • 006集——where语句进行属性筛选——arcgis
  • 《动手学深度学习(PyTorch版)》笔记8.3
  • 静态时序分析:建立时间分析
  • 深入探究 HTTP 简化:httplib 库介绍