지나친 요구조건을 강요하는 문제입니다 (두개의 for문을 사용하여 작성할것.)
[15번]
#include <stdio.h>
int main() {
int i, j, n, x;
printf("n=");
scanf("%d", &n);
for(i=1;i<n+n;++i) {
for(j=0;j<n;++j)
if(j<n-i||j<i-n) printf(" ");
else printf("*");
printf("\n");
}
return 0;
}
[19번]
#include <stdio.h>
int main() {
int i, j, n, x;
printf("n=");
scanf("%d", &n);
for(i=1;i<n+n;++i) {
for(j=0;j<n+n+1;++j)
if(j<n-i+1||j<i-n+1||n+n+n<j+i+1||i+n<j+1) printf("*");
else printf(" ");
printf("\n");
}
return 0;
}
[18번]
#include <stdio.h>
int main() {
int i, j, n, x;
printf("n=");
scanf("%d", &n);
for(i=1;i<n+n;++i) {
for(j=0;j<n+i-1;++j)
if(j<n-i||j<i-n||n+n+n<j+i+2) printf(" ");
else printf("*");
printf("\n");
}
return 0;
}
[17번]
#include <stdio.h>
int main() {
int i, j, n, x;
printf("n=");
scanf("%d", &n);
for(i=0;i<n;++i) {
for(j=0;j<n+n-i-1;++j)
if(j<i) printf(" ");
else printf("*");
printf("\n");
}
return 0;
}
[16번]
#include <stdio.h>
int main() {
int i, j, n, x;
printf("n=");
scanf("%d", &n);
for(i=0;i<n;++i) {
for(j=0;j<n+i;++j)
if(j+1<n-i) printf(" ");
else printf("*");
printf("\n");
}
return 0;
}
[101]
#include <stdio.h>
int main() {
int i, j, n=5;
printf("정수: ");
scanf("%d", &n);
for(i=1-n;i<n;i+=1) {
for(j=-n;j<n+1;j+=1) {
(i-j)*(i+j)>=0 ? putchar(' ') : putchar('*');
}
printf("\n");
}
return 0;
}
[102]
#include <stdio.h>
int main() {
int i, j, n=5;
printf("정수: ");
scanf("%d", &n);
for(i=1-n;i<n;i+=1) {
for(j=1-n;j<n+1;j+=1) {
(i-j)*(i+j)>=0 ? putchar('*') : putchar(' ');
}
printf("\n");
}
return 0;
}
[103]
#include <stdio.h>
int main() {
int i, j, n;
int b, c=0;
while(1) {
printf("정수: ");
scanf("%d", &n);
if(n==0) break;
for(i=1-n;i<1+n;i+=1) {
b=i;
if(b<0) b=-b;
for(j=0;j<b;j+=1) {
printf(" ");
}
b=n-b;
for(j=1-b;j<b;j+=1) {
c=j;
if(c<0) c=-c;
printf("%d", 1+c);
}
printf("\n");
}
printf("\n\n");
}
return 0;
}
[12번]
#include<stdio.h>
int main() {
int i, j, n, x;
printf("정수: ");
// n은 최대 별의 갯수
scanf("%d", &n);
// 전체 줄수는 2*n-1줄이 된다.
// i값은 -4 -3 -2 -1 0 1 2 3 4 (n이 5일 경우)와 같이 변한다.
for(i=1-n;i<n;i+=1) {
// i값이 음수일 경우는 (n+i)/n의 값은 0이다.
// i값이 0또는 양수일 경우는 (n+i)/n의 값은 1이다.
x=(n+i)/n;
// i값이 음수일 경우에 x의 값은 -1이다.
// i값이 0또는 양수일 경우 x의 값은 1이다.
x=2*x-1;
// n-x*i의 값은 별의 갯수를 나타낸다.
for(j=0;j<(n-x*i);j+=1) {
printf("*");
}
printf("\n");
}
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
strtok source (0) | 2012.12.02 |
---|---|
연결리스트를 이용한 다항식의 구현 (0) | 2012.12.01 |
최대값, 최소값, 2번째 큰값, 2번째 작은값 (0) | 2012.11.19 |
큰 16진수의 덧셈 (0) | 2012.11.16 |
세원이 만나는 점 구하기 (0) | 2012.11.14 |