일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 정보영재원
- 알고리즘
- 정보올림피아드
- 수학영재원
- C++
- API
- 풀이&소스코드저작권:왕유승
- 정보과학
- Linux
- 독서 감상문
- C
- 프로그래밍
- 자료구조
- 문제출저:www.dovelet.com
- 제어문
- 백도어
- 다중반복문
- DBMS
- 리눅스 명령어
- 독후감
- c언어
- Backdoor
- 영재교육원
- 반복문
- 리눅스
- For문
- 참조은요양병원
- if문
- IT
- 배열
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] V 출력 본문
아... 이 문제는 소스코드에서 중간에 고칠 게 좀 많지만.... 지금 피곤하고 할게 너무 많기 때문에 생각만 해두고 넘어가야겠다.....
프로그램 명: bui
제한시간: 1 초
V 를 출력하는 문제이다.
n 에 대한 V 는 아래와 같이 출력되어야 한다.
**<--------n------>** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
입력
80 이하의 자연수 n 이 주어진다.출력
불 필요한 공백을 출력해서는 안되고 , 짝/홀수 출력은 입출력 예를 참고 한다.입출력 예
입력 4 출력 ** ** * * * * * ** * * * * * ** 입력 3 출력 ** ** * * * * * * * * * * * *
출처:cjmp123
풀이
아.... 풀이라..... 그냥 거의 보고 그대로 적었는데 그나마
찾은 규칙을 적자면 첫 줄은 언제나 " **"+빈칸n개+"** "
둘째줄 부터 줄이 다음줄로 넘어갈 때
1.중앙의 빈칸은 -2개씩 개수가 줄어들고
2.앞의 빈칸은 1개씩 개수가 늘어나고
3.중앙 빈칸이 좁혀져 별이 없어 진 다음 3줄을 더 출력한다
뭐 이정도?
#include <stdio.h>
int main()
{
int i,j,n,k,t,t2;
scanf("%d",&n);
if(n%2==0) t=n/2;
else t=(n+1)/2;
printf(" **");
for(i=0;i<n;i++)
printf(" ");
printf("**\n");
for(i=0;i<t;i++)
{
for(j=0;j<i;j++)
printf(" ");
printf("* *");
for(k=0;k<n-2*(i+1);k++)
printf(" ");
if(i<t-1) printf("* *");
else if(n%2==0)
printf("* *");
else
printf(" *");
printf("\n");
}
t=i;
if(n%2==0) t2=4;
else t2=3;
for(j=0;j<3;j++)
{
for(i=0;i<t+j;i++)
printf(" ");
printf("*");
for(i=0;i<t2-j*2;i++)
printf(" ");
if(j<2)
printf("*");
if(j==2)
if(n%2==0)
printf("*");
printf("\n");
}
}
아.... 복사하고 나니까 완전 기네... 수정해야 되는데.... 나중에 꼭 해야ㅈㅣ
아 근데 이러면 또 까먹을거 같아
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 직접 선택법 (0) | 2011.05.11 |
---|---|
[C언어 기출문제&풀이] 3n+1 (0) | 2011.05.11 |
[C언어 기출문제&풀이] 45분 전 (0) | 2011.04.11 |
[C언어 기출문제&풀이] 약수의개수가 짝수 (0) | 2011.04.11 |
[C언어 기출문제&풀이] 부분 집합의 개수 (0) | 2011.04.11 |