-1

编写一个程序,根据用户的请求显示整数 0 到 9 的新随机排列。例如,程序的输出可能如下:

当用户键入 no 时,您的程序应该打印出多少个 7。

我的代码:

#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;
}

我的代码有问题。如何在 != 'y' 之后增加该程序中显示的 7。

4

1 回答 1

1

total=0在进入 do-while 循环之前设置,以获得正确的total.

于 2013-06-26T07:46:23.107 回答