Thumbnail
BEST 개발 ・ 프로그래밍 프로그래밍 언어
문제로 배우는 C언어
(5.0)
22개의 수강평 ∙ 656명의 수강생

11,000원

지식공유자 : 김태원
총 66개 수업˙총 8시간 52분
평생 무제한 수강
수료증 발급 강의
입문 대상
내 목록 추가 358 공유
이제영 프로필

누적합 구하는데 질문이 있습니다. 이제영 11일 전
#include <stdio.h> int main () { int i,sum,a; scanf("%d",&a); for (i=1;i<=a;i++) { sum=sum+i; } printf("%d",sum); return 0; } 이렇게 코드작성을 했을때 10까지 더하면 1많은 56이 출력이 됩니다. 그런데 변수설정할때 int sum=0; 만 바꿔주어도 맞는 답이 출력이 됩니다. int sum; printf("%d",sum); 하면 0으로 잘 나오는데 sum=0; 설정을 안해주면 원래 답보다 1 많게 나오는 이유가 궁금합니다

0
eagle1129 프로필

46번 tmp질문드립니다 eagle1129 1달 전
tmp값을 저기(★)에 쓰면 왜 출력값이 다르게 나오는지 궁금합니다 #include <stdio.h> #include<math.h> int arr[2][7]; int main() { int i,j,n,k,s,y,tmp=0; double sum=0; scanf("%d %d",&n,&k); for(i=0;i<n;i++){ scanf("%d %d",&s,&y); arr[s][y]++;} for(i=0;i<=1;i++){ for(j=1;j<=2;j++){ tmp=tmp+arr[i][j];} } sum=sum+ceil(tmp/(double)k); tmp=0;     ★ for(i=0;i<=1;i++){ for(j=3;j<=5;j=j+2){ tmp=tmp+arr[i][j]; tmp=tmp+arr[i][j+1]; sum=sum+ceil(tmp/(double)k);} } printf("%d\n",(int)sum); return 0; }

2
eagle1129 프로필

질문 드립니다! eagle1129 1달 전
#include<stdio.h> int main(){ int arr[9],i,j,k,tmp; for(i=0;i<=8;i++){ scanf("%d",&arr[i]);} scanf("%d",&k);  for(i=1;i<=k;i++){   tmp=arr[0]; for(j=0;j<8;j++){ arr[j]=arr[j+1];} arr[j]=tmp; } for(i=0;i<=8;i++){ printf("%d ",arr[i]);} return 0;}  의 식과 #include<stdio.h> int main(){ int arr[9],i,j,k; for(i=0;i<=8;i++){ scanf("%d",&arr[i]);} scanf("%d",&k);  for(i=1;i<=k;i++){    for(j=0;j<8;j++){ arr[j]=arr[j+1];} arr[j]=arr[0]; } for(i=0;i<=8;i++){ printf("%d ",arr[i]);} return 0;}의 식이 왜 출력값이 다르게 나오는지 궁금합니다.. 즉,왜 곧바로 arr[j]==arr[0]로 하면 나오는 출력값과  tmp를 만들어 tmp=arr[0]으로 잡고 arr[j]=tmp로 나오는 출력값이 다른지 궁금합니다

1
eagle1129 프로필

동물의 수 구하기 eagle1129 1달 전
총 다리의 개수를 그때그때 세는 것을 tmp로 놓으신다고했는데 그게 무슨뜻인지 궁금합니다 그리고 int b로 토끼와 닭의 총 다리수를  b로 놓았는데 b=(4*i)+(2*(a-i));가 아닌 tmp=(4*i)+(2*(a-i));  if(tmp==b)로 굳이 쓰는 이유가 무엇인지 궁금합니다  #include<stdio.h> int main(){ int a,b,r;//a=총 마리수,b=총 다리수,r=토끼 수   scanf("%d %d",&a,&b); for(r=1;r<a;r++){ b=(4*r)+(2*(a-r));   printf("토끼의 수:%d\n",r); printf("닭의 수:%d",a-r); break; } return 0; }

2
박세은1812 프로필

int main에 대해서 궁금합니다. 박세은1812 1달 전
제가 c언어를 배울 때에는 main()을 한 다음 다음 줄에 int를 사용하는 방법으로 배웠었는데 여기서는 왜 같은 한 줄에 int main()을 쓰는지와 ㄱ에 대한 차이점이 궁금합니다!

1
dakkang0180 프로필

while 문 이렇게 맞나요 dakkang0180 5달 전
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
각병안 프로필

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

1
$tudent 프로필

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

1
hxmkim 프로필

2차원 배열 출력3번 문제 질문입니다. hxmkim 7달 전
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_익 8달 전
// 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 8달 전
알려주신코드 그대로 작성해서 실행시켜봤는데   식별자 "true"이 정의되어있지 않습니다. 식별자 "false"이 정의되어 있지 않습니다. 식별자 "bool"이 정의되어 있지 않습니다. 구문 오류: 식별자 'isPrime' 구문 오류: '<parameter-list> 구문 오류: ';' 'isPrime'이 정의되지 않았습니다.  이렇게 계속 뜨면서 실행이 안되는데 뭐가 문제인지 궁금합니다 실행시키는 프로그램은 Visual Studio Community 2019 입니다.

2
dev_익 프로필

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

4
dmsgkrkt1 프로필

1차원 배열 , 2차원 배열 질문이요! dmsgkrkt1 9달 전
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 9달 전
안녕하세요! 강의 전에 제가 먼저 짜봤던 코드는  #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
임규범 프로필

일곱 난쟁이 임규범 10달 전
#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

11,000원

내 목록 추가 358 공유
지식공유자 : 김태원
총 66개 수업˙총 8시간 52분
평생 무제한 수강
수료증 발급 강의
입문 대상
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스