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.0048 sec