是你的代码
typedef int ( *Op )( int, int );
int
main( void )
{
int count[ 4 ] = { 0 };//运算种类统计
int correct[ 4 ] = { 0 };//运算种类正确统计
int ix;
int op1, op2;//操作数
Op Oper[ 4 ] = { addLmt100, subLmt100, mulLmt100, divLmt100 };
char ch;
srand( ( unsigned )time( NULL ) );//播散随机数种子
printf( "是否玩计算游戏?是输入 Y,否则输入任意字符退出\n" );
while( 'Y' == ( ch = getchar() ) )
{
ix = rand() % 4;//生成随机数,选择计算种类。
op1 = rand() % 99;//生成随机数,作为第一个操作数
op2 = rand() % 99;//生成随机数,作为第二个操作数
//////////////////////////////////////////这里不用先加上( Oper[ ix ]( op1, op2 ) )这句吗////////////////////////////////////
++count[ ix ]
if( Oper[ ix ]( op1, op2 ) )//假设你的加减乘除函数,如果回答正确返回1,回答错误返回0
++correct[ ix ];
printf( "是否继续?继续输入 Y,否则输入任意字符\n" );
}
printf( "加法次数 = %d, 减法次数 = %d,乘法次数 = %d,除法次数 = %d\n", count[ 0 ], count[ 1 ], count[ 2 ], count[ 3 ] );
printf( "加法正确次数 = %d, 减法正确次数 = %d,乘法正确次数 = %d,除法正确次数 = %d\n", correct[ 0 ], correct[ 1 ], correct[ 2 ], correct[ 3 ] );
return 0;
}