빈도 출력하는 함수관련 질문입니당~~~
화이트
질문 제목 : 빈도 관련 질문입니다. 어디서 잘못된건지.. 답이 안나오네요 조언 부탁드립니다. 1. 0부터 9의 숫자가 몇 번 입력되었는지 그 횟수를 표시하는 프로그램
예) 입력내용 : 09594887
0 - 1번
1 - 0번
2 - 0번
...
8 - 2번
9 - 2번
- 조건1) 사용자로부터 ‘\n’이 입력될 때까지 getchar()로 글자를 계속 입력받는다.
- 조건2) 배열을 사용하여 프로그램을 작성한다.
- 조건3) 배열에 저장되는 내용은 입력된 숫자의 횟수이다.제가 짠 프로그램입니다.
#include stdio.h
int square(int x);
int main(void)
{
int a,i,j,k,count,input,num[10]={0};
printf(입력내용 - );
input=getchar();
for(i=1;;i++)
{
a=input%square(i); //10,100,1000...으로 나누었을때 나머지를 변수에 입력합니다.
switch(a)
{
case 0:num[0]+=1; break;
case 1:num[1]+=1; break;
case 2:num[2]+=1; break;
case 3:num[3]+=1; break;
case 4:num[4]+=1; break;
case 5:num[5]+=1; break;
case 6:num[6]+=1; break;
case 7:num[7]+=1; break;
case 8:num[8]+=1; break;
case 9:num[9]+=1; break;
default:break;
}
input=input/square(i); // 맨뒷자리는 필요없으니 몫을 가지고 다시 포문을 돌립니다.
if(input==0)
break;
}
for(j=0;j=9;j++)
{
printf(%d - %d\n,j,num[j]);
}
return 0;
}
int square(int x)
{
int p=1,i;
for(i=0;i=x;i++)
p*=10;
return p;
}