문제로 배우는 C언어
문제로 배우는 C언어
수강정보
(15개의 수강평)
568명의 수강생
스킬태그 #C, #알고리즘
11,000원
지식공유자 : 김태원
66회 수업 · 총 8시간 52분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 입문
dakkang0180 프로필

while 문 이렇게 맞나요 dakkang0180 1달 전
int main() { int n; int i = 0; int cnt = 0; scanf_s("%d", &n); while (i <= n) { i++; if (i % 2 == 0) { cnt++; } } printf("%d", cnt); }

1
각병안 프로필

질문이 있습니다. 각병안 1달 전
수업 전에 혼자 풀어보고 잘 안되서 강의 따라하면서 고치면서 하는데 직각 삼각형이 아니라 자꾸 피라미드가 나와서 어디가 잘 못되었는지 여쭤보려고 질문올려요 ㅠㅠ 다른거는 그래도 잘 해왔는데 2중for문에서 발목을 많이 잡네요

1
노성환 프로필

2차원배열2 노성환 1달 전
아래와 같이 코드를 작성하였는데 배열의 크기를 scanf한 만큼 주면 출력 값이 이상한 결과로 나오는 위치가 있습니다. 이와 같은 방법으로 2차원배열1출력을 실행하였을 때는 정상적으로 실행되었는데 2번 문제는 이상한 값이 출력되고, 배열의 크기만 10,10으로 바꾸기만 하면 정상적으로 실행되었습니다. 아래와 같이 크기를 주면 어떤 점이 잘못된 것인가요? #include <stdio.h> int main() { int n; scanf("%d", &n); int array[n][n]; int num; for (int i = n - 1; i >= 0; i--) { num = n - i; for (int j = 0; j < n; j++) { array[i][j] = num; num += n; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%3d", array[i][j]); } printf("\n"); } return 0; }

1
$tudent 프로필

48. 소수찾기 $tudent 3달 전
제공된 예시 코드로는 1도 소수로 포함되어 결과가 출력됩니다. 1은 검사하지 않고 무시하거나, 무조건 false로 반환해야하는 로직이 추가돼야 할 것 같습니다. 제가 놓친 부분이 있다면 조언 부탁드립니다.

1
hxmkim 프로필

