[英]How to take user input multiple times and store it in the same array list?
[英]How to take input multiple times even after the execution of program in C?
所以我正在编写这个程序来查找一个数字在一个数字中重复的次数。即使在第一次执行之后,我怎样才能要求用户一次又一次地输入输入
#include <stdio.h>
int main()
{
int rem,flag,n;
int frequency[10]={0};
printf("enter a number");
scanf("%d",&n);
while(n>0){
rem=n%10;
frequency[rem]++;
n=n/10;
}
for(int i=0;i<10;i++)
{
if(frequency[i]>1){
flag=1;
printf("%d is repeated %d times",i,frequency[i]);
}
}
if(flag==0){
printf("no number is repeated");
}
return 0;
}
一种方法是将您的代码包装在while (1)
循环中(永远循环)。 我添加了一个额外的检查:如果用户输入数字0
,程序将跳出循环并退出。 必须有某种方式来阻止。
#include <stdio.h>
int main()
{
while (1){
int rem,flag=0,n;
int frequency[10]={0};
printf("enter a number");
scanf("%d",&n);
if (n==0){
break;
}
while(n>0){
rem=n%10;
frequency[rem]++;
n=n/10;
}
for(int i=0;i<10;i++)
{
if(frequency[i]>1){
flag=1;
printf("%d is repeated %d times",i,frequency[i]);
}
}
if(flag==0){
printf("no number is repeated");
}
}
return 0;
}
对于更简洁的解决方案,您可能希望为while
循环中的所有内容创建一个 function,并将其称为 function。
旁注: flag
必须在循环开始时设置为0
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.