1. 정수를 입력받아 1부터 입력받은 정수까지를 차례대로 출력하는 프로그램을 작성하시오.
입력 예
5
출력 예
1 2 3 4 5
#include <stdio.h>
int main(){
int i = 1, num;
scanf("%d", &num);
while(i <= num){
printf("%d ", i);
i++;
}
return 0;
}
2. 정수를 입력받다가 0이 입력되면 그 때까지 입력받은 홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오.
입력 예
9 7 10 5 33 65 0
출력 예
odd : 5
even : 1
#include <stdio.h>
int main(){
int num, odd = 0, even = 0;
while(1){
scanf("%d", &num);
if(num % 2 == 0 && num != 0)
even++;
else if(num % 2 != 0)
odd++;
if(num == 0)
break;
}
printf("odd : %d\n", odd);
printf("even : %d", even);
return 0;
}
3. 0부터 100까지의 점수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료의 합계와 평균을 출력하는 프로그램을 작성하시오. (평균은 반올림하여 소수 첫째자리까지 출력한다.)
입력 예
55 100 48 36 0 101
출력 예
sum : 239
avg : 47.8
#include <stdio.h>
int main(){
int num, sum = 0, cnt = 0;
double avg;
while(1){
scanf("%d", &num);
if(num < 0 || num > 100)
break;
sum += num;
cnt++;
}
avg = (double)sum / cnt;
printf("sum : %d\n", sum);
printf("avg : %.1lf", avg);
return 0;
}
4. 0이 입력될 때까지 정수를 계속 입력받아 3의 배수와 5의 배수를 제외한 수들의 개수를 출력하는 프로그램을 작성하시오.
입력 예
1 2 3 4 5 6 7 8 9 10 0
출력 예
5
#include <stdio.h>
int main(){
int num, cnt = 0;
while(num != 0){
scanf("%d", &num);
if(num % 3 != 0 && num % 5 != 0)
cnt++;
}
printf("%d", cnt);
return 0;
}
5. 삼각형의 밑변의 길이와 높이를 입력받아 넓이를 출력하고, "Continue?"에서 'Y'나 'y'를 입력하면 작업을 반복하고 다른 문자를 입력하면 종료하는 프로그램을 작성하시오. (넓이는 반올림하여 소수 첫째 자리까지 출력한다.)
입력과 출력 예
Base = 11
Height = 5
Triangle width = 27.5
Continue? Y
Base = 10
Height = 10
Triangle width = 50.0
Continue? N
#include <stdio.h>
int main(){
int base, height;
char retry;
double width;
while(1){
printf("Base = ");
scanf("%d", &base);
printf("Height = ");
scanf("%d", &height);
width = (base * height) / 2.0;
printf("Triangle width = %.1lf\n", width);
printf("Continue? ");
scanf(" %c", &retry);
if(retry != 'Y' && retry != 'y')
break;
}
return 0;
}
'C언어(자기주도C언어프로그래밍) > Chapter06. 반복제어문1' 카테고리의 다른 글
자기주도C언어프로그래밍 Chapter06. 반복제어문1 - 연습문제&자가진단 (0) | 2023.02.23 |
---|