100제 [기초 - 반복실행구조] 1071~1077
- 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.
while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.#include <stdio.h> int main() { int x; input: scanf("%d",&x); if(x!=0) { printf("%d\n",x); goto input; } return 0; }
사실 편하게 반복문돌리면 좋은데, 문제에 쓰지말고 goto로 풀어라 라고 나와있다.
goto input하면 scanf위 input:이라고 나와있는데로 돌아가는건데, 나는 배울때
나중에는 코드가 복잡하게 꼬이고, 컴파일과정에서도 오류가 날수있기도하고, 다른프로젝트인원들과도 소통이 어려워지니까 되도록이면 쓰지말라고 배웠다.
그래도 뭔지는 알고있어야하니까 이렇게 쓰는거다~ 라고만 알고있자.
- n개의 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다.
n개의 입력된 정수를 순서대로 출력해보자.
while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.#include <stdio.h> int main() { int x,y; scanf("%d",&x); input: scanf("%d",&y); printf("%d\n",y); x--; if(x!=0) goto input; return 0; }
- 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.#include <stdio.h> int main() { int x; while(1) { scanf("%d",&x); if(x==0) break; printf("%d\n",x); } return 0; }
그냥 맘편하게 while문을 쓰자.
- 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.
#include <stdio.h> int main() { int x; scanf("%d",&x); while(x!=0) printf("%d\n",x--); return 0; }
카운트다운은 0까지 이루어지기때문에
x가 0이될때까지 반복시켜주고 반복할때마다 -1씩 줄이면서 출력해주면 됨
- 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.
74번과 같은문제라 생략한다.
- 영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 출력해보자.
#include <stdio.h> int main() { char i,c; scanf("%c",&c); for(i='a';i<=c;i++) { printf("%c ",i); } return 0; }
문자 1개를 출력할때는 아스키코드값을 참고하면 된다.(C언어 문법 ASCII Code참고)
a는 아스키코드값 97, z는 122이다.
근데 굳이 아스키코드값을 몰라도 출력할수 있다. 'a', 'z' 이런식으로 작은따옴표안에 알파벳을 넣으면 아스키코드값이 된다.
- 정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자.
#include <stdio.h> int main() { int x,i=0; scanf("%d",&x); for(i=0;i<=x;i++) { printf("%d\n",i); } return 0; }
그리고 while문과 for문중에서 뭘 써야할지 모를떄는(개인적인 의견)
반복해야할 범위가 대충 정해져있을때는 for문을 주로쓴다
ex) 구구단, ~부터 ~까지 출력(비교적 작은범위내에), 입력한값만큼 반복할때(작은범위내에)등등..
그리고 반복해야할 범위가 꽤 많거나, 안정해져있을때는 주로while문을 쓴다.
ex) 0이 입력될때까지 반복, ~까지 출력(큰범위), ~가 참/거짓일때 까지
Author And Source
이 문제에 관하여(100제 [기초 - 반복실행구조] 1071~1077), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jychan99/CodeUp-C언어-기초-100제-기초-반복실행구조-10711077저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)