목록SISS (2017-2018)/겨울방학 C언어 과제 (4)
알맹이방
출제자: 정*은 입력받은 숫자의 이진수 표현에서 1의 개수를 세는 코드를 짜기 정수의 이진법의 자리와 1을 AND로 묶어서 그 결과가 1이면 해당 자리의 값도 1인 점을 이용하여 해결 #include main(){ int num; //입력받는 수의 변수와 이진수를 가리킬 변수 int count=0; //1의 갯수를 셀 변수 printf("정수를 입력하시오 : "); scanf("%d", &num); //num변수는 입력받은 수를 가리킴 while(num!=0){ //입력받은 수가 0이 아닐 때 count+=(num&&1); //해당 자리의 수가 1과 AND 연산하여 1이 나온다면 count가 1 증가하고 0이 나온다면 count가 증가하지 않음 num= num>>1; //비트자리를 오른쪽으로 1씩 옮김 ..
[C언어 문제] 출제자 : 이*연 사용자에게 정수 2개를 입력받아 최대공약수를 찾는 함수 gcd를 작성하시오. *재귀호출과 반복문 두가지 방법으로 둘다 구현하기 #include int gcd(int num1,int num2){ //반복문 이용한 함수 int i,j; int result; if(num1
출제자:신*진 길이가 10인 배열을 만들고 그 배열에 10개의 정수를 입력 받는다. 이 때 입력받은 정수가 홀수면 배열의 앞부터 채워나가고 짝수면 배열의 맨 뒤에서부터 채워나가는 프로그램을 만들어라. #include int main(){ int arr[10], i, num[10], k=0; int lenarr = sizeof(arr)/sizeof(int); sizeof는 크기라서 저 int형 배열의 크기는 40이므로 우리가 얻고 싶은 10을 얻기 위해서는 int형의 단위인 4를 나눠줘야 한다. int lennum = sizeof(num)/sizeof(int); 위와 동일 int r= lenarr-1; printf("10개의 정수를 입력하세요.\n"); for(i=0; i