2차원 배열 출력3번 문제 질문입니다. hxmkim 4달 전
int i, j, k = 1, l = 2, m; int a[6][6]; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { a[i][j] = 0; // 대각선 숫자 if (i == j) { a[i][j] = k; k = k + 2; } // 3행 이전 if (i < 5 / 2) { if (j == 4 - i) { for (m = 0; m <= 1; m++) { a[i][j] = a[m][m] + 1; } } } // 3행 이후 else if (i > 5 / 2 ) { if (j == 4 - i) { // 문제점이라고 생각되는 부분 a[i][j] = a[3][3] -1; } } } } // 출력 for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { printf("%7d", a[i][j]); } printf("\n"); } 출력 결과입니다. 1 0 0 0 2 0 3 0 4 0 0 0 5 0 0 0 -1 0 7 0 6 0 0 0 9 일단 숫자 입력은 보류하였구요, 순서는 1. 0으로 모두 채우고 2. 홀수 숫자 대각선으로, 3. 그 숫자에 +1을 더하는 것입니다. 1행~2행은 [0,0] + 1 = [0,4], [1,1] +1 = [0,3] 방법으로 +1을 해주었습니다. 질문은 3~4행에서 홀수 대각선 숫자를 -1해주려고 하는데 [3,3] 에서 각각 바로 7로 바로 인식되지 않고, 0다음 7로 인식됩니다. [4,4]에서도 9로 인식이 안되고, 0으로 인식됩니다. 수정해야 할 부분이 궁금해요ㅜㅜ

1
dev_익 프로필

배열의 역순 질문입니다. dev_익 4달 전
// for문을 거꾸로 돌리지 않고 출력해보고 싶어서 j=0; 일때 n=5; 이고 해서 // (j-(n-1) 이런식으로 배열을 작성해봤는데요 0-(5-1) =4 이고 j가 ++되니깐 4,3,2,1,0이렇게 줄어들면 역순으로 출력되지 // 않을까 했는데 쓰레기값이 출력되더라구요 혹시 왜 그런지 알수있을까요? int main() { int n,i =0,j=0; int arr[101]; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (j = 0; j < n; j++) { printf("%d\n", arr[(j-(n-1))]); } }

2
dmsgkrkt1 프로필

48. 소수 찾기 질문있습니다! dmsgkrkt1 4달 전
알려주신코드 그대로 작성해서 실행시켜봤는데   식별자 "true"이 정의되어있지 않습니다. 식별자 "false"이 정의되어 있지 않습니다. 식별자 "bool"이 정의되어 있지 않습니다. 구문 오류: 식별자 'isPrime' 구문 오류: '<parameter-list> 구문 오류: ';' 'isPrime'이 정의되지 않았습니다.  이렇게 계속 뜨면서 실행이 안되는데 뭐가 문제인지 궁금합니다 실행시키는 프로그램은 Visual Studio Community 2019 입니다.

2
dev_익 프로필

인프런에 문의해야 하는지 강사님에게 문의해야하는지 잘모르겠는데 강의 재생이 안됩니다. dev_익 5달 전
인프런에 문의해야 하는지 강사님에게 문의해야하는지 잘모르겠는데 강의 재생이 안됩니다. it취업을 위한 알고리즘 문제풀이를 들었는데 강의가 설명이 잘되어있어서  문제로 배우는 C언어도 결제를 했는데,  it취업을 위한 알고리즘 문제풀이(with C/C++)은 재생이 잘되는데  문제로 배우는 C언어는 소리만 재생이되네요? 저만 그런건지 지금 시스템에 문제가 있는건지 문의드립니다.

4
dmsgkrkt1 프로필

1차원 배열 , 2차원 배열 질문이요! dmsgkrkt1 5달 전
1차원 배열에서  int a[3] ; printf("%d"\n, a[0]); return 0; 이 결과값이 0가 나와야 되는거 아닌가요? int a[3][2]; printf("%d"\n, a[0]a[1]); return 0; 이 결과 값도 0가 나와야 되는거 아닌가요?  계속 -858993460 이런식으로 나오는데 .. 배열선언하고 인덱스 안에 아무것도 안넣으면 0로 되어있는걸로 알고있는데  44번문제에서 선생님의 답도 그대로 실행시켜보니 0대신 -858993460이 들어가서 나옵니다. 제가 알고 있는 개념이 잘못된 건가요?

2
tmdal0303 프로필

최솟값구하기 tmdal0303 6달 전
안녕하세요! 강의 전에 제가 먼저 짜봤던 코드는  #include<stdio.h> int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a<b&&b<c){ printf("%d",a); } else if(b<a&&a<c){ printf("%d",b); } else { printf("%d",c); } return 0; } 이였는데요, 선생님께서 주신 예시문 중 입력예제 1,3은 정상으로 최솟값이 출력이 되었으나 예시문 2는 13이 아닌 17이 출력되었습니다. 저의 코드에서 어떤 문제점이 있는지 모르겠습니다 ..ㅠㅠ 

1
임규범 프로필

일곱 난쟁이 임규범 6달 전
#include<stdio.h> int arr[10]; int main(){ int i, j, k, tmp=0, sum=0; for(i=0; i<9; i++){ scanf("%d", &arr[i]); tmp=tmp+arr[i]; } for(i=0; i<9; i++){ for(j=0; j<9; j++){ if(i==j) continue; sum=tmp-arr[i]-arr[j]; if(sum==100) break; } } for(k=0; k<9; k++){ if(k==i || k==j) continue; printf("%d ", arr[k]); } return 0; } 어느 부분이 잘못되었는지 모르겠어서 질문드립니다

1
tmdal0303 프로필

범위 질문드립니다! tmdal0303 6달 전
#include<stdio.h> int main(){ int height; scanf("%d",&height); if(120<=height<=150){ printf("YES"); } else{ printf("NO"); } return 0; }  제가 미리 짜본 코드였는데 120<=height<=150이 if문 조건식에 들어오지 못하는 이유는 무엇인가요? 제가 무언가를 착각하고 있는걸까요 ㅠㅠ  코드 결과는 어떤 수를 집어넣어도 YES가 출력되었었습니다..

1
pele0607 프로필

{}의 사용유무 pele0607 6달 전
#include<stdio.h> int main(){ int n,i=1; scanf("%d", &n); while(i<=n){ printf("%d ",i); i++; } return 0; } 제가 코드를 처음에 작성할때 while문 뒤에 {}를 작성을 안하고  컴파일 해서 돌려봤는데 1이 무한번 반복도더라고요...다시 { }을 넣으니까 제대로 되고요. 이유가 뭔지 알수있을까요??ㅜㅜ

2
pele0607 프로필

부등호 방향 질문 pele0607 6달 전
#include<stdio.h> int main(){     int a, b, c, max, tot;     scanf("%d %d %d", &a, &b,&c);     tot=a+b+c; if(a>b) max=a;     else max=b;     if(max<c);     max=c; if(max<(tot-max)) printf("YES\n"); else  printf("NO\n"); return 0; } 제가 코드를 이렇게 썼는데 13 33 17을 입력하면 NO가 나와야 되는데 YES가 출력이 됩니다ㅜㅜ.  선생님이 하신거랑 다른게  문자의 순서만 달리하고 부등호는 그에 맞게 설정을 잘한것같은데 왜 그럴까요??

2
최병호 프로필

제가 푼 방법이랑은 좀 다르게 설명을 해주셨는데.. 이렇게 풀어도 될까요? 최병호 6달 전
#include <stdio.h> int main() {   int a,b;   double N;   scanf("%d", &a);   N = a/12.0;  //      필요한 다스 수=사람수/12   178/12=15...   N = N + 0.999999;   N =(int)N;   printf("%f\n", N);   b = N;   printf("%d", b);   return 0; }

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스