Search

'c언어'에 해당되는 글 2건

  1. 2014.03.22 C 언어 반복문 실습 과제
  2. 2013.08.02 C언어 달력 소스코드

C 언어 반복문 실습 과제

Programming/C,CPP,CS 2014. 3. 22. 14:34 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

C 언어 반복문 실습 과제



C 반복문 과제.docx



1. (,나머지)

세자리 정수를 입력 받아

각 자리의 수를 따로 출력하시오.

 

ex)

입력 : 523

출력 :

 

백의 자리 : 5

십의 자리 : 2

일의 자리 : 3

 

int main()

{

           int inputNumber;

           int num1=0,num2=0,num3=0;

           // TODO : 변수 생성

 

           printf("입력 : ");

           scanf("%d", &inputNumber);

 

           // TODO : num1,num2,num3 연산

 

           printf("출력 : ");

           printf("백의 자리 : %d\n", num1);

           printf("십의 자리 : %d\n", num2);

           printf("일의 자리 : %d\n", num3);

 

 

 

2. 세자리 십진수를 받아서 각 자리수가 짝수인지 홀수인지 구분하여 출력하시오.

실행 예)

step1) 세자리 십진수 입력 :

step1) 세자리 십진수 입력 : 456

           4 : 짝수 5 : 홀수 6 : 짝수

 

...

...

printf("세자리 십진수 입력:");

scanf("%d", &num);

...

...

...

 

 

3. 0~100 까지의 수 중에서 홀수만 출력하는 프로그램을 작성하시오.

실행예)

1

3

5

7

9

...

...

97

99

           return 0;

}

 

4. 1~100 까지의 소수 출력

 

2         3         5         7

11        13        17        19

 

5. 1~ 입력한 수까지의 소수 출력

 

6. 반복문과 제어문을 이용하여

 ex) 3 입력시

           *         1

           **        2

           ***       3

7.

 ex) 3입력시

             *       1

            ***      2

           *****     3

8.

 ex) 3입력시

             *       1

            ***      2

           *****     3

            ***      2

             *       1

 

 

9. 0이 입력될 때까지 계속 정수를 입력 받고, 입력된 모든 숫자들의 총합을 출력하시오.

 

 

 

10. 1부터 9사이의 숫자 하나를 입력 받아 그 숫자의 구구단을 출력하는 프로그램을 작성하시오.(5이면 5단을 출력)

 

 

10. 위의 문제에서 1부터 9사이 이외의 숫자를 사용자가 잘못 입력할 수도 있으니, 이 경우에 잘못된 숫자라는 것을 알려주는 에러 메시지를 출력하고 다시 숫자를 입력 받도록 처리하시오.(입력의 유효성 검사)

 

 

11. 소수(prime-number) 검사와 흡사하게 사용자가 입력한 수의 인수들을 모두 출력하는 프로그램을 작성하시오.

8 => 2 4

12 => 2 3 4 6

 

 

 

12. 달력 문제

 

12.1 년도를 입력 받아 해당 년도가 윤년인지 평년인지를 출력하시오.

 

 

12.2 , 월을 입력 받아 해당 월의 총 일수를 출력하시오.

 

Ex) 2014 3

출력 : 2014 3월은 총 31일 입니다.

2014 2

출력 : 20142월은 총 28일 입니다.

 

12.3 년도를 입력 받아 해당 년도 1 1일이 무슨 요일인지 출력하시오.

 

12.4 , 월을 입력 받아 해당 월 1일이 무슨 요일인지 출력하시오.

 

12.5 달력을 출력하시오.

 

 

입력예)

년도 : 2012

   : 3

           3

일 월 화 수 목 금 토

   1  2  3  4  5  6

7  8  9 10 11 12 13

...

30

13. 10진수를 입력 받아 2진수로 출력하시오.

(, 0~ 15까지 처리되도록 작성하시오.)

Ex) 6

0 1 1 0

C언어 달력 소스코드

Programming/C,CPP,CS 2013. 8. 2. 17:51 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
/*
 * main.c

 *
 *  Created on: 2013. 8. 1.
 *      Author: Administrator
 */
#include 
int monthDay(int year, int month) {
	int result;

	if (month == 1 || month == 3 || month == 

5 || month == 7 || month == 8
			|| month == 10 || 

month == 12) {
		result = 31;
	} else if (month == 4 || month == 6 || 

month == 9 || month == 11) {
		result = 30;
	} else if (month == 2) {
		if (((year % 4 == 0) && (year % 

100 != 0)) || (year % 400 == 0)) {
			result = 29;
		} else {
			result = 28;
		}
	}

	return result;
}
int monthDayName( year, month) {
	int result;
	int dayCount = 0;
	int i, j;
	// 기준점 : 1900년 1월 1일 은 월요일이다.
	// 월요일 : 2

	// 1 : 일요일
	// 2 : 월요일
	// 3 : 화요일
	// 4 : 수요일
	// 5 : 목요일
	// 6 : 금요일
	// 7 : 토요일

	// 1903
	for (j = 1900; j < year; j++) {
		for (i = 1; i < 13; i++) {
			dayCount += 

monthDay(j, i);
		}
	}
	// 2013 3
	// 2013 +1
	// 2013 +2
	for (i = 1; i < month; i++) {
		dayCount += monthDay(year, 

i);
	}

	result = (dayCount + 2) % 7;
	return result;
}
void printTitle(int year, int month) {
	printf("\n       %d 년 %d 월 \n", year, 

month);
	printf("일  월  화  수  목  금  토\n");
}
void printBody(int year, int month) {
	int dayName;
	int i;
	dayName = monthDayName(year, month);
	for (i = 1; i < dayName; i++) {
		printf("    ");
		fflush(stdout);
	}

	for (i = 1; i < monthDay(year, month); 

i++) {
		printf("%2d  ", i);
		fflush(stdout);
		if ((dayName + i - 1) % 7 == 0) {
			printf("\n");
			fflush(stdout);
		}
	}

}
int main() {

	int month;			// 

사용자로부터 입력 받을 값 저장
	int year;			// 사용자로부

터 입력 받을 값 저장
	int totalDay;		// n! 를 구한 

결과값
	int dayName;		// n! 를 구한 

결과값

	printf("일자를 구할 연도를 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &year);
	printf("일자를 구할 달을 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &month);

	totalDay = monthDay(year, month);

	dayName = monthDayName(year, month);

	printf("%d 년 %d 월은 총 %d일 입니다.\n", 

year, month, totalDay);

	switch (dayName) {
	case 1:
		printf("%d 년 %d 월 1일은 일요일 

입니다.\n", year, month);
		break;
	case 2:
		printf("%d 년 %d 월 1일은 월요일 

입니다.\n", year, month);
		break;
	case 3:
		printf("%d 년 %d 월 1일은 화요일 

입니다.\n", year, month);
		break;
	case 4:
		printf("%d 년 %d 월 1일은 수요일 

입니다.\n", year, month);
		break;
	case 5:
		printf("%d 년 %d 월 1일은 목요일 

입니다.\n", year, month);
		break;
	case 6:
		printf("%d 년 %d 월 1일은 금요일 

입니다.\n", year, month);
		break;
	case 0:
		printf("%d 년 %d 월 1일은 토요일 

입니다.\n", year, month);
		break;
	}

	printTitle(year, month);
	printBody(year, month);

	return 0;
}