C语言|魔法阵实现-创新互联

//魔方阵
#include
int main()
{
 int n , i , j , num , i1 , j1;
 int a[10][10]; 
 //输入n
 scanf("%d" , &n);
 
 //将数组每个元素设置为0---判断所在位置是否有数字 
 for(i = 0 ; i< n ; i++)
     for(j = 0 ; j< n ; j++)
         a[i][j] = 0;
 
 
 i = 0;
 j = n/2;
 num = 1;
 a[i][j] = num;        //将数字1放在第0行第n/2列
 
 //对剩下的数字进行遍历
 for(num = 2 ; num<= n*n ; num++){
     i1 = i;            //记录当前行 
     j1 = j;            //记录当前列
     
     //下一个位置的行与列 上一行 下一列 
     i--;
     j++;
     
     //如果当前行 没有上一行 那么放在第n-1行 
     if(i< 0) i = n-1; 
     
     //如果当前列 没有下一列 那么放在第0列 
     if(j >n-1) j = 0;
     
     //如果所放位置已经有数据了 那么就放在他的同一列的下一行 
     if(a[i][j]){
         i = i1+1;
         j = j1;
     }
     
     a[i][j] = num;        //把数放入数组中 
      
 }
  
 //打印
 for(i = 0 ; i< n ; i++){
     for(j = 0 ; j< n ; j++)
         printf("%d\t" , a[i][j]);
   printf("\n");
 } 
 return 0;
     

成都创新互联主营交口网站建设的网络公司,主营网站建设方案,APP应用开发,交口h5微信平台小程序开发搭建,交口网站营销推广欢迎交口等地区企业咨询
//魔方阵
#includeint main()
{
	int n , i , j , num , i1 , j1;
	int a[10][10]; 
	//输入n
	scanf("%d" , &n);
	
	//将数组每个元素设置为0---判断所在位置是否有数字 
	for(i = 0 ; i< n ; i++)
		for(j = 0 ; j< n ; j++)
			a[i][j] = 0;
	
	
	i = 0;
	j = n/2;
	num = 1;
	a[i][j] = num;		//将数字1放在第0行第n/2列
	
	//对剩下的数字进行遍历
	for(num = 2 ; num<= n*n ; num++){
		i1 = i;			//记录当前行 
		j1 = j;			//记录当前列
		
		//下一个位置的行与列 上一行 下一列 
		i--;
		j++;
		
		//如果当前行 没有上一行 那么放在第n-1行 
		if(i< 0) i = n-1; 
		
		//如果当前列 没有下一列 那么放在第0列 
		if(j >n-1) j = 0;
		
		//如果所放位置已经有数据了 那么就放在他的同一列的下一行 
		if(a[i][j]){
			i = i1+1;
			j = j1;
		}
		
		a[i][j] = num;		//把数放入数组中 
		 
	}
	 
	//打印
	for(i = 0 ; i< n ; i++){
		for(j = 0 ; j< n ; j++)
			printf("%d\t" , a[i][j]);
	 	printf("\n");
	} 
	return 0;
		
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:C语言|魔法阵实现-创新互联
文章位置:http://lszwz.com/article/hdods.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款