C程序scanf 的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 17:21:03
#include <stdio.h>
#include <time.h>

#define MAX_BOARDSIZE 49
unsigned int counter = 0;// 僳开函荐肺急攫

typedef struct{
int order;
int mSquare[MAX_BOARDSIZE][MAX_BOARDSIZE];
} magicSquare;

void initMagicSquare(int order,int Square[ ][MAX_BOARDSIZE]);
void printMagicSquare(int order,int Square[ ][MAX_BOARDSIZE]);
void fillMagicSquare(int order,int Square[ ][MAX_BOARDSIZE]);
int inputSquareSize();

int main(void)
{
//clock_tclock(void);
//clock_t startTime, endTime;
//double duration;
int i;
magicSquare SCAN;

// counter++;
SCAN.order = 0;
// counter++;//for狼檬扁拳何盒i=0
for(i=0; SCAN.order==0; i++){
// counter += 2; // for狼炼扒八荤, for狼i蔼盎脚
SCAN.order = inputSquareSize();
// counter ++;// =楷魂(assign楷魂)
}
initMagicSquare(SCAN.order,SCAN.mSquare);
// startTime = clock(); // 矫埃螟沥矫累
fillMagicSquare(SCAN.o

for loop就是for循环,中英结合弄你糊涂了吧。

要达到你说的不用scanf而用for loop把从3到11的奇数魔法方块,程序这样改造:

修改int main(void)为下面一行:
int main2(int square_size)

修改SCAN.order = inputSquareSize(); 为下面一行:
SCAN.order = square_size;

然后新编写下面的主函数:
void main(void){
int i;
for (i=3;i<=11;i+=2) main2(i);
}