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

企业网站建设怎么选择空间nba最新排行

企业网站建设怎么选择空间,nba最新排行,网站充值平台怎么做,全flash网站制作教程前言:内容包括:题目,代码实现,大致思路,代码解读 题目: “福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每…

前言:内容包括:题目,代码实现,大致思路,代码解读

题目:

“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。

输入格式:

输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。

输出格式:

输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。

输入样例 1:

$ 9@  @@@@@
@@@  @@@ @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@@  @ @ @@  @@@@@

输出样例 1:

$$$$$  $ 
$ $ $  $ 
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$$$$  $$$$ $   $ $$$  $$$
$$$$$  $ 

输入样例 2:

& 3
@@@@ 
@@@

输出样例 2:

bu yong dao le
&&&& 
&&&

代码实现:

#include<stdio.h>
int main()
{char ch = 0;int n = 0;char arr[100][100]={0};scanf("%c %d",&ch,&n);int flag=1;getchar();int i = 0;//存入汉字for(i=0;i<n;i++){int j = 0;for(j=0;j<n;j++){arr[i][j]=getchar();}getchar();}//判断正过来和倒过去是否一样for(i=0;i<n;i++){int j = 0;for(j=0;j<n;j++){if(arr[i][j]!=arr[n-i-1][n-j-1]){flag=0;}}}if(flag==1){printf("bu yong dao le\n");}//倒序打印+逆序打印for(i=n-1;i>=0;i--){int j = 0;for(j=n-1;j>=0;j--){if(arr[i][j]==32){printf(" ");}else{printf("%c",ch);}}printf("\n");}return 0;
}

大致思路:

 1 要实现汉字倒过来的效果:需要从最后一行开始打印,并逆序这一行,使用循环

 2 判断正过来倒过去是否一样:

    某一行和其对应的行数(某一行的下标+它对应的行数的下标=总行数-1)进行比较,

    某一行的最开始的字符和对应的行数的最后的字符比较,然后依次遍历比较,若是发现有不相同的则说明有必要倒置,若是发现全部都相同,则打印无需倒置的信息:bu yong dao le  比如:

 

 总行数是3 第一行的下标是0 ,其对应的行数是第三行,下标为2     0+2=3-1

  红色方框之间进行比较,橙色方框之间进行比较

代码解读:

part 1

    char ch = 0;int n = 0;char arr[100][100]={0};scanf("%c %d",&ch,&n);int flag=1;getchar();

使用二维数组arr存储组成汉字的字符

使用flag来标记正过来和倒过去的字符是否相同,若是相同则flag还是初始值1,若是不同则flag置成0

注意:在输入二维数组的行数和列数后(使用的都是同一个数字)需要使用getchar读走数字后的\n

这样在下面使用getchar一个一个读取用户输入的字符后,确保读取的都是有效字符

part 2:存入汉字

    int i = 0;for(i=0;i<n;i++){int j = 0;for(j=0;j<n;j++){arr[i][j]=getchar();}getchar();}

使用getchar一个一个字符的读取

注意:在读取完一行的字符后,需要再使用一个getchar读走换行符\n

part 2:判断正过来和倒过去的汉字是否一样

    //判断正过来和倒过去是否一样for(i=0;i<n;i++){int j = 0;for(j=0;j<n;j++){if(arr[i][j]!=arr[n-i-1][n-j-1]){flag=0;}}}

比如 

 我们现在要判断整个矩阵正过来和倒过去是否一样,需要行数之间两两比较:

行数0和行数2比较  行数1 和行数1比较

因为0+2=总行数3-1   1+1=总行数3-1

行数之间的两两比较:由于倒过去的汉字是以正着的汉字的最后一行的最后一个字符作为第一行的第一个字符,故而我们需要两行的字符交叉比较

红色方框之间比较,橙色方框之间比较……

part 3:倒序+逆序打印

   if(flag==1){printf("bu yong dao le\n");}//倒序打印+逆序打印for(i=n-1;i>=0;i--){int j = 0;for(j=n-1;j>=0;j--){if(arr[i][j]==32){printf(" ");}else{printf("%c",ch);}}printf("\n");}

倒过来的汉字是从正着的汉字的最后一行开始打印,并且需要逆序这一行的字符

空格的ASCII码值是32,若是二维数组中的某个空间存放的是空格,则输出空格

http://www.khdw.cn/news/58573.html

相关文章:

  • 做养生网站需要证件吗债务优化是什么意思
  • 绵阳做网站的公司有哪些百度一下网址是多少
  • app外包公司开发百度seo价格查询
  • 商丘网络营销服务免费手机优化大师下载安装
  • 怎么建设和聚享游一样的网站呢把百度网址大全设为首页
  • 做交通分析的网站子域名网址查询
  • 建设产品网站课程全网营销课程
  • 建筑模板工厂价格尺寸武汉外包seo公司
  • 易尔通做网站怎么样怎么简单制作一个网页
  • 建设网站的公司广州龙斗seo博客
  • 学做招投标的网站有哪些发外链比较好的平台
  • 学做日本料理网站seo外包公司优化
  • 有没有做减压的网站广州seo招聘网
  • web网站开发 ASP.NET爱站网影院
  • 如何判断网站是否被收录北京疫情太严重了
  • 怎么做多个域名指向一个网站seo管理平台
  • 怎么做好企业网站长沙seo优化推广
  • 少儿戏曲知识 网站建设理发培训专业学校
  • 17做网店类似网站网络软文营销案例
  • 福州大学学生网站建设和学生上网管理条例网络推广优化品牌公司
  • wordpress修改站点名长沙百度推广开户
  • 山西省建设厅网站查询微信小程序排名关键词优化
  • 广东工程建设信息网站seo关键词首页排名
  • 西安便宜做网站的广东公司搜索seo哪家强
  • 兰州网站建设方法不受限制的搜索引擎
  • 网站开发的流程是什么百度云网盘官网
  • 做饮食找工作哪个网站好如何做好企业推广
  • 什么样算网站需要备案seo软件服务
  • 对接标准做好门户网站建设it培训机构口碑排名
  • 建设网站wbs网络营销主要学什么