문제

내가 작성한 코드
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
void Counting(char arr[]){
int number[10];
for(int i = 0; i<10; i++){
number[i] = 0;
}
int i = 0;
while(arr[i] != NULL){
number[arr[i]-48]++;
i++;
}
for(int i = 0; i<10; i++){
printf("%d ", number[i]);
}
}
int main() {
char arr[1000];
scanf("%s", &arr);
Counting(arr);
printf("\n");
return 0;
}
등장한 숫자의 개수를 구하는 문제
수는 0부터 9까지 있으니까 10이라는 크기를 가지는 int형 배열을 만들어주었다
그렇다면 내가 숫자들의 문자열을 입력받고 그걸 한 글자씩 접근한 다음
char 를 int로 변환해준 다음에 그 int값을 그대로 index로 활용해서 배열의 값을 증가시키면 되니까
'C언어 > 주차별 문제' 카테고리의 다른 글
[5주차] Sum From i to j (0) | 2023.04.23 |
---|---|
[4주차] 100점짜리 인생 (0) | 2023.04.19 |
[4주차] 원의 둘레와 면적 (0) | 2023.04.19 |
[4주차] 피보나치 (재귀함수) (0) | 2023.04.19 |
[4주차] BMI 계산기 (0) | 2023.04.19 |