U E D R , A S I H C RSS

Love Calculator/허아영

소감

재미있다._
그리고 꼭 하고싶은 말이 있는데,,
사랑을 이름으로 이렇게 장난치면 안되요~ 왜냐하면 사랑은 마음속에 있는거거든요~
sample input 2번째와 3번째가 인상적이군.; --1002

제 소스에 알고리즘적 문제가 생겨 약간 수정합니다. (구지 안고쳐도 잘 돌아가지만, 꺼림칙 해서..)

코드

~cpp 
//LoveCalculator 

#include <stdio.h>
#include <string.h>

void get_names(char *first_person, char *second_person);
void calculator(char *first_person, char *second_person);
int sum_name(char name[25]);

void main()
{
	char first_person[30]; 
	char second_person[30]; 
	char ch;
	while((ch = getchar()) != EOF)
	{
		ungetc(ch, stdin);
		get_names(first_person, second_person);
		calculator(first_person, second_person);
	}
}

void get_names(char *first_person, char *second_person)
{
	gets(first_person);
	gets(second_person);
	if(strlen(first_person) > 25 || strlen(second_person) > 25)
	{
		get_names(first_person, second_person);
	}
}

void calculator(char *first_person, char *second_person)
{
	int first_person_sum, second_person_sum;
	float percentage;
	
	first_person_sum = sum_name(first_person);
	second_person_sum = sum_name(second_person);

	while(first_person_sum >= 10)
	{
		first_person_sum = (first_person_sum % 10) + (first_person_sum % 100) / 10 + (first_person_sum / 100);
		 // 수정한 부분..
	}
	while(second_person_sum >= 10)
	{
		second_person_sum = (second_person_sum % 10) + (second_person_sum % 100) / 10 + (first_person_sum / 100);
	}
	
	if(first_person_sum < second_person_sum)
	{
		percentage = (float)first_person_sum/second_person_sum;
	}else{
		percentage = (float)second_person_sum/first_person_sum;
	}
	percentage *= 100; 
	// result print
	printf("%.2f", percentage);
	printf(" %% \n");
}

int sum_name(char name[25])
{
	int sum = 0, i = 0;
	while(name[i] > 0)
	{
		if(name[i] >= 65 && name[i] <= 90)
		{
			sum = sum + name[i] - 64;
		}else if(name[i] >= 97 && name[i] <= 122)
		{
			sum = sum + name[i] - 96;
		}else{}
		++i;
	}
	return sum;
}

나한테 할 말

여전히 잘짜는Girl~ㅎ 근데 가운데 주석은 므렝~ 꼼꼼한 아영이 답지안게시링..ㅎ
다 만든김에 한번 써보지그래?ㅎ 아니 이미 써봤는데 결과가 않좋디??(위에 소감을 보고 하는말.ㅎ)
음..아무래도 한국인 지원이 안되는 계산기 인가 보이.ㅎ(좋은 점수가 안나오자났!!킁..ㅠ.ㅜ)
뭐..점수따위로 마음을 결정할 수 없는고야~ㅎ
음..그건 그렇고 변수를 사람1 사람2로 나눴는데.. 그걸 배열로 지정하면 같은 공식의 중복을 피할 수 있을듯..ㅎ
그럼 수고하세용~ㅎ 좋은하루되궁..ㅎ 문제 한글루 내구..ㅠ.ㅜㅎ - 조현태
충고 고마워. 문제 한글로 낼께 ㅋㅋ

tolower(해당문자를 소문자로 바꿔줌, 소문자면 그대로)함수 또는 toupper(대문자로)를 쓰고 알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 대소문자 따로 처리할 필요 없었고, 가독성 또한 좋아지지 않았을까? - 영호
- 좋은 방법이군요 . 잘 보면 함수가 있는 것들이 많네요.

크크 다들 toupper 이건 다 놓쳤구나... 'a' 이거랑... 나두 놓쳤지만 ㅠㅠ
이번에 아영이 함수 잘 나눈거 같다.
글고 아영이 소스 보면서 지금 느낀건데; 내 소스 버그 있는거같다; 이름에 공백 있으면 내꺼 제대로 안될거같은데 ㄱ-;;; 어흑 ㅠㅠ
그래서 gets쓰고 저런함수들 썼구나 ㅠㅠ - zyint
└ㅎㅎ 나두 getche 써서 했다가 띄어쓰기 없어도 될거 같아성 다시 scanf로 고친거였는데..ㅎㅎ 다시보니까 있어야 될듯도..
그래서 또고쳤...;;ㅁ;; 킁..ㅎ 그리구 아영이두 함수 나누는거 수준급이양..ㅎ - 조현태
감사^^;;
----
LittleAOI LoveCalculator
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:40
Processing time 0.0129 sec