C语言1094题目,基于visual Studio2013解决C语言竞赛题之1094纵横图

/************************************************************************/

/* 二)程序设计

⑴奇阶纵横图n=2m+1请见填写方法分析1)。 该程序在 数组23题已经完成

⑵偶阶纵横图n=2(2m+1)时,算法分析是把方阵划成A、B、C、D四个小子阵,

然后进行多次交换数字来完成,较麻烦,但可从中发现巧妙的规律,A、B、C、D子阵中各元素,

都可以由 A子阵中相对位置上的元素加上一个常数得到,如B~(u/2)2,C~2(u/2)2D~3(u/2)2,

只要按奇阶纵横图先填A子阵,而B、C、D子阵便可由A子阵演变而成。

⑶偶阶纵横图n=4m时,先用循环判断方阵中每一位置是否在对角线上,如在对角线上,则将该位置赋值为1,

否则,赋值为0。然后将X←0,Y←N*N+1,X、Y为行列值。

然后用二重循环(I,J)从1依次变化至n。若A[I][J]=1,则A[I][J]←Y,若A[I][J]=0, 则A[I][J]←X,循环结束即得n=4m的方阵。

*/

/************************************************************************/

#include

#include

#include

void MF494(int arr[][8])

{

int num=8;

int num1=num/4;

int numB=num*num+1;

for (int i=0;i

{

for (int j=0;j

{

if ((i+j)%4==3||abs(i-j)%4==0)

{

arr[i][j]=numB-i*num-j-1;

}

else

arr[i][j]=i*num+j+1;

printf("%3d",arr[i][j]);

}

printf("\n");

}

}

//const int N=8;

void MF5()

{int k=2;

int arr10[10][10]={0};

#pragma region W

{int a[5][5] = {0};

int num = 1;

int i = 0;

int j = 5/2;

int ci = 0;

int cj = 0;

while (1){

a[i][j] = num++; //将num当前数存入a[i][j];

ci = i;//保存i当前值;

cj = j;//保存j当前值;

if (ci == 0)i = 5 - 1;//判断上一个是否在第0行

else i--;

if (cj == 5 - 1){//判断上一个是否在第N-1列

j = 0;

i = ci-1;

}

else j++;

if (a[i][j] != 0 || (ci == 0 && cj == 5 - 1)){//判断下一个位置是否被占有,或上一个是否在第0行,第N-1列

i = ci+1;

j = cj;

}

int flag = 0;

for (int u = 0; u < 5; u++){//判断矩阵是否已满

int flag1 = 0;

for (int v = 0; v < 5; v++){

if (a[u][v] == 0){

flag1 = 1;

break;

}

}

if (flag1 == 1){

flag = 1;

break;

}

}

if (flag == 0)break;//flag=0说明矩阵已经填满,跳出循环

}

for (int i=0;i<5;i++)

{

for(int j=0;j<5;j++)

{

arr10[i][j]=a[i][j];

}

}

}

#pragma endregion W

#pragma region W

{int a[5][5] = {0};

int num = 26;

int i = 0;

int j = 5/2;

int ci = 0;

int cj = 0;

while (1){

a[i][j] = num++; //将num当前数存入a[i][j];

ci = i;//保存i当前值;

cj = j;//保存j当前值;

if (ci == 0)i = 5 - 1;//判断上一个是否在第0行

else i--;

if (cj == 5 - 1){//判断上一个是否在第N-1列

j = 0;

i = ci-1;

}

else j++;

if (a[i][j] != 0 || (ci == 0 && cj == 5 - 1)){//判断下一个位置是否被占有,或上一个是否在第0行,第N-1列

i = ci+1;

j = cj;

}

int flag = 0;

for (int u = 0; u < 5; u++){//判断矩阵是否已满

int flag1 = 0;

for (int v = 0; v < 5; v++){

if (a[u][v] == 0){

flag1 = 1;

break;

}

}

if (flag1 == 1){

flag = 1;

break;

}

}

if (flag == 0)break;//flag=0说明矩阵已经填满,跳出循环

}

for (int i=0;i<5;i++)

{

for(int j=0;j<5;j++)

{

arr10[i+5][j+5]=a[i][j];

}

}

}

#pragma endregion

#pragma region W

{int a[5][5] = {0};

int num = 51;

int i = 0;

int j = 5/2;

int ci = 0;

int cj = 0;

while (1){

a[i][j] = num++; //将num当前数存入a[i][j];

ci = i;//保存i当前值;

cj = j;//保存j当前值;

if (ci == 0)i = 5 - 1;//判断上一个是否在第0行

else i--;

if (cj == 5 - 1){//判断上一个是否在第N-1列

j = 0;

i = ci-1;

}

else j++;

if (a[i][j] != 0 || (ci == 0 && cj == 5 - 1)){//判断下一个位置是否被占有,或上一个是否在第0行,第N-1列

i = ci+1;

j = cj;

}

int flag = 0;

for (int u = 0; u < 5; u++){//判断矩阵是否已满

int flag1 = 0;

for (int v = 0; v < 5; v++){

if (a[u][v] == 0){

flag1 = 1;

break;

}

}

if (flag1 == 1){

flag = 1;

break;

}

}

if (flag == 0)break;//flag=0说明矩阵已经填满,跳出循环

}

for (int i=0;i<5;i++)

{

for(int j=0;j<5;j++)

{

arr10[i][j+5]=a[i][j];

}

}

}

#pragma endregion

#pragma region W

{int a[5][5] = {0};

int num = 76;

int i = 0;

int j = 5/2;

int ci = 0;

int cj = 0;

while (1){

a[i][j] = num++; //将num当前数存入a[i][j];

ci = i;//保存i当前值;

cj = j;//保存j当前值;

if (ci == 0)i = 5 - 1;//判断上一个是否在第0行

else i--;

if (cj == 5 - 1){//判断上一个是否在第N-1列

j = 0;

i = ci-1;

}

else j++;

if (a[i][j] != 0 || (ci == 0 && cj == 5 - 1)){//判断下一个位置是否被占有,或上一个是否在第0行,第N-1列

i = ci+1;

j = cj;

}

int flag = 0;

for (int u = 0; u < 5; u++){//判断矩阵是否已满

int flag1 = 0;

for (int v = 0; v < 5; v++){

if (a[u][v] == 0){

flag1 = 1;

break;

}

}

if (flag1 == 1){

flag = 1;

break;

}

}

if (flag == 0)break;//flag=0说明矩阵已经填满,跳出循环

}

for (int i=0;i<5;i++)

{

for(int j=0;j<5;j++)

{

arr10[i+5][j]=a[i][j];

}

}

}

#pragma endregion

for (int i=0;i<5;i++)

{

for (int j=0;j<2;j++)

{

if (i==2)

{

int k=j+2;

int temp=arr10[i][k];

arr10[i][k]=arr10[i+5][k];

arr10[i+5][k]=temp;

}

else

{

int temp=arr10[i][j];

arr10[i][j]=arr10[i+5][j];

arr10[i+5][j]=temp;

}

}

}

for (int j=0;j<5;j++)

{

int temp=arr10[j][5+k];

arr10[j][5+k]=arr10[j+5][5+k];

arr10[j+5][5+k]=temp;

}

for (int i=0;i<10;i++)

{

for(int j=0;j<10;j++)

{

printf("%3d",arr10[i][j]);

}

printf("\n");

}

}

void main()

{

printf(" 奇数的数组23题已经打印 这里打印 n=10 n=8 两种情况\n");

MF5();

printf("\n\n\n");

int arr[8][8]={0};

MF494(arr);

system("pause");

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言考试常考试卷,c语言面试最必考的十道试题,求职必看!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼6、free()函数问&#xff1a;下面的程序会在用户输入’freeze’的时候出问题&#xff0c;而’zebra’则不会&#xff0c;为什么?#include int main(int argc, char *argv[]) {char *ptr (char*)malloc(10);if(NULL ptr){printf(…

Java 导出Excel

前台代码&#xff1a; View Code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546<button class"btn btn-sm btn-success" type"submit" id"detailEp" onclick"return exportCheck(true);"…

android 使用动态的svg资源,在Android中使用SVG作为资源 – victor

victor在Android中使用SVG作为资源。使用这个插件&#xff0c;你可以为SVG定义源文件&#xff0c;它们将会自动在build中光栅化/导入&#xff0c;无需源代码。安装在build.gradle中添加:buildscript {repositories {jcenter()}dependencies {classpath com.trello:victor:0.3.0…

centOS改编码

http://jingyan.baidu.com/article/ab69b270de8b4f2ca7189f1d.html cd /rootvim .bashrcLANG"zh_CN.GBK" :wqsoure.bashrc转载于:https://www.cnblogs.com/finallyliuyu/p/6513587.html

android 键盘 自动消失,android 软键盘 回到键 消失事件 监听

弹出输入法 时 隐藏了 ‘底部状态栏’ 在按 物理 返回键 后&#xff0c; 软键盘消失后 恢复 ‘底部状态栏’public class ImageViewCareIME extends ImageView{public ImageViewCareIME(Context context){super(context);// TODO Auto-generated constructor stub}public stati…

java基础_变量

变量: 数据类型: 基本类型&#xff1a;short/byte(1byte)/char(2byte)-->int(4byte)-->long(8byte)-->float&#xff08;8byte&#xff09;-->double&#xff08;16byte,默认&#xff09;、boolean java变量 从本质上讲&#xff0c;变量其实是内存里面的一小块区域…

android 开机动画尺寸,Android开机Logo动画制作

开机Logo制作1.准备Logo图片准备一张符合尺寸要求(例如&#xff1a;1280x720)的图片&#xff0c;最好是png或jgp。2.用Hitool工具制作镜像文件海思芯片使用的是Hitool工具&#xff0c;打开Hitool&#xff0c;选择HiFastplay&#xff0c;选择右下角的Logo设置&#xff0c;添加图…

18:验证子串

18:验证子串 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述输入两个字符串&#xff0c;验证其中一个串是否为另一个串的子串。 输入输入两个字符串&#xff0c; 每个字符串占一行&#xff0c;长度不超过200且不含空格。输出若第一个串s1是第二个串s2的子串&#xf…

android安装过哪些应用程序,如何安装应用程序两次而不干扰Android?

我有一个Android应用程序(让我们称为X),我想创建第二个应用程序X2,但基于另一个应用程序.所以我将清单应用程序名称属性更改为X2也改变了包名...但是当我安装X2时,应用程序X被删除了!我应该更改哪些属性,以便我可以在一台设备上独立安装这两个应用程序.我正在研究eclispe.packa…

android webview es6,Android v 5.0 webview HTML5,CSS3和ES6兼容性

我有一个使用Crosswalk的混合Android应用程序.几个月前我转向Crosswalk,这是一个巨大的生产力提升.我花了很多时间测试不同的Android操作系统版本,并且在HTML5 / CSS3 / ES6实现不完整的情况下遇到的问题要少得多 – 如果我理解正确的话,因为Crosswalk是基于Chromium而不是早期…

ADB 基础命令使用

1.adb shell&#xff08;>2个设备显示&#xff1a;error: more than one device/emulator,仅连接一个设备可用&#xff09; adb -d shell 只运行在真实设备中 adb -e shell 只运行在模拟器中 adb -s "指定设备ID" shell &#xff08;>2个设备可用&#xff09; …

照片边框 app android,Screener App-一手搞定将手机截图加上外框

记得几年前想要在Android手机上截图&#xff0c;得安装类似截图软件与Root 才行&#xff0c;层层的关卡还真不是一般使用者能处理的&#xff0c;如今Android手机大部分都已内置截图功能&#xff0c;对于我撰写App文章来说帮助很大&#xff0c;但有时想要表现哪台手机外框画面时…

java多线程编程相关技术

首先要记住核心一点、多线程事异步的&#xff0c;也就是cpu利用率大幅提高。 Stringbuffer 是线程安全的 stringbuilder是线程不安全的HashTable是线程安全的 HashMap不是线程安全的 2.对象及变量的并发访问下的问题。 方法内的变量因为是方法的私有变量&#xff0…

JAVA补充-抽象类

1.抽象类基本概念 1 package com.neusoft.abstracted;2 /**3 * 抽象类&#xff1a;在class之前加abstract关键字4 * 抽象方法语法&#xff1a; 修饰符 abstract 返回值类型 方法名&#xff08;形参列表&#xff09;&#xff1b;5 * 1.抽象方法的返回值前面有abstract关键…

android谷歌补丁日期,久违的Android更新补丁:多年前的坑,谷歌终于给填上了

3月5日消息&#xff0c;近日谷歌在最新的Android安全公告中称&#xff0c;当前更新的补丁CVE-2020-0069已修复联发科芯片设备的安全漏洞。据了解&#xff0c;联发科曾在2016年左右确认&#xff0c;部分搭载联发科芯片的Android设备存在安全性问题&#xff0c;所涉及的设备数量达…

Linux查看进程并重启服务命令

top -u root 查看系统进程service network restartservice iptables restartservice sshd restartservice nginx restartservice mysqld restart chkconfig转载于:https://www.cnblogs.com/liruning/p/6526487.html

android个人微信支付,Android之微信支付

Android开发中&#xff0c;大多数电商APP都会有支付这么模块&#xff0c;此博客就讲一下微信支付&#xff0c;代码不多&#xff0c;很简单就可以完成&#xff0c;支付宝支付请看博客 Android支付之支付宝封装类先来看看效果图微信支付首先要去微信开发平台申请&#xff0c;得到…

php-函数,数组

自定义函数 function xxx(){ } 函数调用 xxx(); 参数 function xxx($a,$b//1){//当此括号内参数有值时&#xff0c;是默认参数 echo $a$b; } xxx(1,1);//引用括号内的参数 可变个数参数 function xxx(){ echo func_num_args();//输出参数个数 echo array_sum(func_get_args());…

android的图片缩放,Android图片缩放总结及比较

在Android中对大图片进行缩放真的很不尽如人意&#xff0c;不知道是不是我的方法不对。下面我列出3种对图片缩放的方法&#xff0c;并给出相应速度。请高人指教。第一种是BitmapFactory和BitmapFactory.Options。首先&#xff0c;BitmapFactory.Options有几个Fields很有用&…

rtf乱码解决办法

首先&#xff0c;阐述下rtf&#xff0c;富文本格式文档&#xff0c;目前常用来做模板&#xff1b; 我遇到的问题是rtf中替换后的文本显示是正常的&#xff0c;rtf直接转pdf就不正常了&#xff0c;通过notpad 打开后发现rtf本身内容编码是我没有见过的&#xff08;查资料说时ans…