【 tulaoshi.com - 编程语言 】
                             
                              类似于学习机上的指法练习程序,简单而实用#includetime.h 
    main() 
    { 
    int x,y,i,j; 
    unsigned int Timer; 
    char ch; 
    char key; 
    char *kb[]={"Q W E R T Y U I O P [ ]","A S D F G H J K L ; '","Z X C V B N M , . /"}; 
    long AllCounter=0,RightCounter=0,FalseCounter=0; 
    time_t t; 
    int fun_Esc();  srand((unsigned)time(&t)); 
    clrscr(); 
    gotoxy(18,1); 
    printf("%s",kb[0]); 
    gotoxy(20,3); 
    printf("%s",kb[1]); 
    gotoxy(22,5); 
    printf("%s",kb[2]); 
    gotoxy(11,25); 
    for(i=0;i60;i++) 
    { 
    printf("="); 
    } 
    gotoxy(1,1); 
    printf("AllCh: %ldRight: %ldFalse: %ld",AllCounter,RightCounter,FalseCounter); 
    printf(""); 
    printf("Esc to exit"); 
    printf(""); 
    printf("Enter to pause"); 
    gotoxy(26,12); 
    printf("* * * * * * * * * * * * * * *"); 
    gotoxy(26,13); 
    printf("* Press any key to start! *"); 
    gotoxy(26,14); 
    printf("* * * * * * * * * * * * * * *"); 
    gotoxy(51,13); 
    if(getch()==27) 
    { 
    if(fun_Esc()==1) 
    { 
    clrscr(); 
    exit(0); 
    } 
    } 
    gotoxy(23,12); 
    printf(" "); 
    gotoxy(23,13); 
    printf(" "); 
    gotoxy(23,14); 
    printf(" "); 
    lab_start: 
    y = 6; 
    Timer = 100000; 
    i = rand()%3; 
    j = rand()%(12-i); 
    ch = kb[i][j*4]; 
    x = 18+i*2+j*4; 
    while(y=24) 
    { 
    if(kbhit()) 
    { 
    key = getch(); 
    if(key==ch  key==ch+32) 
    { 
    ch = '*'; Timer = 1000; 
    } 
    else if(key==27) 
    { 
    if(fun_Esc()==1) 
    { 
    clrscr(); 
    exit(0); 
    } 
    } 
    else if(key=='') 
    { 
    gotoxy(x,y-1); 
    printf(" "); 
    gotoxy(28,13); 
    printf("Press any key to continue"); 
    getch(); 
    gotoxy(28,13); 
    printf(" "); 
    } 
    else 
    { 
    FalseCounter++; 
    } 
    } 
    if(y6) 
    { 
    gotoxy(x,y-1); 
    printf(" "); 
    } 
    gotoxy(x,y); 
    printf("%c",ch); 
    gotoxy(1,1); 
    printf("AllCh: %ldRight: %ldFalse: %ld",AllCounter,RightCounter,FalseCounter); 
    delay(Timer); 
    y++; 
    } 
    AllCounter++; 
    if(ch == '*') 
    { 
    RightCounter++; 
    } 
    goto lab_start; 
    } int fun_Esc() 
    { 
    int key = '#'; 
    gotoxy(24,12); 
    printf("* * * * * * * * * * * * * * * * *"); 
    gotoxy(24,13); 
    printf("* Are you sure to exit? (Y/N) *"); 
    gotoxy(24,14); 
    printf("* * * * * * * * * * * * * * * * *"); 
    gotoxy(51,13); 
  while(key!='Y' && key!='y' && key!='N' && key!='n') 
    { 
    key = getch(); 
    if(key=='Y'  key=='y') 
    { 
    return 1; 
    } 
    if(key=='N'  key=='n') 
    { 
    gotoxy(24,12); 
    printf(" "); 
    gotoxy(24,13); 
    printf(" "); 
    gotoxy(24,14); 
    printf(" "); 
    return 0; 
    } 
    } 
    }