Nefus 과제(2)
<1402>
Q. 두 수를 거꾸로 출력하기..
세 수를 거꾸로 출력하기...
이런 문제들은 쉽게 풀 수 있었다.
이번에는 데이터의 개수가 n개가 들어오고, n개의 데이터를 거꾸로 출력하는 프로그램을 작성하시오.
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> int main(){ int n; scanf("%d", &n);//데이터 개수 입력 int a[1000]; for (int i = 0; i < n; i++) scanf("%d", &a[i]);//n개만큼 입력받기 for (; n>0;n--) printf("%d ", a[n-1]);//반대로 출력 } | cs |
<1403>
Q. k개의 숫자를 입력받고 그 숫자들을 두번 출력하시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> int main() { int k, a[100]; scanf("%d", &k);//k입력 for (int i = 0; i < k; i++) scanf("%d", &a[i]);//k개의 숫자를 입력 for (int j = 0; j < k * 2; j++) { if (j < k) printf("%d\n", a[j]);//j가 k보다 작으면 원래값 출력 else printf("%d\n", a[j - k]);//j가 K보다 커지면 K를 뺀 원래값을 출력 } } | cs |
<1405>
Q. n개의 숫자가 입력되면, n개의 숫자를 왼쪽으로 하나씩 돌려서 출력하시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main() { int n, k; int a[1000]; scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &a[i]);//n개의 숫자입력 for (int j = 1; j <= n; j++) { k = a[1];//첫번째 배열의 값을 k에 넣기 for (int i = 1; i <= n; i++) { printf("%d ", a[i]);//배열 출력 a[i] = a[i + 1];//배열의 값을 왼쪽으로 하나씩 돌리기 } a[n] = k;//마지막 남은칸에는 첫번째 배열의 값을 넣었던 k를 넣음 printf("\n"); } } | cs |
<1409>
Q. 주현이는 5살이라서 아직 기억력이 좋지 않은 편이다. 주현이 엄마는 주현이의 기억력을 향상시키기 위해 매일 훈련을 시킨다.
어느 날, 주현이 엄마는 주현이에게 10개의 숫자를 차례대로 말한 다음 "k번째 숫자는 뭘까요?"하고 물어본다. 이번에는 주현이가 좋아하는 '또봇'이라는 로봇변신 자동차가 상품으로 걸려있다. 주현이가 '또봇'을 가질 수 있도록 프로그래밍하시오.
1 2 3 4 5 6 7 8 9 | #include <stdio.h> int main() { int a[10], k; for (int i = 0; i<10; i++) scanf("%d", &a[i]);//10개의 숫자 입력 scanf("%d", &k);//k입력 printf("%d", a[k - 1]);//배열은 0부터이므로 예를 들어 1번째 숫자라고 할경우 0번째 배열을 출력해야 하기때문에 n-1의 배열값 출력 } | cs |
<1440>
Q. n개의 숫자가 입력되면, 다음과 같이 크기를 비교한 후 양식에 맞춰 출력하시오.
예를 들어, 1 2 3 2 1 이라는 숫자가 입력되면,
첫 번째 1과 나머지 2, 3, 2, 1을 비교하면 1 < 2, 1 < 3, 1 < 2, 1 = 1 이므로 < < < = 를 출력한다.
두 번째 2와 나머지 1, 3, 2, 1을 비교하면 2 > 1, 2 < 3, 2 = 2, 2 > 1 이므로 > < = > 를 출력한다.
세 번째 3과 나머지 1, 2, 2, 1을 비교하면 3 > 1, 3 > 2, 3 > 2, 3 > 1 이므로 > > > > 를 출력한다.
같은 방법으로 네 번째는 > = < >, 다섯번째는 = < < < 를 출력한다.
이와 같은 방식의 대소 비교 결과를 출력하시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> int main() { int n; int a[10000] = {0,}; scanf("%d", &n);//n for (int i = 0; i < n; ++i) scanf("%d", &a[i]);//n개의 수 입력 for (int i = 0; i < n; ++i) { printf("%d:", i+1); for (int j = 0; j < n; ++j) { if (i == j) continue;//a[i]=a[j]이면 밑 문장들을 실행하지 않는다 if (a[i] < a[j]) printf("< "); else if (a[i] == a[j]) printf("= "); else if (a[i] > a[j]) printf("> "); } printf("\n"); } } | cs |