http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=1060
JUNGOL
www.jungol.co.kr
사이트에서 직접 프로그램을 돌려볼 수 있습니다.
교재 P.112 연습문제1
#include <stdio.h>
int main(){
char alpha = 'A';
while(alpha <= 'Z'){
printf("%c", alpha++);
}
printf("\n");
return 0;
}
교재 P.113 자가진단1
#include <stdio.h>
int main(){
int a=1;
while(a<=15){
printf("%d ", a++);
}
printf("\n");
return 0;
}
교재 P.114 연습문제2
#include <stdio.h>
int main(){
int sum = 0, num = 1;
while(num <= 10){
sum += num;
num++;
}
printf("1부터 10까지의 합 = %d \n", sum);
printf("while문이 끝난 후의 num의 값 = %d \n", num);
return 0;
}
교재 P.115 자가진단2
#include <stdio.h>
int main(){
int a, num=1, sum=0;
scanf("%d", &a);
while(num <= a){
sum += num;
num++;
}
printf("%d", sum);
return 0;
}
교재 P.116 연습문제3
#include <stdio.h>
int main(){
int score;
while(1){
printf("점수를 입력하세요. ");
scanf("%d", &score);
if(score < 0 || score > 100) break;
if(score >= 80)
printf("축하합니다. 합격입니다. \n");
else
printf("죄송합니다. 불합격입니다. \n");
}
return 0;
}
교재 P.117 자가진단3
#include <stdio.h>
int main(){
int num;
while(1){
printf("number? ");
scanf("%d", &num);
if(num > 0)
printf("positive integer\n");
else if(num <0)
printf("negative number\n");
else
break;
}
return 0;
}
교재 P.118 연습문제4
#include <stdio.h>
int main(){
int num;
int sum = 0, cnt = 0;
double avg;
while(1){
scanf("%d", &num);
if(num == 0) break;
sum += num;
cnt++;
}
avg = (double)sum / cnt;
printf("입력된 자료의 개수 = %d \n", cnt);
printf("입력된 자료의 합계 = %d \n", sum);
printf("입력된 자료의 평균 = %.2lf \n", avg);
return 0;
}
교재 P.119 자가진단4
#include <stdio.h>
int main(){
int num, cnt=0, sum = 0;
double avg;
while(1){
scanf("%d", &num);
if(num >= 100){
sum += num;
cnt++;
break;
}
else{
sum += num;
cnt++;
}
}
avg = (double)sum / cnt;
printf("%d\n", sum);
printf("%.1lf", avg);
return 0;
}
교재 P.120 연습문제5 - 소스1
#include <stdio.h>
int main(){
int num;
int sum = 0, cnt = 0;
int avg;
while(1){
scanf("%d", &num);
if (num == 0) break;
if(num % 2 == 0) continue;
sum += num;
cnt++;
}
avg = sum / cnt;
printf("홀수의 합 = %d \n", sum);
printf("홀수의 평균 = %d \n", avg);
return 0;
}
교재 P.121 연습문제5 - 소스2
#include <stdio.h>
int main(){
int num;
int sum = 0, cnt = 0;
int avg;
do{
scanf("%d", &num);
if(num % 2 == 1){
sum += num;
cnt++;
}
}while(num != 0);
avg = sum / cnt;
printf("홀수의 합 = %d \n", sum);
printf("홀수의 평균 = %d \n", avg);
return 0;
}
교재 P.122 자가진단5
#include <stdio.h>
int main(){
int num;
do{
scanf("%d", &num);
if(num % 3 == 0)
printf("%d \n", num / 3);
else
continue;
}while(num != -1);
return 0;
}
교재 P.124 연습문제6
#include <stdio.h>
int main(){
int num;
do{
printf("1. 입력하기 \n");
printf("2. 출력하기 \n");
printf("3. 삭제하기 \n");
printf("4. 끝내기 \n");
printf("작업할 번호를 선택하세요. ");
scanf("%d", &num);
switch(num){
case 1:
printf("\n입력하기를 선택하였습니다. \n\n");
break;
case 2:
printf("\n출력하기를 선택하였습니다. \n\n");
break;
case 3:
printf("\n삭제하기를 선택하였습니다. \n\n");
break;
case 4:
printf("\n끝내기를 선택하였습니다. \n\n");
break;
default:
printf("\n잘못 선택하였습니다. \n\n");
}
}while(num != 4);
return 0;
}
※교재 예시 코드에는 default: printf("잘못 입력하였습니다. \n\n"); 라고 나와있지만 실행 예시는 잘못 선택하였습니다. 라고 나와있습니다. 입/출력 예를 보고 작성하여 저는 >잘못 선택하였습니다<로 코드를 작성했습니다.
교재 P.125 자기진단6
#include <stdio.h>
int main(){
int num;
do{
printf("1. Korea\n");
printf("2. USA\n");
printf("3. Japan\n");
printf("4. China\n");
printf("number? ");
scanf("%d", &num);
printf("\n");
switch(num){
case 1:
printf("Seoul\n\n");
break;
case 2:
printf("Washington\n\n");
break;
case 3:
printf("Tokyo\n\n");
break;
case 4:
printf("Beijing\n\n");
break;
default:
printf("none\n\n");
}
}while(num <= 4 && num > 0);
return 0;
}
while은 처음부터 조건을 확인하고 계산하는 작업을 반복하지만
do while은 최초 1회는 조건을 확인하지 않고 계산을 한 후 2회부터 조건을 확인하고 계산하는 작업을 반복한다.
'C언어(자기주도C언어프로그래밍) > Chapter06. 반복제어문1' 카테고리의 다른 글
자기주도C언어프로그래밍 Chapter06. 반복제어문1 - 형성평가 (0) | 2023.02.23 |
---|