久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

DEV C++九宮格的解法源程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年12月17日   【字體:

下面是源碼VS2010壞了還沒來得及重裝用DEV-C++弄的,注釋我寫的很詳細,因為E文很爛所以變量名很有中國特色,求理解.................

#include <stdio.h>
#include <stdlib.h>
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
  int x=0; //行
  int y=0; //列
  int q=1; //循環標記
  int sz;
  int shuru; //輸入九宮格的行列數必須為>3的奇數
  //判斷輸入值是否正確
  for(;q;)
  {
     printf("請輸入要生成的九宮格的行列數:");
     scanf("%d",&shuru);
     if(shuru<=3||shuru>=100) printf("輸入的行列數過大或過小,請重新輸入!\n");
     else if(shuru%2==0) printf("您輸入的不是一個奇數,請輸入一個奇數!\n");
     else q=0;
  }
  int Gsz[shuru][shuru]; //九宮格布局數組
  for(y=0;y<shuru;y++)
   for(x=0;x<shuru;x++)
    Gsz[y][x]=0;     //九宮格布局數組初始化
 ///////////////////////////////////////////////////////////////////////////////
 x=0;
 y=0;
 int s=1; 
 //第一步
 //首先在第一行中間寫下1
 x=(shuru-1)/2;
 Gsz[y][x]=s;
 s++;
 for(q=1;q==1;)
 {
//程序關鍵轉向處
 if(y==0&&x==(shuru-1))
  {
    y++;                 
    Gsz[y][x]=s;
    s++;
    y=0;
    x=0;
    Gsz[y][x]=s;
    s++;
    q=0;
  }else
  {               
 //然后向下移動到最底下,向右移一格寫
 y=shuru-1;
 x++;
 Gsz[y][x]=s;
 s++;
 //然后一下向右上方寫到最邊處
 for(;x<(shuru-1);)
 {              
  y--;         
  x++;
  Gsz[y][x]=s;
  s++;
 }
 //然后平移到最左邊,向上移動一格寫
 y--;
 x=0;
 Gsz[y][x]=s;
 s++;
 //向右上方寫。遇到數字后向下寫
 y--;
 x++;
 for(;Gsz[y][x]==0;)
 {
   Gsz[y][x]=s;
   s++;
   y--;
   x++;             
 }
 y++;x--;  //還原循環最后一次的無效數值變化
//向下寫一格
y++;
Gsz[y][x]=s;
s++;
//繼續向右上寫直到最邊處
for(;y>0;)
{
  y--;         
  x++;
  Gsz[y][x]=s;
  s++;
}
}
}     
//第二步
for(;s<(shuru*shuru);)
{
 //向下移動到最底下,向右移一格寫
 y=shuru-1;
 x++;
 Gsz[y][x]=s;
 s++;
  //向右上方寫。遇到數字后向下寫
 y--;
 x++;
 for(;Gsz[y][x]==0;)
 {
   Gsz[y][x]=s;
   s++;
   y--;
   x++;             
 }
 y++;x--;  //還原循環最后一次的無效數值變化
//向下寫一格
y++;
Gsz[y][x]=s;
s++;
//繼續向右上寫直到最邊處
for(;x<(shuru-1);)
 {              
  y--;         
  x++;
  Gsz[y][x]=s;
  s++;
 }
 //然后平移到最左邊,向上移動一格寫
 y--;
 x=0;
 Gsz[y][x]=s;
 s++;
 //繼續向右上寫直到最邊處
for(;y>0;)
{
  y--;         
  x++;
  Gsz[y][x]=s;
  s++;
}           
}
Gsz[(shuru-1)][(shuru-1)/2]=s; //寫最后一個數值
////////////////////////////////////////////////////////////////////////////////
int ax=0;  
    //屏幕輸出
     for(y=0;y<shuru;y++)
     {
      for(x=0;x<shuru;x++)
      {
       printf("%d",Gsz[y][x]);
       if(Gsz[y][x]<=9) printf("   ");
       else printf("  ");
       }
       for(q=0;q<shuru;q++) ax+=Gsz[y][q];
       printf("    此列和為:%d",ax );ax=0;
       printf("\n\n");
       }
       for(x=0,y=0,ax=0;y<shuru;x++,y++)ax+=Gsz[y][x];
       printf("\n斜角1的和為:%d",ax);
       for(x=shuru-1,y=0,ax=0;y<shuru;x--,y++)ax+=Gsz[y][x];
       printf("\n斜角2的和為:%d",ax);
       printf("\n\n");
  system("PAUSE");
  return 0;
}

關閉窗口

相關文章

主站蜘蛛池模板: 国产精品福利视频 | 免费a国产| 亚洲成人蜜桃 | 99精品视频免费在线观看 | 国产电影精品久久 | 日韩精品一区二区三区老鸭窝 | 精品真实国产乱文在线 | 中文字幕一区二区三区四区五区 | 一区在线视频 | 亚州午夜精品 | 中文字幕欧美一区二区 | 国产高清精品一区二区三区 | 国产1区2区 | 狠狠的日| 日本在线精品视频 | 综合二区 | 成人高清在线 | 日本视频免费观看 | 国产综合视频 | 91精品在线播放 | 欧美在线一区二区三区 | 91av视频| 国产欧美日韩一区二区三区在线观看 | 亚洲一区二区三区四区五区中文 | 国产精品久久久99 | 日日草天天干 | 91精品久久久久久久久 | 在线视频亚洲 | 日韩在线观看网站 | 国产小视频自拍 | 永久免费视频 | 亚洲精品久久久一区二区三区 | 精品国产18久久久久久二百 | 日韩精品免费视频 | 国产精品色哟哟网站 | 涩涩视频大全 | 欧美激情国产日韩精品一区18 | 欧美aⅴ| 欧美一级欧美一级在线播放 | 国产精品视屏 | 国产精品网页 |