1.    打印乘法表

【问题描述】

用for循环实现输出1至9的乘法表

【样例输出】

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

#include<iostream>
using namespace std;
int main(){
for(int i=;i<=;i++){
for(int j=;j<=i;j++){
cout<<j<<"*";
cout<<i<<"="<<j*i<<" ";
}
cout<<endl;
}
return ;
}

2.    矩阵交换

【问题描述】

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

输入:输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第6行包含两个整数m、n(1 <= m,n< = 5),以一个空格分开。

输出:输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。

【样例输入】

1 2 2 1 2

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

3 0 8 2 4

1 5

【样例输入】

3 0 8 2 4

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

1 2 2 1 2

#include<iostream>
using namespace std;
int main(){
//定义要交换的行数
int r1,r2;
//定义一个五行五列的二维数组
int a[][]={};
for(int i=;i<;i++){
for(int j=;j<;j++){
cin>>a[i][j];
}
}
//输入你要交换的行和列
cin>>r1>>r2;
for(int i=;i<;i++){
swap(a[r1-][i],a[r2-][i]);
}
for(int i=;i<;i++){
for(int j=;j<;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return ;
}

1.    打印杨辉三角

【问题描述】

打印杨辉三角形的前10行,杨辉三角形如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

【样例输出】

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

#include<iostream>
using namespace std;
int main()
{
//定义一个十行十列的数组
int a[][];
//先遍历行
for(int i=;i<;i++){
//先把空格打出来
for(int h=;h<-i;h++){
cout<<" ";
} for(int j=;j<=i;j++){
if(j==||j==i)
{
a[i][j]=;
}
else {
a[i][j]=a[i-][j-]+a[i-][j];
}
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return ;
}

2.    扫雷游戏地雷数计算

【问题描述】

扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。

注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。

输入:第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。

输出:n行,每行m个字符,描述整个雷区。若相应格中是地雷,则用‘*’表示,否则用相应的周围格地雷数表示。字符之间无任何分隔符。

【样例输入】

3 3

*??

???

?*?

【样例输出】

*10

221

1*1

#include <iostream>
using namespace std;
int main(){
int n,m,cnt=;
char a[][];
cin>>n>>m;
for(int i=;i<n;i++){
for(int j=;j<m;j++){
cin>>a[i][j];
}
}
for(int i=;i<n;i++){
for(int j=;j<m;j++){
if(a[i][j]!='*'){
if(a[i-][j-]=='*') cnt++;
if(a[i-][j]=='*') cnt++;
if(a[i-][j+]=='*') cnt++;
if(a[i][j-]=='*') cnt++;
if(a[i][j+]=='*') cnt++;
if(a[i+][j-]=='*') cnt++;
if(a[i+][j]=='*') cnt++;
if(a[i+][j+]=='*') cnt++;
cout<<cnt;
cnt=;
}
else{
cout<<"*";
}
}
cout<<" "<<endl;
}
return ;
}

3.    二维数组右上左下遍历

【问题描述】

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组。

输入:输入的第一行上有两个整数,依次为row和col。余下有row行,每行包含col个整数,构成一个二维整数数组。(注:输入的row和col保证0 < row < 100, 0 < col < 100)

输出:按遍历顺序输出每个整数。每个整数占一行。

【样例输入】

3 4

1 2 4 7

3 5 8 10

6 9 11 12

【样例输出】

1 2 3 4 5 6 7 8 9 10 11 12

#include <iostream>
using namespace std; int main(){
int r,c,max;
cin>>r>>c;
max=r+c-;
int a[][];
for(int i=;i<r;i++){
for(int j=;j<c;j++){
cin>>a[i][j];
}
}
for(int k=max;k;k--){ //3 4
for(int j=max-k,i=;i<r;j--,i++){
if(j>=&&j<c)
cout<<a[i][j]<<" ";
}
}
return ;
}

noip第9课作业的更多相关文章

  1. noip第5课作业

    1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...

  2. noip第34课作业

    1.    信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...

  3. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  4. noip第29课作业

    1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...

  5. noip第28课作业

    分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...

  6. noip第27课作业

    1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...

  7. noip第26课作业

    1.    信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...

  8. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  9. noip第24课作业

    1.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...

  10. noip第23课作业

    1.   营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...

随机推荐

  1. 趣味编程:静夜思(JOOL版)

    JOOL <dependency> <groupId>org.jooq</groupId> <artifactId>jool</artifactI ...

  2. Imageen 图像切割 (JpegLosslessTrans)

    procedure CutAFile(FileName: string; qry: TQuery);var  i: Cardinal;  FromStream, ToStream: TMemorySt ...

  3. ubuntu 软件包系统已损坏 解决方法

    sudo apt-get clean sudo apt-get -f install sudo apt-get upgrade

  4. 吴裕雄 实战PYTHON编程(4)

    import hashlib md5 = hashlib.md5()md5.update(b'Test String')print(md5.hexdigest()) import hashlib md ...

  5. 使用python发送邮件

    最近需要做一个功能,统计bug的数量,然后发邮件给指定人,所有就先要了解一下使用python发送邮件 代码如下: #coding: utf-8 import smtplib from email.MI ...

  6. C语言实现24点程序

    一.简介 本程序的思想和算法来自于C语言教材后的实训项目,程序通过用户输入四个整数计算出能够通过加减乘除得到数字24的所有表达式,程序的设计有别于一般通过穷举实现的方式,效率得到提高.算法介绍如下: ...

  7. hibernate对数据库查询的坑

    hibernate对数据库的查询其实有很多种方法,下面我来介绍我知道的两种方法,以及它们可能会遇到的问题,这里前两种都是查询所有结果 最后一种是 使用hibernate查询一条记录. 第一种方法 pu ...

  8. thrust

    thrust - Bing dictionary US[θrʌst]UK[θrʌst] v.刺:塞:冲:挤 n.刺:插:重点:猛推 网络推力:插入:戳 变形Plural Form:thrusts:Pr ...

  9. Dice

    Dice http://acm.hdu.edu.cn/showproblem.php?pid=5012 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  10. 自动化预备知识上&&下--Android自动化测试学习历程

    章节:自动化基础篇——自动化预备知识上&&下 主要讲解内容及笔记: 一.需要具备的能力: 测试一年,编程一年,熟悉并掌握业界自动化测试工具(monkey--压力测试.monkeyrun ...