abbiddo
2022.02.24
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 14일차 - 2
문제 N x M 크기의 배열로 표현되는 미로가 존재합니다. 미로에서 1은 이동할 수 있는 길을 나타내고, 0은 막힌 길을 나타냅니다. 미로는 만들기나 찾기나 쉽지 않네요...ㅎㅎ #include <stdio.h> int arr[101][101]; int num[10000][2]; int num2[10000][2]; int n,m,c=1,cc=0; int sear(int i, int j){ int k;  for (k=0;k<cc;k++) if (num[k][0]==i && num[k][1]==j) return 0; return 1; } int change(int i, int j){ if (i<n-1 && arr[i+1][j]!=0) { if (arr[i+1][j]==1) arr[i+1][j]+=arr[i][j]; else arr[i+1][j]=arr[i+1][j]>arr[i][j]+1?arr[i][j]+1:arr[i+1][j]; if (sear(i+1,j)){ num[cc][0]=i+1; num[cc][1]=j; cc++; } } if (i>0 && arr[i-1][j]!=0) { if (arr[i-1][j]==1) arr[i-1][j]+=arr[i][j]; else arr[i-1][j]=arr[i-1][j]>arr[i][j]+1?arr[i][j]+1:arr[i-1][j]; if (sear(i-1,j)){ num[cc][0]=i-1; num[cc][1]=j; cc++; } } if (j<m-1 && arr[i][j+1]!=0) { if (arr[i][j+1]==1) arr[i][j+1]+=arr[i][j]; else arr[i][j+1]=arr[i][j+1]>arr[i][j]+1?arr[i][j]+1:arr[i][j+1]; if (sear(i,j+1)){ num[cc][0]=i; num[cc][1]=j+1; cc++; } } if (j>0 && arr[i][j-1]!=0) { if (arr[i][j-1]==1) arr[i][j-1]+=arr[i][j]; else arr[i][j-1]=arr[i][j-1]>arr[i][j]+1?arr[i][j]+1:arr[i][j-1]; if (sear(i,j-1)){ num[cc][0]=i; num[cc][1]=j-1; cc++; } } arr[i][j]=0; return 0; } int maze(){ int i; for (i=0;i<c;i++) change(num2[i][0],num2[i][1]); for (i=0;i<cc;i++){ num2[i][0]=num[i][0]; num2[i][1]=num[i][1]; } return 0; } int main(){ int i,j; scanf("%d %d",&n,&m); for (i=0;i<n;i++) for (j=0;j<m;j++) scanf("%d",&arr[i][j]); for (i=0;i<n*m;i++){ if (arr[n-1][m-1]!=1){ printf("%d",arr[n-1][m-1]); return 0; } maze(); c=cc; cc=0; } }
abbiddo
2022.02.23
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 15일차
문제 회사에 한 개의 회의실이 존재하고, N개의 회의에 대해서 일정표를 구성하려고 합니다. 각 회의 A에 대해 시작 시간과 종료시간이 주어져 있을 때, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보세요. 회의는 한번 시작하면 중간에 중단될 수 없다. 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 첫째 줄에는 회의의 수 N이 주어지며, 둘째 줄 부터 N개의 회의에 대한 시작시간과 종료시간이 주어진다. #include <stdio.h> #include <stdlib.h> typedef struct time{ int s,f; }time; int cmp(const void *a, const void *b){ time *x=(time *)a; time *y=(time *)b; if (x->f==y->f) return x->s > y->s; return x->f > y->f; } int main() { int n,m=0,ff=0,i; scanf("%d",&n); time*t=(time *)calloc(n,sizeof(time));   for (i=0;i<n;i++) scanf("%d %d",&t[i].s,&t[i].f); qsort(t,n,sizeof(time),cmp);     for(i=0;i<n;i++)     if(t[i].s>=ff){         ff=t[i].f; m++;     }          printf("%d",m); }
abbiddo
2022.02.23
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 14일차
문제 양의 정수 N을 입력받아, N의 부분 문자열 중 가장 큰 소수를 출력하세요. #include <stdio.h> int isnp[100001]={1,1}; char n[256]; int si(int s,int e){     int num=0,i;     for(i=s;i<=e;i++)         num = num*10 + (n[i]-48);     return num; } int main(){ int ans,len,i,j;     scanf("%s",n);     for(i=2;i<100001;++i)         if(!isnp[i])             for(j=i+i;j<100001;j+=i)                 isnp[j]=1;          ans=0;     len=strlen(n);          for(i=0;i<len;++i)         for(j=i;j<i+6 && j<len;++j){             int num = si(i,j);             if(num<=100000 && !isnp[num])                 ans=ans>num?ans:num;         }     printf("%d",ans); }
abbiddo
2022.02.23
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 13일차 - 1
문제 가중치 없는 방향그래프 G가 주어졌을 때, 모든 정점 (i , j)에 대해 i에서 j로 가는 경로가 있는지 없는지 출력 해 보세요. 첫째 줄에 정점의 개수 N이 주어진다. 둘째 줄 부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄 j번째 수가 1이라면 i에서 j로 가는 길이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다 #include <stdio.h> int n,arr[100][100]; int main(){ scanf("%d",&n);  int i,j,k; for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d",&arr[i][j]); for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) if (arr[i][k]+arr[k][j]==2){ arr[i][j]=1; break; } for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) if (arr[i][k]+arr[k][j]==2){ arr[i][j]=1; break; } for (i=0;i<n;i++){ for (j=0;j<n;j++) printf("%d ",arr[i][j]); printf("\n");  } }
abbiddo
2022.02.22
@abbiddo님이
C언어 문제은행 12일차
포스트를 좋아합니다.
abbiddo
2022.02.21
@abbiddo님이
C언어 문제은행 11일차
포스트를 좋아합니다.
Wilbur0306
2022.02.21
@Wilbur0306님이
C언어 문제은행 11일차
포스트에 댓글을 남겼습니다.
abbiddo
2022.02.17
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 13일차
문제 이진 탐색 알고리즘을 통해 특정 정수가 몇 번째에 존재하는지 찾는 프로그램을 작성해보세요. 이진 탐색 알고리즘 배열 내에서 찾고싶은 요소가 있을 경우, 아래와 같이 배열의 첫번째 요소와 마지막 요소를 각각 left, right로 설정합니다. 찾고싶은 값을 중간(가운데 순서)에서부터 비교합니다. 만약 찾고싶은 값이 중간에 있는 값보다 크다면, 그 값은 아래 그림과 같은 범위 내에 존재하게 됩니다. 만약 찾고싶은 값이 중간에 있는 값보다 작다면, 그 값은 아래 그림과 같은 범위 내에 존재하게 됩니다. 앞의 과정을 여러번 반복하여 찾고싶은 값이 중앙값과 같아질 때까지 반복하면 찾고싶은 수의 순서를 알 수 있습니다. 입력받는 숫자들은 정수이며, 배열로 입력받습니다. 이때, 각 숫자는 오름차순으로 입력됩니다. 중복된 값을 입력받지 않습니다. 만약 찾는 값이 존재하지 않는다면 -1을 출력합니다. 첫 줄에는 정수의 개수 N, 둘째줄에는 N개의 정수가 오름차순으로 주어진다. 다음 줄에는 목표 값 X가 주어질 때, X가 수열에 존재하는지 여부를 출력하세요. #include <stdio.h> int arr[100],k; int search(int right){ int left=0,middle; while(left<=right){ middle=(left+right)/2; if (arr[middle]<k) left=middle+1; else if (arr[middle]>k) right=middle-1; else return 1; } return 0; } int main(){     int n,i;     scanf("%d",&n);          for (i=0;i<n;i++) scanf("%d",&arr[i]);          scanf("%d",&k);     printf("%d",search(k)); }
abbiddo
2022.02.17
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 12일차
문제 아래 그림과 같이, 배열에 다음과 같은 분수가 적혀있습니다. 그림처럼 지그재그 형태로 순서를 정할 경우, 1/1은 첫 번째, 1/2는 두 번째 분수가 됩니다. n번째 분수를 구하는 프로그램을 작성해보세요 #include <stdio.h> int main(){     int a,mo=1,ja=1,b=1;     scanf("%d",&a);     if (a==1){     printf("1/1");     return 0; }     while(1){     if (ja==1){     mo+=1;     b++;     if(b==a){     printf("%d/%d",ja,mo);     break; } while (mo!=1){ ja+=1; mo-=1; b++; if (b==a){ printf("%d/%d",ja,mo); return 0; } } } else if (mo==1){ ja+=1; b++; if(b==a){ printf("%d/%d",ja,mo);     break; } while(ja!=1){ mo+=1; ja-=1; b++; if (b==a){ printf("%d/%d",ja,mo); return 0; } } } } }
abbiddo
2022.02.17
@abbiddo님이
C언어 문제은행 9일차
포스트를 좋아합니다.
abbiddo
2022.02.16
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 8일차 - 2
우리 일상 생활에서, 통계학은 아주 널리 사용됩니다. 기본 통계치는 대표적으로 산술평균, 중앙값 , 범위등이 존재하죠! 입력할 수 N과 N개의 수를 입력받아, 3개의 대표적인 기본 통계치를 출력하는 프로그램을 작성 해 보세요. 산술평균 : N개 수의 합을 N으로 나눈 값 중앙값 : N개의 수를 오름차순으로 정렬했을 때 그 중앙에 위치하는 값. N이 짝수인 경우, 중앙 두 값의 평균. 범위 : N개의 수들 중 최대값과 최소값의 차이 정렬을 이용했습니다. #include <stdio.h> #include <stdlib.h> #include <math.h> int compare(const void *a, const void *b){ if (*(int *)a<*(int *)b) return -1; if (*(int *)a>*(int *)b) return 1; return 0; } int main(){ int n,a[500000]={0},i,j,temp,k,s=0,max=0; int sum=0; scanf("%d",&n); for (i=0;i<n;i++) { scanf("%d",&a[i]); sum+=a[i]; } printf("산술평균 : %f\n",(double)sum/n); qsort(a,n,4,compare); printf("중앙값 : %d\n범위 : %d",a[n/2],a[n-1]-a[0]); }
abbiddo
2022.02.05
@abbiddo님이
C언어 문제은행 8일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.05
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 8일차 - 1
문제 초 단위의 시간을 입력 받고, 일, 시, 분, 초로 시간을 계산하여 출력하는 코드를 작성해보세요. 사용하지 않는 단위는 출력하지 않습니다 (ex. '3601'초를 입력하면 '1시간 0분 1초'가 아닌 '1시간 1초'로 출력) 1일 = 86400초 1시간 = 3600초 1분 = 60초 #include <stdio.h> int main(){ int sec=0,d,h,m; printf("초 단위의 시간을 입력해주세요 : "); scanf("%d",&sec); printf("%d초 = ",sec); d=sec/86400; sec%=86400; if (d!=0) printf("%d일",d);  h=sec/3600; sec%=3600; if (h!=0) printf("%d시간",h);  m=sec/60; sec%=60; if (m!=0) printf("%d분",m); if (sec!=0) printf("%d초",sec);   } 뭔가 더 간단한 방법이 있을 것 같기도 해요...!!!
abbiddo
2022.02.05
@abbiddo님이
C언어 문제은행 8일차
포스트를 좋아합니다.
abbiddo
2022.02.05
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 8일차
문제 여러 숫자를 입력받고, 각 숫자가 뒤집었을 때 소수이면 출력을 하는 프로그램을 만들어보세요. 조건 1 : 숫자를 뒤집었을 때 소수이면 출력을 합니다 (ex. 32를 뒤집었을 때 23이고, 23은 소수이므로 출력) 조건 2 : 최소 두 개 이상의 함수를 사용해주세요. 두 개의 함수를 사용했고 뒤집은 정수에서 이용했던 함수를 가져왔습니다. 입력할 때마다 함수를 실행했더니 결과가 애매하게 나오네요 #include <stdio.h> int reverse(int n){ int a=0; while(n){ a*=10; a+=(n%10); n/=10; } return a; } int prime(int n){ int i; for (i=2;i<n;i++) if (n%i==0) return 1; return 0; } int main(){ int n,i,a,k; printf("입력받을 숫자의 개수를 입력해주세요: ");  scanf("%d",&n); for (i=0;i<n;i++){ printf("각 %d번째 숫자를 입력해주세요: ",i); scanf("%d",&a); k=reverse(a); k=prime(k); if (k==0) printf("%d ",a); } }
abbiddo
2022.02.04
@abbiddo님이
C언어 문제은행 6일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.04
@abbiddo님이
C언어 문제은행 7일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.04
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 7일차 - 2
문제 리스트를 사용하여 정수를 저장하는 스택을 구현하고, 입력으로 주어지는 명령을 처리하는 프로그램을 완성 해 보세요. push N : 스택에 정수 N을 저장한다. pop : 스택에서 저장되어있는 정수를 빼내고, 해당 값을 출력한다. top : 스택의 가장 위에 있는 정수를 출력한다. bottom : 스택의 가장 아래에 있는 정수를 출력한다. #include <stdio.h> #include <string.h>        void push(int a);            int pop(); int top(); int bottom(); int S[10000]; int i = 0; int main() { int n,pn,j; char a[10] = { 0, }, num[10000] = { 0, }; scanf("%d", &n);           for (j = 0; j < n; j++) { scanf("%s", a);         if (!(strcmp(a,"push"))) {                                   scanf("%d", &pn);                                        push(pn);                                               } else if (!(strcmp(a, "pop"))) printf("%d\n", pop());     else if (!(strcmp(a, "top"))) printf("%d\n", top());      else if (!(strcmp(a, "bottom"))) printf("%d\n", bottom());      } } void push(int a) {                                                    S[i++] = a;                          } int pop() {            if (i == 0) return -1;               return S[--i];                       } int bottom(){ return S[0]; } int top() { if (i == 0) return -1;        return S[i-1];                      }
abbiddo
2022.02.04
@abbiddo님이
C언어 문제은행 1일차
포스트에 댓글을 남겼습니다.
chamkkae
2022.02.04
@chamkkae님이
C언어 문제은행 1일차
포스트에 댓글을 남겼습니다.
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 6일차
문제 두 분수의 연산을 입력받고, 그 값을 계산하여 출력하는 프로그램을 작성해주세요. 조건 1 : 분모가 0인 경우는 고려하지 않습니다. 조건 2 : 계산이 끝난 분수의 값은 기약분수의 형태로 출력해주세요. 단순 계산을 사용했습니다. 사칙연산 모든 경우의 수를 만들었고 계산 시 분자가 0이되는 경우는 0만 출력하도록 했습니다. #include <stdio.h> int main() {     int a,aa,b,bb,i;     char c;     scanf("%d/%d%c%d/%d",&a,&aa,&c,&b,&bb); if (c=='+'){ a*=bb; b*=aa; a+=b; aa*=bb; i=aa;  } else if (c=='-'){ a*=bb; b*=aa; a-=b; aa*=bb; i=aa;  } else if (c=='*'){ a*=b; aa*=bb; i=aa; } else if (c=='/'){ a*=bb; aa*=b; i=aa; } while(1){ if (aa%i==0 && a%i==0) break; i--; } if (a/i==0) printf("0"); else printf("%d/%d",a/i,aa/i); }
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 5일차 - 1
#include <stdio.h> #include <string.h> int main(){ int i,answer=0; char word[100]; scanf("%[^\n]s",&word); for (i=0;i<strlen(word);i++) if (word[i]!=word[strlen(word)-i-1]){ answer=-1; break; } if (answer==0) printf("%s(은)는 회문입니다.",word); else printf("%s(은)는 회문이 아닙니다.",word); } 어려울 것 같았던 부분들이 생각보다 쉽네요...!! 홀수 짝수를 구분해서 판별할까 했었는데 굳이 안해줘도 될 것 같아서 한 번에 했습니다! 홀수일 때는 중간 것을 체크할 필요가 없고, 짝수는 반 딱 체크할 수 있습니다 배열의 길이는 넉넉하게 줬고 문자열 길이를 구할 수 있는 strlen을 사용하기 위해 string.h !! if 에서 비교할 때 -1 별표!!!
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 5일차
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 4일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 4일차
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 3일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 3일차
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 2일차
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 1일차 - 2
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 1일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 1일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 2일차 - 1
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 2일차 - 1
1일 1 필수가 아니다 보니까 꾸준하지 못하게 되네요ㅠㅠ 초심 찾아서 파이팅!! 조건 1 : 프로그램을 종료하기 전까지 반복 조건 2 : 숫자를 입력받아 해당 숫자의 구구단을 출력 조건 3 : 입력받는 숫자의 범위는 2에서 9까지입니다. 범위 이외의 숫자를 입력하면 오류 표시 #include <stdio.h> int main(void) { int n=0; while (n!=1) { printf("2부터 9사이 숫자를 입력해주세요 (1을 누르면 프로그램 종료) : "); scanf("%d",&n); if (n<1 || n>9) printf("범위 외의 숫자입니다.\n"); else for (int i=1;i<=9;i++) printf("%d X %d = %d\n",n,i,n*i); printf("\n"); } printf("프로그램 종료"); } 조건을 제대로 안읽어서 수정하느라 별거 아닌데 오래 걸렸네요ㅋㅋㅋㅋ
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 1일차 - 2
문제 공백으로 구분된 문자열 형태의 두 숫자를 입력받고, n을 입력받아 두 숫자 사이에 존재하는 n의 배수를 구해보세요. 조건 1 : 숫자 두 개는 공백(스페이스 바)로 구분되어 입력됩니다. 조건 2 : 숫자 두 개는 문자열 형태로 입력됩니다. 조건 3 : 입력된 숫자를 포함하여 배수를 출력해보세요. atoi 함수를 사용했습니다. #include <stdio.h> int main() {     char a[10],b[10];     int k,n,m,i;          printf("숫자 두 개를 입력해주세요(ex. '3 5'): ");     scanf("%s %s",a,b);          printf("배수를 알고 싶은 숫자를 입력해주세요: ");     scanf("%d",&k);          n=atoi(a);     m=atoi(b);          for (i=n;i<=m;i++){     if (i%k==0) printf("%d ",i); } }
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 1일차++
문제 공백으로 구분된 문자열 형태의 두 숫자를 입력받고, n을 입력받아 두 숫자 사이에 존재하는 n의 배수를 구해보세요. 조건 1 : 숫자 두 개는 공백(스페이스 바)로 구분되어 입력됩니다. 조건 2 : 숫자 두 개는 문자열 형태로 입력됩니다. 조건 3 : 입력된 숫자를 포함하여 배수를 출력해보세요. atoi 함수를 사용했습니다. #include <stdio.h> int main() {     char a[10],b[10];     int k,n,m,i;          printf("숫자 두 개를 입력해주세요(ex. '3 5'): ");     scanf("%s %s",a,b);          printf("배수를 알고 싶은 숫자를 입력해주세요: ");     scanf("%d",&k);          n=atoi(a);     m=atoi(b);          for (i=n;i<=m;i++){     if (i%k==0) printf("%d ",i); } }
abbiddo
2022.02.02
@abbiddo님이
C언어 문제은행 1일차
포스트를 좋아합니다.
abbiddo
2022.02.02
@abbiddo님이 새 포스트를 작성했습니다.
C언어 문제은행 1일차
우와 첫 포스트네요!! 첫 문제는 간단할 줄 알았는데 포인터와 함수라서 조금 놀랐어요ㅋㅋ # 문제 두 정수 a,b를 입력받고, a, b의 값을 서로 바꾸어 출력 조건 1. 포인터와 함수 활용 조건 2. 출력시 printf("%d %d",a,b); 사용 #include <stdio.h> void change(int *pa, int *pb); // 함수 선언 int main(){ int a,b; printf("숫자를 입력해주세요 : "); scanf("%d %d",&a,&b); change(&a,&b); // 함수에 주소값 전달 printf("%d %d",a,b); } void change(int *pa, int *pb){ int num; num=*pa; *pa=*pb; *pb=num; } 다양한 방법이 있겠지만 저는 함수 내에서 주소값을 바꾸는 방법을 택했습니다! 첫 포스팅이라 어떻게 될 지 궁금하네요!! 얼른 올리고 확인해보고 싶어요! (사실 지금 날려먹고 다시 쓰는 중이라...ㅎㅎ)
abbiddo
2022.01.27
@abbiddo님이 새 포스트를 작성했습니다.
분수의 연산
문제 두 분수의 연산을 입력받고, 그 값을 계산하여 출력하는 프로그램을 작성해주세요. 조건 1 : 분모가 0인 경우는 고려하지 않습니다. 조건 2 : 계산이 끝난 분수의 값은 기약분수의 형태로 출력해주세요. 단순 계산을 사용했습니다. 사칙연산 모든 경우의 수를 만들었고 계산 시 분자가 0이되는 경우는 0만 출력하도록 했습니다. #include <stdio.h> int main() {     int a,aa,b,bb,i;     char c;     scanf("%d/%d%c%d/%d",&a,&aa,&c,&b,&bb); if (c=='+'){ a*=bb; b*=aa; a+=b; aa*=bb; i=aa;  } else if (c=='-'){ a*=bb; b*=aa; a-=b; aa*=bb; i=aa;  } else if (c=='*'){ a*=b; aa*=bb; i=aa; } else if (c=='/'){ a*=bb; aa*=b; i=aa; } while(1){ if (aa%i==0 && a%i==0) break; i--; } if (a/i==0) printf("0"); else printf("%d/%d",a/i,aa/i); }
abbiddo
2022.01.27
@abbiddo님이 새 포스트를 작성했습니다.
두 숫자 사이의 n의 배수 찾기
문제 공백으로 구분된 문자열 형태의 두 숫자를 입력받고, n을 입력받아 두 숫자 사이에 존재하는 n의 배수를 구해보세요. 조건 1 : 숫자 두 개는 공백(스페이스 바)로 구분되어 입력됩니다. 조건 2 : 숫자 두 개는 문자열 형태로 입력됩니다. 조건 3 : 입력된 숫자를 포함하여 배수를 출력해보세요. atoi 함수를 사용했습니다. #include <stdio.h> int main() {     char a[10],b[10];     int k,n,m,i;          printf("숫자 두 개를 입력해주세요(ex. '3 5'): ");     scanf("%s %s",a,b);          printf("배수를 알고 싶은 숫자를 입력해주세요: ");     scanf("%d",&k);          n=atoi(a);     m=atoi(b);          for (i=n;i<=m;i++){     if (i%k==0) printf("%d ",i); } }