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

网站建设需求分析调研调查表找客户资源的软件免费的

网站建设需求分析调研调查表,找客户资源的软件免费的,分销系统开发demo,品牌的佛山网站建设前言:内容包括:题目,代码实现,大致思路,代码解读 题目: “福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每…

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

题目:

“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 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.mmbaike.com/news/77524.html

相关文章:

  • wordpress视频教程下载地址优化网站标题是什么意思
  • python建立简易网站福州百度快照优化
  • 用html做的美食网站重庆网页优化seo
  • 中国风网站建设线上营销推广
  • 增城做网站seo sem
  • 网站的需求分析都有哪些内容合肥seo优化
  • 携程网站的会计工作怎么做app推广代理平台
  • 如何更改网站备案信息网站信息组织优化
  • 想要做个公司网站今天北京发生大事了
  • 上海营业执照查询网上查询排名优化公司哪家效果好
  • 公司网站模块制作高端大气网站建设
  • 扬中做网站杭州网站优化搜索
  • 行业网站建设服务热线苏州网络推广服务
  • 网站 毕业设计代做模板网站好还是自助建站好
  • 做网站的基本要求西安百度推广运营
  • 郑州网站优化怎样做百度快照推广
  • 有专门做电商网站的CMS吗小红书怎么推广引流
  • 网站建设和设计的社会应用南宁seo排名收费
  • 工伤保险网上做实网站宁波seo排名优化
  • 网站空间信息查询近期新闻热点大事件
  • 乐山网站建设公司客户关系管理系统
  • 东营网站建设推广哪家好免费推广网站大全集合
  • 网站内容优化方法长沙seo优化推广公司
  • 做响应式网站的菜单栏seo免费浏览网站
  • 广州萝岗区网站建设品牌企业seo咨询
  • 合作公司做网站广州今日新闻头条新闻
  • 苏州代做淘宝网站简述网站制作的步骤
  • php做视频网站seo培训机构哪家好
  • 企业大型网站开发百度做广告费用
  • 做网站建设最好学什么厦门seo排名