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

深圳网站建设qwyx100星巴克seo网络推广

深圳网站建设qwyx100,星巴克seo网络推广,济南的最新疫情,网站开发所需要的条件文章目录101. 矩阵相等判定102. 上三角矩阵判定103. 矩阵转置104. 矩阵交换105. 杨辉三角106. 井字棋107. 小乐乐与进制转换108. 小乐乐求和109. 小乐乐定闹钟110. 小乐乐排电梯101. 矩阵相等判定 问题描述:KiKi得到了两个n行m列的矩阵,他想知道两个矩阵…

文章目录

  • 101. 矩阵相等判定
  • 102. 上三角矩阵判定
  • 103. 矩阵转置
  • 104. 矩阵交换
  • 105. 杨辉三角
  • 106. 井字棋
  • 107. 小乐乐与进制转换
  • 108. 小乐乐求和
  • 109. 小乐乐定闹钟
  • 110. 小乐乐排电梯

101. 矩阵相等判定

  • 问题描述:KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。

  • 输入描述

    • 第一行包含两个整数n和m,表示两个矩阵包含n行m列,用空格分隔。
    • 从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
    • 从n+2行到2n+1,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第二个矩阵中的元素。
    • 1 < n,m < 10
  • 输出描述:一行,如果两个矩阵相等输出"Yes"并换行,否则输出"No"并换行。

  • 示例

输入:2 21 23 41 23 4
输出:Yes
  • 代码实现
#include <stdio.h>
int main()
{int n,m,i,j;int arr1[10][10]= {0};int arr2[10][10]= {0};scanf("%d %d",&n,&m);//录入第一个矩阵for(i = 0;i < n;i++){for(j = 0;j < m;j++){scanf("%d",&arr1[i][j]);}}//录入第二个矩阵for(i = 0;i < n;i++){for(j = 0;j < m;j++){scanf("%d",&arr2[i][j]);}}//比较两个数组对应位置的元素for(i = 0;i < n;i++){for(j = 0;j < m;j++){if(arr1[i][j] != arr2[i][j]){printf("No\n");return 0;}}}printf("Yes\n");return 0;
}

102. 上三角矩阵判定

  • 问题描述:KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

  • 输入描述:第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (1≤n≤10)从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。

  • 输出描述:一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。

  • 示例

输入:31 2 30 4 50 0 6
输出:YES
  • 解题思路:对角线以下的元素都是 0 的,则为上三角矩阵。
    • 所有为 0 元素的坐标的特点是:i > j,也就是说只要判断当 i > j 时的所有元素是否为 0 即可。

在这里插入图片描述

  • 代码实现
#include <stdio.h>
int main()
{int n,i,j;int arr[10][10];scanf("%d",&n);for(i = 0;i < n;i++){for(j = 0;j < n;j++){scanf("%d",&arr[i][j]);}}for(i = 0;i < n;i++){for(j = 0;j < n;j++){if(i > j){if(0 != arr[i][j]){printf("NO\n");return 0;}}}}printf("YES\n");return 0;
}

103. 矩阵转置

  • 问题描述:KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。

  • 输入描述:第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10),从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。

  • 输出描述:输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。

  • 示例

输入:2 31 2 34 5 6
输出:1 4 2 5 3 6 
  • 解题思路:原来的列变成行,行则变成列。

  • 代码实现

