C언어 2주차
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이 아닌 모든 수는 참이다.
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;
}
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;
}
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;
}
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;
}
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;
}
Leave a comment