C언어/주차별 문제
[4주차] 100점짜리 인생
슈슈버거
2023. 4. 19. 22:55
문제
내가 작성한 코드
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int calc(char arr[]){
int i = 0;
int sum = 0;
while(arr[i]!=NULL){
sum += arr[i]-96;
i++;
}
return sum;
}
int Process(char arr1[], char arr2[] ){
int arr1num;
int arr2num;
arr1num = calc(arr1);
arr2num = calc(arr2);
if(arr1num>=arr2num){
return 0;
}
else{
return 1;
}
}
int main() {
char arr1[20];
char arr2[20];
scanf("%s", &arr1);
scanf("%s", &arr2);
int mode = Process(arr1, arr2);
if(mode == 0){
printf("%s\n", arr1);
}
else{
printf("%s\n", arr2);
}
return 0;
}
알파벳에 각각 숫자를 할당해주고 알파벳 한 글자씩 수로 변환해서 그 문자열의 총합을 구하는 문제다
char형 배열 2개 만든 다음에 각각 입력받고
calc 함수를 이용해서 문자열의 수 합을 구해주고
process 함수를 이용해서 두 문자열의 합을 비교한 다음에 무엇이 더 큰지를 나타내는 정수를 반환해줬다
그럼 main에서 그 수에 따라 첫번째나 두번째 문자열 값을 출력하게 해주었다.