#include <stdio.h>
int main()
{int n,m,i,j;int arr[10][10];scanf("%d %d",&n,&m);for(i = 0;i < n;i++){for(j = 0;j < m;j++){scanf("%d",&arr[i][j]);}}for(i = 0;i < m;i++){for(j = 0;j < n;j++){printf("%d ",arr[j][i]);//行变成了用j控制,列则由i控制}putchar('\n');}      return 0;
}

104. 矩阵交换

  • 问题描述:KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。
  • 输入描述
    • 第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)
    • 从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
    • 接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符’r’时代表进行行变换,当t为字符’c’时代表进行列变换,a和b为需要互换的行或列(1≤a≤b≤n≤10,1≤a≤b≤m≤10)。
    • 提示:当t为别的字符时不需要处理
  • 输出描述:输出n行m列,为矩阵交换后的结果。每个数后面有一个空格。
  • 示例1
    输入:
	2 21 23 41r 1 2
输出:3 4 1 2 
  • 示例2
输入:2 21 36 82c 1 2t 1 2
  • 代码实现
#include <stdio.h>
int main()
{int n,m,i,j;int arr[10][10];scanf("%d %d",&n,&m);for(i = 0;i < n;i++){for(j = 0;j < m;j++){scanf("%d",&arr[i][j]);}}	int k;//操作k次	scanf("%d",&k);//k\n,输入k次之后敲回车还剩个\nchar t;int  a,b;for(i = 0;i < k;i++)//每一次操作的过程{scanf(" %c %d %d",&t,&a,&b);//%c前多个空格能消化掉上面剩下的\n//不让t接收到的值变成\nif(t == 'r')//交换a和b行{for(j = 0;j < m;j++){int tmp = arr[a-1][j];arr[a-1][j]= arr[b-1][j];arr[b-1][j]= tmp;}}else if(t == 'c')//交换a和b列{for(j = 0;j < n;j++){int tmp = arr[j][a-1];arr[j][a-1]= arr[j][b-1];arr[j][b-1]= tmp;}}		}//交换完之后打印for(i = 0;i < n;i++){for(j = 0;j < m;j++){printf("%d ",arr[i][j]);}putchar('\n');}return 0;
}

105. 杨辉三角

  • 问题描述:KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。

  • 输入描述:第一行包含一个整数数n。 (1≤n≤30)

  • 输出描述:包含n行,为杨辉三角的前n行,每个数输出域宽为5。

  • 示例

输入:6
输出:11    11    2    11    3    3    11    4    6    4    11    5   10   10    5    1
  • 解题思路
    • 前提:每行端点与结尾的数为1。
    • 每个数为上方的两数之和,且头两行无需计算全都是1。
    • 行列相等的位置的值为1。
    • 在框起来的三角形内行都是>=2的,列都是>=1的。当行列都在范围内的时候才需要去计算。

在这里插入图片描述

  • 代码实现
#include <stdio.h>
int main()
{int n,i,j;int arr[30][30];scanf("%d",&n);for(i = 0;i < n;i++){for(j = 0;j < n;j++){if(0 == j)//将第0列的值置为1{arr[i][j] = 1;}if(i == j)//将对角线的值置为1{arr[i][j] = 1;}if(i >= 2 && j >= 1){arr[i][j] = arr[i-1][j-1]+ arr[i-1][j];}}}for(i = 0;i < n;i++){//要打印三角形,i打印多少j就打印多少for(j = 0;j <= i;j++){printf("%5d",arr[i][j]);}putchar('\n');}return 0;
}

106. 井字棋

  • 问题描述:KiKi 和 BoBo 玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。
  • 输入描述:三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为K代表KiKi玩家的棋子,为O表示没有棋子,为B代表BoBo玩家的棋子。
  • 输出描述
    • 如果KiKi获胜,输出“KiKi wins!”;
    • 如果BoBo获胜,输出“BoBo wins!”;
    • 如果没有获胜,输出“No winner!”。
  • 示例
输入:K O BO K BB O K
输出:KiKi wins!
  • 解题思路:判断横3、竖3、对角线上的元素是否相等即可。
  • 代码实现
#include <stdio.h>
int main()
{int i,j;char arr[3][3];for(i = 0;i < 3;i++){for(j = 0;j < 3;j++){scanf(" %c",&arr[i][j]);//记得消化掉按下回车之后剩余的\n}}//判断输赢char flag = 'O';for(i = 0;i < 3;i++){//判断某一行的三个是否相等且不为'O'if(arr[i][0]==arr[i][1]&&arr[i][1]==arr[i][2]&&arr[i][1]!='O'){flag = arr[i][1];break;}//判断某一列的三个是否相等且不为'O'if(arr[0][i]==arr[1][i]&&arr[1][i]==arr[2][i]&&arr[1][i]!='O'){flag = arr[1][i];break;}}//判断对角线上的三个是否相等if(arr[0][0]== arr[1][1]&&arr[1][1]==arr[2][2]&&arr[1][1]!='O'){flag = arr[1][1];}//判断另一条对角线if(arr[0][2]== arr[1][1]&&arr[1][1]==arr[2][0]&&arr[1][1]!='O'){flag = arr[1][1];}if('K' == flag)			printf("KiKi wins!\n");else if('B' == flag)	printf("BoBo wins!\n");else					printf("No winner!\n");return 0;
}

107. 小乐乐与进制转换

  • 问题描述:小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。

  • 输入描述:输入一个正整数n (1 ≤ n ≤ 109)

  • 输出描述:输出一行,为正整数n表示为六进制的结果

  • 示例1

    • 输入:6
    • 输出:10
  • 示例2

    • 输入:120
    • 输出:320
  • 解题思路

    • 先让输入的数 n % 6 得到当前数转换成六进制的最低位;
    • 然后让 n / 6,用得到的结果继续 % 6 获得第二低位;
    • 不停重复上述步骤,直到 n / 6 的结果为 0 为止。
    • 最后将得出的结果翻转过来,就是十进制转六进制的最终结果。

在这里插入图片描述

  • 代码实现
#include <stdio.h>
int main()
{int n,i = 0;int arr[40];//将%6,/6后得到的结果存起来scanf("%d",&n);//转换while(n)//如果n不为0,说明还有能拿下来的位{arr[i] = n % 6;i++ ;n = n / 6;//去掉最低位}for(i--;i >= 0;i--){printf("%d",arr[i]);//将得到的数翻转过来就是6进制}return 0;
}

108. 小乐乐求和

  • 问题描述:小乐乐最近接触了求和符号Σ,他想计算在这里插入图片描述
    的结果。但是小乐乐很笨,请你帮助他解答。

  • 输入描述:输入一个正整数n (1 ≤ n ≤ 109)

  • 输出描述:输出一个值,为求和结果。

  • 示例1

    • 输入:1
    • 输出:1
  • 示例2

    • 输入:10
    • 输出:55
  • 代码实现1

#include <stdio.h>
int main()
{long long n,sum = 0;scanf("%lld",&n);for(int i = 1;i <= n;i++){sum += i;}printf("%lld\n",sum);return 0;
}
  • 代码实现2
    • 等差数列公式:(1 + n) * n / 2
#include <stdio.h>
int main()
{long long n;    scanf("%lld",&n);printf("%lld\n",(1+n)*n/2);return 0;
}

109. 小乐乐定闹钟

  • 问题描述:小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)

  • 输入描述:输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。

  • 输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01),(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 109)。

  • 输出描述:对于每组输入,输出闹钟应该设定的时刻,输出格式为标准时刻表示法(即时和分都是由两位表示,位数不够用前导0补齐)。

  • 示例1

    • 输入:0:0 100
    • 输出:01:40
  • 示例2

    • 输入:1:0 200
    • 输出:04:20
  • 解题思路:用 k / 60 得到的结果就是对应的小时数,用 k % 60 得到的结果则是对应的分钟数。

  • 代码实现

#include <stdio.h>
int main()
{int h,m,k;scanf("%d:%d %d",&h,&m,&k);h = (h + (m + k) / 60) % 24;//转小时转成24进制m = (m + k) % 60;//将分钟转成60进制printf("%02d:%02d\n",h,m);return 0;
}

110. 小乐乐排电梯

  • 问题描述:小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助小乐乐计算还需要多少分钟才能乘电梯到达楼上。(假设最初电梯在1层)

  • 输入描述:输入包含一个整数n (0 ≤ n ≤ 109)

  • 输出描述:输出一个整数,即小乐乐到达楼上需要的时间。

  • 示例1

    • 输入:1
    • 输出:2
  • 示例2

    • 输入:12
    • 输出:6
  • 代码实现;

#include <stdio.h>
int main()
{int n;scanf("%d",&n);printf("%d\n",(n / 12)*4 + 2);//n / 12得出需要上下几趟电梯,//然后* 4得出轮到乐乐上电梯时的时间,//再加上小乐乐上去的两分钟return 0;
}
http://www.yidumall.com/news/17361.html

相关文章:

  • 做网站美工赚钱吗网站设计公司排行
  • 杨和网站建设怎样提高百度推广排名
  • 广州建设企业网站百度seo关键词怎么做
  • 美食网网站建设目的实时疫情最新消息数据
  • flash同视频做网站网站seo优化运营
  • 自己学做网站看什么书网站宣传推广策划
  • 广告装饰 技术支持 东莞网站建设济南seo网站优化公司
  • 高端别墅装饰设计公司网站关键词排名优化方法
  • 网站做快照怎么做百度长尾关键词挖掘工具
  • 二十个优化网站推广seo优化
  • ppt模板怎么套用seo排名的职位
  • 交通建设门户网站百度资源平台链接提交
  • 网站建设制作设计seo优化南宁搜索引擎优化百度百科
  • css3网站制作教程中国十大广告公司排行榜
  • 简单网站开发网络营销策划方案的目的
  • 村委会网站源码 php网站开发步骤
  • 潢川微信网站建设seo sem是什么
  • 广东专业网站优化公司网站设计制作公司
  • 做视频在线观看网站北京营销网站制作
  • b2b专门做机械的网站做销售记住这十句口诀
  • 公司网站建设考核在线识别图片来源
  • 去哪找网站建设公司西安seo招聘
  • 厦门seo优化公司推广网站排名优化seo教程
  • 重庆做网站公司电话标题优化
  • 做解决方案的网站永久免费域名注册
  • 网站做图片滚动凡科建站下载
  • 个旧做网站哪家公司好北京seo工程师
  • 关于服装的网站规划与设计想学互联网从哪里入手
  • 黄色网站如何建设上海网站关键词排名优化报价
  • 珠海网站建设易搜互联推广app的平台