| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:代码运行错误问题
只看楼主 加入收藏
蓝天下的乌鸦
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-10-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
代码运行错误问题
程序代码:
/* Program 4.12 Simple Simon */
#include <stdio.h>                     /* For input and output   */
#include <ctype.h>                     /* For toupper() function */
#include <stdbool.h>                   /* For bool, true, false  */
#include <stdlib.h>                    /* For rand() and srand() */
#include <time.h>                      /* For time() and clock() */

int main(void)
{
  /* Records if another game is to be played */
  char another_game = 'Y';

  /* true if correct sequence entered, false otherwise */
  int correct = false;

  /* Number of sequences entered successfully          */
  int counter = 0;

  int sequence_length = 0;     /* Number of digits in a sequence        */
  time_t seed = 0;             /* Seed value for random number sequence */
  int number = 0;              /* Stores an input digit                 */

  time_t now = 0;            /* Stores current time - seed for random values  */
  int time_taken = 0;        /* Time taken for game in seconds                */

  /* Describe how the game is played */
  printf("\nTo play Simple Simon, ");
  printf("watch the screen for a sequence of digits.");
  printf("\nWatch carefully, as the digits are only displayed"
                                                " for a second! ");
  printf("\nThe computer will remove them, and then prompt you ");
  printf("to enter the same sequence.");
  printf("\nWhen you do, you must put spaces between the digits. \n");
  printf("\nGood Luck!\nPress Enter to play\n");
  scanf("%c", &another_game);

  /* One outer loop iteration is one game */
  do
  {
    correct = true;         /* By default indicates correct sequence entered */
    counter = 0;            /* Initialize count of number of successful tries*/
    sequence_length = 2;    /* Initial length of a digit sequence            */
    time_taken = clock();  /* Record current time at start of game       */

    /* Inner loop continues as long as sequences are entered correctly */
    while(correct)
    {
      /* On every third successful try, increase the sequence length */
      sequence_length += counter++%3 == 0;

      /* Set seed to be the number of seconds since Jan 1,1970  */
      seed = time(NULL);

      now = clock();                  /* record start time for sequence  */

      /* Generate a sequence of numbers and display the number */
      srand((unsigned int)seed);      /* Initialize the random sequence */
      for(int i = 1; i <= sequence_length; i++)
        printf("%d ", rand() % 10);    /* Output a random digit          */

      /* Wait one second */
      for( ;clock() - now < CLOCKS_PER_SEC; );

      /* Now overwrite the digit sequence */
      printf("\r");                   /* go to beginning of the line */
      for(int i = 1; i <= sequence_length; i++)
        printf("  ");                 /* Output two spaces */

      if(counter == 1)           /* Only output message for the first try */
        printf("\nNow you enter the sequence  - don't forget"
                                               " the spaces\n");
      else
        printf("\r");                /* Back to the beginning of the line */

      /* Check the input sequence of digits against the original */
      srand((unsigned int)seed);     /* Restart the random sequence    */
      for(int i = 1; i <= sequence_length; i++)
      {
        scanf("%d", &number);         /* Read an input number         */
        if(number != rand() % 10)     /* Compare against random digit */
        {
          correct = false;            /* Incorrect entry             */
          break;                      /* No need to check further... */
        }
      }
      printf("%s\n", correct? "Correct!" : "Wrong!");
    }

    /* Calculate total time to play the game in seconds)*/
    time_taken = (clock() - time_taken) / CLOCKS_PER_SEC;

    /* Output the game score */
    printf("\n\n Your score is %d", --counter * 100 / time_taken);

    fflush(stdin);

    /* Check if new game required*/
    printf("\nDo you want to play again (y/n)? ");
    scanf("%c", &another_game);

  }while(toupper(another_game) == 'Y');
  return 0;
}

为什么运行不了 求解
还有求个Vi的地址
搜索更多相关主题的帖子: 运行 代码 
2010-10-29 14:41
outsider_scu
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:430
专家分:1333
注 册:2010-10-21
收藏
得分:4 
我讨厌英文。。。。

