티스토리 뷰

  • 탄화수소 질량
#include<stdio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
	//freopen("input.txt", "rt", stdin);
	char ch[10]; 
	int i, a, pos, res, cnum=0, hnum=0;
	scanf("%s", &ch);
	if(ch[1]=='H'){
		cnum = 1;
		pos = 1;
	} else {
		for(i=1; ch[i]!='H'; i++){
			cnum = cnum*10 + (ch[i]-48);
		}
		pos=i;		
	}
	if(ch[pos+1]=='\0'){
		hnum = 1;
	} else {
		for(i=pos+1; ch[i]!='\0'; i++){
			hnum = hnum*10 + (ch[i]-48);
		}
	}
	res = cnum*12+hnum;
	printf("%d", res);
	return 0;
}
  • 입력받은 문자열을 처리
    • 헷갈렸던 것
      • 문자열을 입력받고 바로 배열에 하나씩 받아와 지는지 궁금했음
        • java같은 경우 문자열을 입력 받는 경우에 바로 입력되지 않고 for문에서 charAt(i)을 이용해서 받아와야 했기 때문에 
        • c++은 다르게 char배열로 선언하고 바로 입력받으면 char로 초기화가 됨
      • char ch[10]로 선언한 후 scanf("%s", &ch);로 입력받으면 자동으로 ch배열에 입력한 문자가 하나씩 들어온다. 
        • 대신에 공백, 개행 무시
  • 아스키코드표를 통해 입력받은 문자를 숫자로 바꾸기
    • 헷갈린 것
      • 언제 아스키코드표를 통해 문자열 숫자로 바꿔야 하는지 
        • 숫자를 문자열로 받고나서 문자열로 인식된 숫자를 연산해야 할 때
        • 예를 들어 C2H4를 문자열로 받았다면
          • C,2,H,4 각각 하나씩의 문자로 인식됨 
          • 그렇기 때문에 2도 하나의 문자로 인식되며 따라서 연산을 할 수 없음 
          • 따라서 2를 숫자화 시켜줘야함
            • 어떻게? 
              • 부호인 2는 10진수로 하면 50이므로 숫자 2를 만들고자 한다면 50에서 48을 빼주어야 함

 

  • 선택정렬
#include<stdio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
	freopen("input.txt", "rt", stdin);	
	int n, i, j, tmp, idx;
	int a[101]; 
	scanf("%d", &n);
	
	for(i=0; i < n; i++){
		scanf("%d", &a[i]);
	}
	for(i=0; i < n-1; i++){
		idx = i;
		for(j=i+1; j < n; j++){
			if(a[i]>a[j]) {
				tmp = a[i];
				a[i] = a[j];
				a[j] = tmp;
			}
		}
	}
	
	for(i=0; i<n; i++){
		printf("%d ", a[i]);
	}
	return 0;
}

'algorithm' 카테고리의 다른 글

[c++] 삽입정렬, Special sort  (0) 2020.12.15
[c++] 3등의 성적은, 버블정렬  (0) 2020.12.14
[c++] 3의 개수구하기(large)  (0) 2020.12.11
[c++] N!의 표현법, N!에서 0의 개수  (0) 2020.12.10
[c++] 석차 구하기  (0) 2020.12.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함