/*arrayio.h*/
#ifndef ARRAYIO /*条件编译防止重复包含头文件*/
#define ARRAYIO
void initialize(); //初始化棋盘
void print_chess(); //打印棋盘函数
#endif
/*arrayio.c*/
#include
#include
#include
#include
char chessman[10][10]; //编译系统初始化每个元素为0
void initialize() //初始化棋盘
{
int i,j; //用于循环计数
int a[8]={0}; //记录哪些字符出现次数不是偶数
srand(time(NULL));
for(i=1;i<8;i++) //这里只随机前8行,留最后一行不打印
for(j=1;j<9;j++)
{
chessman[i][j]=rand()%8+65; //棋盘内容为大写字母A到H
if(chessman[i][j]==65) a[0]++; //记录A的个数
if(chessman[i][j]==66) a[1]++; //记录B的个数
if(chessman[i][j]==67) a[2]++; //记录C的个数
if(chessman[i][j]==68) a[3]++; //记录D的个数
if(chessman[i][j]==69) a[4]++; //记录E的个数
if(chessman[i][j]==70) a[5]++; //记录F的个数
if(chessman[i][j]==71) a[6]++; //记录G的个数
if(chessman[i][j]==72) a[7]++; //记录H的个数
}
for(i=0;i<8;i++)
{
if(a[i]%2!=0) //如果字符的个数是奇数就还需要打印一个
chessman[8][i+1]=i+65;
else //如果前面7行随机的A到H字符恰好是偶数,最后一行全是I字符
chessman[8][i+1]=73;
}
}
void print_chess() //打印棋盘内容
{
int i,j;
system("cls");
printf("\t 1 2 3 4 5 6 7 8 \n");
for(i=0;i<10;i++)
{
printf("\t\n\t");
for(j=0;j<10;j++)
{
printf("%4c",chessman[i][j]);
if(j==9&&i!=0&&i!=9)
printf("\t%d",i);
}
}
printf("\n\n\n\n");
}
/*main.c*/
#include
#include
#include
#include
#include "arrayio.h"
//char chessman[10][10]; //编译系统初始化每个元素为0
int main()
{
int row,line; //row是行号,line是列号
int row2,line2; //row是行号,line是列号
printf("\t\t\t按任意键开始\n");
fflush(stdin);
getch();
initialize(); //初始化棋盘内容
print_chess();
return 0;
}
DEVC++为什么执行不了。。。谢谢大神指点!!