プロが教えるわが家の防犯対策術!

C言語で、
printf()とwhile文を一回だけ使って実行結果が
1
2
3
4
5
6
7
8
9
8
7
6
5
4
3
2
1
2
3
4
5
6
7
8
6
5
4
3
2
3
4
5
6
7
6
5
4
3
4
5
6
5
4
5
となるような1→9→1→2→8→2→→7→3→4→6→4→5となるようにプログラムを教えてほしいです!

A 回答 (2件)

#include <stdio.h>


#include <stdlib.h>
#include <stdbool.h>

int main(void) {
 int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
 bool flag = true;
 int start = -1, end = 8;
 int i = start + 1;
 while(true) {
  if (start > end) {
   return EXIT_SUCCESS;
  } else if (i > end) {
   flag = !flag;
   end--;
   i = end;
  } else if (i == start) {
   flag = !flag;
   start++;
   i = start + 1;
  } else {
   printf("%d\n", array[i]);
   flag ? i++ : i--;
  }
 }
}
    • good
    • 0

#include <stdio.h>



int main()
{
const char msg[] = "1234...";
const char *p = msg;
while (*p) printf("%c\n", *p++);
}
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!