C언어 2주차

2 minute read

c언어 프로그램 만들어보기

22. 간단한 계산기 프로그램

#include <stdio.h>

int main(void)
{
	char o;
	int x, y;
	while(1) //break를 쓰지않는한 무한 반복문  
	{
		printf("수식을 입력하세요 :");
		scanf("%d %c %d", &x, &o, &y);
		if(o == '+')
		{
			printf("%d %c %d = %d\n", x, o, y, x+y);
		 } 
		else if (o == '-')
		{
			printf("%d %c %d = %d\n", x, o, y, x-y);
		}
		else if (o == '*')
		{
			printf("%d %c %d = %d\n", x, o, y, x*y);
		}
		else if (o == '/')
		{
			printf("%d %c %d = %d\n", x, o, y, x/y);
		}
		else if (o == '%')
		{
			printf("%d %c %d = %d\n", x, o, y, x%y);
		}
		else
		{
			printf("입력이 잘못 되었습니다.\n");
		}
		getchar(); //버퍼를 처리 
		printf("프로그램을 종료하시겠습니까? (y/n)");
		scanf("%c",&o);
		if(o=='n' || o =='N')
		{
			continue;
		}
		else if(o== 'y' || 'o'=='Y')
		{
			break;
		}
		else
		{
			printf("입력이 잘못되었습니다.\n");
		}
	}
	return 0;
}

//0이 아닌 모든 수는 참이다. 

22  간단한 계산기 프로그램

23. 정해진 개수의 정수를 더하는 프로그램

#include <stdio.h>

int main(void)
{
	int number, x, i, sum=0;
	printf("정수의 개수를 입력하세요 : ");
	scanf("%d", &number);
	for(i=0; i<number; i++)
	{
		printf("정수의 값을 입력하세요 :");
		scanf("%d", &x);
		sum+= x; 
	}
	printf("전체 정수의 값은 %d입니다.\n", sum);
	return 0;
}

23  정해진 개수의 정수를 더하는 프로그램

24. 특정한 단의 구구단을 출력하는 프로그램

#include <stdio.h>

int main(void)
{
	int x,i;
	printf("정수를 입력하세요 : ");
	scanf("%d", &x);
	for(i=1; i<=9; i++)
	{
		printf("%d X %d = %d\n", x, i, x*i);
	 } 
	return 0;
}

24  특정한 단의 구구단을 출력하는 프로그램

25. 시간 더하기 프로그램

#include <stdio.h>

//전역변수: 프로그램전체에서 공통으로 사용할 수 있는 것이다. 
int hour;
int minute;
int minuteAdd;

void counter() //함수를 만들때 순서대로 반환형태, 함수이름, 매개변수가 들어간다. void같은 경우 함수의 반환값이 없을때 사용한다. 
{
	minute += minuteAdd;
	hour += minute/60;
	minute %= 60;
	hour %= 24;
}
	
int main(void)
{
	printf("시를 입력하세요 :");
	scanf("%d", &hour);
	printf("분을 입력하세요 :");
	scanf("%d", &minute);
	printf("더할 분을 입력하세요 :");
	scanf("%d", &minuteAdd);
	counter();
	printf("더해진 시간은 %d시 %d분입니다.\n",hour, minute);
	return 0;
}

25  시간 더하기 프로그램

26. 화폐의 개수를 가장 적게 주는 방법 프로그램

#include <stdio.h>

//특정한 금액을 받아서 가장 적은 거스름 화폐의 개수를 구하는 함수
int smallest(int number) 
{
	int count=0;
	while(number>=50000)
	{
		number -= 50000;
		count++;
	}
	while(number>=10000)
	{
		number -= 10000;
		count++;
	}
	while(number>=5000)
	{
		number -= 5000;
		count++;
	}
	while(number>=1000)
	{
		number -= 1000;
		count++;
	}
	while(number>=500)
	{
		number -= 500;
		count++;
	}
	while(number>=100)
	{
		number -= 100;
		count++;
	}
	while(number>=50)
	{
		number -= 50;
		count++;
	}
	while(number>=10)
	{
		number -= 10;
		count++;
	}
	return count;
}



int main(void)
{
	int number;
	printf("금액을 입력하세요:");
	scanf("%d", &number);
	printf("최소로 줄 수 있는 화폐의 개수는 %d개 입니다.\n", smallest(number)); 
	return 0;
 } 

26  화폐의 개수를 가장 적게 주는 방법 프로그램

27. 1월 1일부터 현재 날짜까지의 날짜 차이를 구하기

#include <stdio.h>

int getDays(int month, int day)
{
	int i, sum=0;
	for (i=1; i<month; i++)
	{
		if(i==2)//이 프로그램에서는 윤년을 감안하지 않는다.
		{
			sum+=28;
		}
		else if(i%2==0)
		{
			sum+=30;
		}
		else
		{
			sum+=31;
		}
	}
	return sum+day;
}

int main(void)
{
	int month, day;
	scanf("%d %d", &month, &day);
	printf("1월 1일부터 해당 날짜까지의 거리는 %d일입니다.", getDays(month, day));
	return 0;
}

27  1월1일부터 현재 날짜까지의 날짜 차이를 구하기

Leave a comment