논리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 |