키보드로부터 한 문자를 입력 받아서 입력 문자에 해당하는 아스키 코드값을 출력하세요.
출력) 문자 입력 : A
값 : 65
#include <stdio.h>
int main()
{
char a;
printf("input : ");
scanf("%c" , &a);
printf("output : %d\n", a);
return 0;
}
키보드로부터 소문자를 입력 받으면 대문자로, 대문자를 입력 받으면 소문자로 변환하세요.
출력) 알파벳 입력 : 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;
}
정수의 자릿수를 구하세요.
출력) 정수 입력 : 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
절대값 출력 : 1
정수 입력 : 2
절대값 출력 : 2
#include <stdio.h>
int main()
{
int a = 0;
printf("정수입력 : ");
scanf("%d", &a);
if(a<0)
{
printf("절대값 출력 : %d\n", -a);
}
else if(a>=0)
{
printf("절대값 출력 : %d\n", a);
}
return 0;
}
문제에 나온 그림대로 출력하세요. (중첩 for문 사용)
1)
*
*
*
*
*
#include <stdio.h>
int main()
{
int a, b;
for(a=0;a<5;a++)
{
for(b=0;b<a;b++)
{
printf("\t");
}
printf("*\n");
}
return 0;
}
2)
*
*
*
*
*
#include <stdio.h>
int main()
{
int a, b;
for(a=0;a<5;a++)
{
for(b=5;b>a;b--)
{
printf("\t");
}
printf("*\n");
}
return 0;
}
출력할 줄의 개수를 입력받은 후 직삼각형을 다음과 같이 출력하세요.
줄 개수 입력 : 5
*
* *
* * *
* * * *
* * * * *
#include <stdio.h>
int main()
{
int a, b;
int i;
printf("줄개수 입력 : ");
scanf("%d", &i);
for(a=0;a<i;a++)
{
for(b=0;b<a;b++)
{
printf("*");
}
printf("*\n");
}
return 0;
}
다음과 같은 형태로 문자열이 출력되는 프로그램을 작성하시오.
A
A B
A B C
A B C D
A B C D E
#include <stdio.h>
int main()
{
int a, b;
for(a=0;a<5;a++)
{
for(b=0;b<=a;b++)
{
if(b==0)
{
printf("A ");
}
if(b==1)
{
printf("B ");
}
if(b==2)
{
printf("C ");
}
if(b==3)
{
printf("D ");
}
if(b==4)
{
printf("E ");
}
}
printf("\n");
}
return 0;
}
정수 N을 입력 받아 2의 보수를 취한 값을 출력하세요.
출력) 정수 입력 : 1
2의 보수 출력 : -1
#include <stdio.h>
int main()
{
int a;
int b=0;
printf("please enter is integer : ");
scanf("%d", &a);
b = ~(a-1);
printf("complement of 2 : %d\n", b);
return 0;
}
초 입력시 분과 초로 변환하는 프로그램을 작성하세요.
출력) Input Seconds : 100
Output : 1 min 40 sec
Input Seconds : 80
Output : 1 min 20 sec
Input Seconds : -1
프로그램 종료!!!
#include <stdio.h>
int main()
{
int a=0;
int b=0;
int c=0;
printf("Input Seconds : ");
scanf("%d", &a);
b = a/60;
c = a%60;
printf("Output : %d min %d sec\n", b, c);
return 0;
}
10진수 0부터 16까지의 정수를 8진수로 출력합니다. 출력에는 10진수와 8진수의 대응관계를 반드시 포함시킵니다. printf함수의 %o플래그를 사용할 수 없습니다.
출력) 10진수 8진수
-------------------
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12
11 13
12 14
13 15
14 16
15 17
16 20
#include <stdio.h>
int main()
{
int a;
int b=0;
printf("10진수 8진수\n");
printf("----------------\n");
for(a=0;a<=16;a++)
{
b=((a/8)*10+(a%8));
printf("%d %d\n", a, b);
}
return 0;
}
키보드로부터 최대 세 자리의 정수를 입력 받습니다. 자릿수들의 합계는 얼마입니까?
출력) 입력(3자리) : 123
자릿수 합계 : 6
입력(3자리) : 620
자릿수 합계 : 8
입력(3자리) : -1
프로그램 종료!!
#include <stdio.h>
int main()
{
int a = 0;
int s = 0;
printf("number is enter : ");
scanf("%d", &a);
s = ((a/100)+(a%100/10)+(a%10));
if(s>=0)
{
printf("number is sum %d\n", s);
}
else if(s<0)
{
printf("program is out!!\n");
}
return 0;
}
'Report' 카테고리의 다른 글
C과제(3) (0) | 2011.06.27 |
---|---|
C과제(2) (0) | 2011.06.27 |
iNum은 왜 다른 변수와 달리 -1로 출력이 되는가 (0) | 2011.03.27 |