2013-06-26 2 views
-1

Напишите программу, которая отображает новую случайную перестановку целых чисел от 0 до 9 по просьбе ее пользователя. Например, выход программы может быть следующим:Как я могу увеличить этот код

Ваша программа должна печатать, сколько 7 было напечатано, когда пользователь вводил no.

Мой код:

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <ctype.h> 

int main() 
{ 
    int i , total , r; 
    char ans; 
    srand(time(NULL)); 
    do{ 
     for(i=0 ; i < 10 ; i++) 
     { 
      r= (rand()%(9-1+1)) + 1; 
      printf ("%d ",r); 
     } 
     total =0; 
     if (r==7) // Here how can I correct this so total will increase every time 
     {   // there is a 7 in the string 
      total++; 
     } 
     printf("\nAnother permutation: y/n?\n"); 
     scanf(" %c",&ans); 
     if (ans != 'y') 
     { 
      printf("Bye!\n"); 
      printf("The number of 7's is: %d", total); 
     } 
    }while(ans=='y'); 
    return 1; 
} 

У меня есть проблемы с моим кодом. Как я могу увеличить число 7 в этой программе после! = 'Y'.

+1

Отформатируйте свой код. – Elazar

+1

И расскажи нам, в чем проблема. –

+0

(О, я знаю. Обычная 'scanf ("% c ")' - extranewline - whynotterminating "проблема ...) –

ответ

1

Установить total=0 перед тем, как войти в цикл do-while, чтобы получить правильный total.

+0

Также расширьте for-loop, чтобы включить оператор 'if (r == 7)'. (Мое решение предполагает, что вы хотите рассчитать общее число 7, которое произошло во всех случайных числах, которые были сгенерированы) – amulous

+0

Спасибо, расширение для цикла работает , –