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

保定网站制作报价微网站运营

保定网站制作报价,微网站运营,如何做收费网站,网站建设好之后怎么上传东西前言:内容包括:题目,代码实现,大致思路,代码解读 题目: “福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每…

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

题目:

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

相关文章:

  • 茶楼网站模板站长平台网站
  • 南充做网站电话百度搜索一下
  • 0基础学做网站教程没有网站怎样做外贸
  • 建设网站 课程设计山东饰品行业网站制作
  • 鄂州建设工程造价信息管理网站广州建设技术职业学院官网
  • 宁波企业自助建站系统WordPress首页播放音乐
  • 大型门户网站制作流程工商工事上哪个网站做
  • 带产品展示的个人网站模板协会网站建设必要性
  • 北京保障性住房建设投资中心网站低学历吃香的十大职业
  • wpf可以做网站吗柳州网站定制
  • 长春网站建设wordpress 媒体库空白
  • 专业的营销型网站制作金阊做网站价格
  • 深圳有做网站的公司660元免费建站平台哪个好
  • 网站建设方案进行工期安排wordpress本地图片不显示
  • 济南品牌网站建设郓城住房和城乡建设局网站
  • 芜湖做网站哪个公司好Wordpress query 参数
  • 上海网站建设seo零基础可以做网站吗
  • 安阳网站怎么优化公司建设网站的申请信用卡
  • 视频制作网站推荐seo公司怎样找客户
  • 兰州优化网站公司制作网站需要多少时间
  • 东莞广告公司有哪些宁波seo平台
  • 蓝色大气企业网站phpcms模板个人网站备案 拍照
  • 南京做中英文网站设计WordPress 视频cdn
  • 河北省建设信息中心网站生成小程序
  • 无锡网站优化价格手机制作封面教程网站
  • 临沂网站建设多少钱购物网站的图片轮播怎么做
  • 济宁营销型网站建设东莞建设工程招标网
  • 网站注销申请怎么做淘宝客网站赚钱吗
  • 网页生成应用seo是什么车
  • 素材下载网站开发常见的网络营销推广方法