编写一个程序,根据用户的请求显示整数0到9的新随机排列。例如,程序的输出可能如下:
当用户输入编号
时,您的程序应打印打印的数量为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。
答案 0 :(得分:1)
在进入do-while循环之前设置total=0
,以获得正确的total
。