编程的道路上何其孤独!
2010-10-29 14:49
蓝天下的乌鸦
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-10-27
收藏
得分:0 
回复 2楼 outsider_scu
同志...帮忙看一下吧
2010-10-29 14:51
tianyapai
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2010-6-1
收藏
得分:4 
更改了一下
/* Program 4.12 Simple Simon */
#include <stdio.h>                     /* For input and output   */
#include <ctype.h>                     /* For toupper() function */
//#include <stdbool.h>                   /* For bool, true, false  */
#include <stdlib.h>                    /* For rand() and srand() */
#include <time.h>                      /* For time() and clock() */

int main(void)
{
  /* Records if another game is to be played */
  char another_game = 'Y';

  /* true if correct sequence entered, false otherwise */
  int correct = false;

  /* Number of sequences entered successfully          */
  int counter = 0;
  
  int sequence_length = 0;     /* Number of digits in a sequence        */
  time_t seed = 0;             /* Seed value for random number sequence */
  int number = 0;              /* Stores an input digit                 */
  
  time_t now = 0;            /* Stores current time - seed for random values  */
  int time_taken = 0;        /* Time taken for game in seconds                */
  
  /* Describe how the game is played */
  printf("\nTo play Simple Simon, ");
  printf("watch the screen for a sequence of digits.");
  printf("\nWatch carefully, as the digits are only displayed"
      " for a second! ");
  printf("\nThe computer will remove them, and then prompt you ");
  printf("to enter the same sequence.");
  printf("\nWhen you do, you must put spaces between the digits. \n");
  printf("\nGood Luck!\nPress Enter to play\n");
  scanf("%c", &another_game);
  
  /* One outer loop iteration is one game */
  do
  {
      correct = true;         /* By default indicates correct sequence entered */
      counter = 0;            /* Initialize count of number of successful tries*/
      sequence_length = 2;    /* Initial length of a digit sequence            */
      time_taken = clock();  /* Record current time at start of game       */
      
      /* Inner loop continues as long as sequences are entered correctly */
      while(correct)
      {
          /* On every third successful try, increase the sequence length */
          sequence_length += counter++%3 == 0;
         
          /* Set seed to be the number of seconds since Jan 1,1970  */
          seed = time(NULL);
         
          now = clock();                  /* record start time for sequence  */
         
          /* Generate a sequence of numbers and display the number */
          srand((unsigned int)seed);      /* Initialize the random sequence */
          for(int i = 1; i <= sequence_length; i++)
              printf("%d ", rand() % 10);    /* Output a random digit          */
         
          /* Wait one second */
          for( ;clock() - now < CLOCKS_PER_SEC; );
         
          /* Now overwrite the digit sequence */
          printf("\r");                   /* go to beginning of the line */
          for(i = 1; i <= sequence_length; i++)
              printf("  ");                 /* Output two spaces */
         
          if(counter == 1)           /* Only output message for the first try */
              printf("\nNow you enter the sequence  - don't forget"
              " the spaces\n");
          else
              printf("\r");                /* Back to the beginning of the line */
         
          /* Check the input sequence of digits against the original */
          srand((unsigned int)seed);     /* Restart the random sequence    */
          for(i = 1; i <= sequence_length; i++)
          {
              scanf("%d", &number);         /* Read an input number         */
              if(number != rand() % 10)     /* Compare against random digit */
              {
                  correct = false;            /* Incorrect entry             */
                  break;                      /* No need to check further... */
              }
          }
          printf("%s\n", correct? "Correct!" : "Wrong!");
      }
      
      /* Calculate total time to play the game in seconds)*/
      time_taken = (clock() - time_taken) / CLOCKS_PER_SEC;
      
      /* Output the game score */
      printf("\n\n Your score is %d", --counter * 100 / time_taken);
      
      fflush(stdin);
      
      /* Check if new game required*/
      printf("\nDo you want to play again (y/n)? ");
      scanf("%c", &another_game);
      
  }while(toupper(another_game) == 'Y');
  return 0;
}
2010-10-29 15:01
system3288
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:140
注 册:2010-10-9
收藏
得分:4 
看不懂英文,也看不懂程序。路过而已,嘿嘿。
2010-10-29 15:03
快速回复:代码运行错误问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033375 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved