본문 바로가기

C언어

논리야 놀자 #1

논리1 : 1부터 n까지의 합을 계산

 

의사코드

sum = 0;

i = 1;

while (i <= n) //n번 반복

{

sum += i;

i++;

}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num, sum = 0, i;
    
    scanf("%d", &num);
    
    for(i = 1; i <= num; i++) {
    	sum += i;
    }
    
    printf("%d", sum);
    
    return 0;
}

 

논리2 : 1부터 n까지의 곱을 계산

 

의사코드

product = 1;

while ( i<= n )

{

product *= i;

i++;

}

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num, product = 1, i;
    
    scanf("%d", &num);
    
    for(i = 1; i <= num; i++) {
    	product *= i;
    }
    
    printf("%d", product);
    
    return 0;
}

 

논리3 : 3을 n번 더함

의사코드

result = 0;

i = 1;

while (i <= n) 

{

result += 3;

i++;

}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num, result = 0, i;
    
    scanf("%d", &num);
    
    for(i = 1; i <= num; i++) {
    	result += 3;
    }
    
    printf("%d", result);
    
    return 0;
}

 

논리 3-2 : m을 n번 더함

의사코드 result = 0;

i = 1;

while ( i <= n )

{

result += m;

i++;

}

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int m, n, result = 0, i;
    
    scanf("%d %d", &m, &n);
    
    for(i = 1; i <= n; i++)
    	result += m;
    
    printf("%d", result);
    
    return 0;
}

 

논리4 : 5를 n번 곱합

의사코드 생략(논리3과 유사)

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num, result = 1, i;
    
    scanf("%d", &num);
    
    for(i = 1; i <= num; i++) {
    	result *= 5;;
    }
    
    printf("%d", result);
    
    return 0;
}

 

논리 4-2 : m을 n번 곱합

의사코드 생략 (논리 3-2와 유사)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int m, n, result = 1, i;
    
    scanf("%d %d", &m, &n);
    
    for(i = 1; i <= n; i++)
    	result *= m;
    
    printf("%d", result);
    
    return 0;
}

 

논리3 : n개의 점수를 읽어서 총점을 계산, 평균을 계산

의사코드

total = 0;

i = 0;

while ( i < n )

{

score를 읽는다;

total누적;

 

i++;

}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int total = 0;
	int i, n, score;
	
	scanf("%d", &n);
	
	for(i = 0; i < n; i++){
		printf("%d번째 점수는 : ", i + 1);
		scanf("%d", &score);
		total += score;
	}
	
	printf("총점은 %d\n", total);
	printf("평균은 %d", total/n);
}

 

논리6 : n개의 점수를 읽어서 최대값을 찾는다.

의사코드

max = 아주작은값;

i = 0;

while ( i < n)

{

score를 읽는다;

if (max < score)

  max = score;

i++;

}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int max = - 999; //정확하게 하기 위해 -1보단 -999가 낫다.
	int n, score, i;
	
	scanf("%d", &n);
	
	for(i = 0; i < n; i++) {
		scanf("%d", &score);
		if( max < score )
			max = score; 
	} 
	
	printf("가장 큰 수는 %d이다", max);
}

 

'C언어' 카테고리의 다른 글

논리야 놀자 #3  (0) 2023.09.09
논리야 놀자 #2  (0) 2023.09.08
혼공C 도전실전 예제 내 풀이  (0) 2023.08.17
[C언어] 배열을 처리하는 함수  (0) 2023.08.15
[C언어] 배열과 포인터  (0) 2023.08.13