1. 다음 질문들에 맞는 if문의 조건식을 구성하세요.
1) N이 0보다 크거나 같다.
if(N>=0)
2) N이 -5보다 작거나 5보다 크다.
if(N<-5||N>5)
3) N이 0보다 크거나 같고 10보다 작거나 같다.
if(N>=0&&N<=10)
4) ch는 대문자이다.
if(ch>=65&&ch=<90)
if(ch>='A'&&ch=<'Z')
5) ch는 소문자이다.
if(ch>=97&&ch=<122)
if(ch>='a'&&ch=<'z')
6) N이 K와 같거나 M보다 크다.
if(N==K||N>M)
2. 키보드로부터 한 문자를 입력 받아서 입력 문자에 해당하는 아스키 코드값을 출력하세요.
출력) 문자 입력 : A
값 : 65
#include <stdio.h>
int main()
{
char a;
printf("input : ");
scanf("%c" , &a);
printf("output : %d\n", a);
return 0;
}
3. 키보드로부터 소문자를 입력 받으면 대문자로, 대문자를 입력 받으면 소문자로 변환하세요.
출력) 알파벳 입력 : a
대문자로 변환 : A
알파벳 입력 : 1
알파벳을 입력하세요.
알파벳 입력 : B
소문자로 변환 : b
알파벳 입력 : (엔터)
프로그램 종료!
#include <stdio.h>
void abc(char c);
int main()
{
char c;
for(;;)
{
printf("input : ");
scanf("%c" , &c);
fflush(stdin);
if(c == '\n')
{
printf("프로그램 종료!\n");
break;
}
abc(c); //(c)는 변수;
}
return 0;
}
void abc(char c)
{
if(c>='A' && c<='Z')
{
printf("output : %c\n", c+32);
}
else if(c>='a' && c<='z')
{
printf("output : %c\n", c-32);
}
else
{
printf("알파벳을 입력하세요.\n");
}
return;
}
4. 정수의 자릿수를 구하세요.
출력) 정수 입력 : 325
자 릿 수 : 3
정수 입력 : -1
종료하시겠습니까?(Y/N) : n
정수 입력 : 4589
자 릿 수 : 4
정수 입력 : -1
종료하시겠습니까?(Y/N) : y
프로그램 종료!
#include <stdio.h>
int main(void)
{
int a;
int i = 1;
char ch;
for(;;)
{
printf("정수 입력: ");
scanf("%d", &a);
if(a>=0&&a<10)
{
printf("자 릿 수 : %3d\n", i);
}
if(a >= 10)
{
for(a ;a >= 10;)
{
a = a/10;
i++;
}
printf("자 릿 수 : %3d\n", i);
}
fflush(stdin);
if(a < 0)
{
printf("종료하시겠습니까?(Y/N): ");
scanf("%c", &ch);
if(ch == 'y'||ch == 'Y')
{
printf("프로그램 종료!\n");
break;
}
}
i=1;
}
return 0;
}
[도전] 피보나치 수열이란 1, 1, 2, 3, 5, 8, … 과 같이 앞의 연속된 2개 항을 합한 수열이다.
피보나치 수열의 일반식 : an+2 = an + an+1
입력 받은 항 개수만큼의 피보나치 수열의 합을 구하여라.
(항 개수를 9로 입력받으면 합 Sum = 1+1+2+3+5+8+13+21+34)
출력)
**** 피보나치 수열의 합 ****
항의 개수 입력 : 5
피보나치 수열 5개 항의 합은 12
항의 개수 입력 : -1
종료하시겠습니까?(Y/N) : y
프로그램 종료!
#include <stdio.h>
int main(void)
{
int iNum1 = 0;
int iNum2 = 1;
int iNum3;
int i;
int a;
int sum = 0;
char ch;
printf("**** 피보나치 수열의 합 ****\n");
for(;;)
{
printf("항의 개수 입력 : ");
scanf("%d", &i);
if(i>0)
{
printf("1, ");
for(a=0;a<i-1;a++)
{
iNum3 = iNum1+iNum2;
sum = sum+iNum3; //sum += iNum3;
printf("%d, ", iNum3);
iNum1 = iNum2;
iNum2 = iNum3;
}
printf("피보나치 수열 %d개 항의 합은 %d\n", i, sum+1);
iNum1 = 0;
iNum2 = 1;
sum = 0;
}
fflush(stdin);
if(i<0)
{
printf("종료하시겠습니까?(y/n): ");
scanf("%c", &ch);
if(ch == 'y')
{
printf("프로그램 종료!\n");
break;
}
}
}
return 0;
}
1) N이 0보다 크거나 같다.
if(N>=0)
2) N이 -5보다 작거나 5보다 크다.
if(N<-5||N>5)
3) N이 0보다 크거나 같고 10보다 작거나 같다.
if(N>=0&&N<=10)
4) ch는 대문자이다.
if(ch>=65&&ch=<90)
if(ch>='A'&&ch=<'Z')
5) ch는 소문자이다.
if(ch>=97&&ch=<122)
if(ch>='a'&&ch=<'z')
6) N이 K와 같거나 M보다 크다.
if(N==K||N>M)
2. 키보드로부터 한 문자를 입력 받아서 입력 문자에 해당하는 아스키 코드값을 출력하세요.
출력) 문자 입력 : A
값 : 65
#include <stdio.h>
int main()
{
char a;
printf("input : ");
scanf("%c" , &a);
printf("output : %d\n", a);
return 0;
}
3. 키보드로부터 소문자를 입력 받으면 대문자로, 대문자를 입력 받으면 소문자로 변환하세요.
출력) 알파벳 입력 : a
대문자로 변환 : A
알파벳 입력 : 1
알파벳을 입력하세요.
알파벳 입력 : B
소문자로 변환 : b
알파벳 입력 : (엔터)
프로그램 종료!
#include <stdio.h>
void abc(char c);
int main()
{
char c;
for(;;)
{
printf("input : ");
scanf("%c" , &c);
fflush(stdin);
if(c == '\n')
{
printf("프로그램 종료!\n");
break;
}
abc(c); //(c)는 변수;
}
return 0;
}
void abc(char c)
{
if(c>='A' && c<='Z')
{
printf("output : %c\n", c+32);
}
else if(c>='a' && c<='z')
{
printf("output : %c\n", c-32);
}
else
{
printf("알파벳을 입력하세요.\n");
}
return;
}
4. 정수의 자릿수를 구하세요.
출력) 정수 입력 : 325
자 릿 수 : 3
정수 입력 : -1
종료하시겠습니까?(Y/N) : n
정수 입력 : 4589
자 릿 수 : 4
정수 입력 : -1
종료하시겠습니까?(Y/N) : y
프로그램 종료!
#include <stdio.h>
int main(void)
{
int a;
int i = 1;
char ch;
for(;;)
{
printf("정수 입력: ");
scanf("%d", &a);
if(a>=0&&a<10)
{
printf("자 릿 수 : %3d\n", i);
}
if(a >= 10)
{
for(a ;a >= 10;)
{
a = a/10;
i++;
}
printf("자 릿 수 : %3d\n", i);
}
fflush(stdin);
if(a < 0)
{
printf("종료하시겠습니까?(Y/N): ");
scanf("%c", &ch);
if(ch == 'y'||ch == 'Y')
{
printf("프로그램 종료!\n");
break;
}
}
i=1;
}
return 0;
}
[도전] 피보나치 수열이란 1, 1, 2, 3, 5, 8, … 과 같이 앞의 연속된 2개 항을 합한 수열이다.
피보나치 수열의 일반식 : an+2 = an + an+1
입력 받은 항 개수만큼의 피보나치 수열의 합을 구하여라.
(항 개수를 9로 입력받으면 합 Sum = 1+1+2+3+5+8+13+21+34)
출력)
**** 피보나치 수열의 합 ****
항의 개수 입력 : 5
피보나치 수열 5개 항의 합은 12
항의 개수 입력 : -1
종료하시겠습니까?(Y/N) : y
프로그램 종료!
#include <stdio.h>
int main(void)
{
int iNum1 = 0;
int iNum2 = 1;
int iNum3;
int i;
int a;
int sum = 0;
char ch;
printf("**** 피보나치 수열의 합 ****\n");
for(;;)
{
printf("항의 개수 입력 : ");
scanf("%d", &i);
if(i>0)
{
printf("1, ");
for(a=0;a<i-1;a++)
{
iNum3 = iNum1+iNum2;
sum = sum+iNum3; //sum += iNum3;
printf("%d, ", iNum3);
iNum1 = iNum2;
iNum2 = iNum3;
}
printf("피보나치 수열 %d개 항의 합은 %d\n", i, sum+1);
iNum1 = 0;
iNum2 = 1;
sum = 0;
}
fflush(stdin);
if(i<0)
{
printf("종료하시겠습니까?(y/n): ");
scanf("%c", &ch);
if(ch == 'y')
{
printf("프로그램 종료!\n");
break;
}
}
}
return 0;
}
'Report' 카테고리의 다른 글
C과제(2) (0) | 2011.06.27 |
---|---|
C과제 (0) | 2011.05.18 |
iNum은 왜 다른 변수와 달리 -1로 출력이 되는가 (0) | 2011.03.27 |