1번이 문자열 입력해서 끝이 y면 y떼고 es 붙이고 s, ch, sh로 끝나면 es를 더하고 다른건 그냥 s붙여서 복수형으로 출력되게하는거 ㅠㅠ
#include <stdio.h>
#include <string.h>
#define MAX_LEN 50
#define SENTINEL \"exit\"
char *pluralize(char plural[ ], const char noun[ ]);
int main()
{
char noun[MAX_LEN], plural[MAX_LEN];
printf(\"\\n단수 명사 입력 (<%s> to quit) : \", SENTINEL);
for ( scanf(\"%s\", noun); strcmp(noun,SENTINEL) != 0;
scanf(\"%s\", noun) )
{
pluralize(plural, noun);
printf(\"%-20s%-20s\\n\", \"단수형\", \"복수형\");
printf(\"%-20s%-20s\\n\", noun, plural);
printf(\"\\n단수 명사 입력 (<%s> to quit) : \", SENTINEL);
}
return 0;
}
char *pluralize(char plural[], const char noun[])
{
//여기가 문제
}
2번은
getchar를 이용하여 사용자가 EOF(ctrl+d)를 입력할 때까지 문자를
입력 받고 각 문자들이 어디에 속하는지 출력하는 프로그램을 짠다.
특히 알파벳의 경우 그것이 모음(vowel)인지 자음(consonant)인지도
출력한다. ctype.h에 정의되어 있는 int isalpha(int ch), int isdigit(int
ch), int ispunct(int ch), int isspace(int ch), int islower(int ch), int
toupper(int ch)를 사용한다.
<함수>
- int is_vowel(int ch)
ch가 모음이면 1 아니면 0을 반환하는 함수 (모음 : a, e, i, o, u)
ch가 소문자인지 조사하여(islower) 소문자이면 대문자로 바꿔준 뒤
(toupper) switch문을 사용하여 검사한다.
- int is_consonant(int ch)
ch가 자음이면 1 아니면 0을 반환하는 함수
ch가 소문자인지 조사하여(islower) 소문자이면 대문자로 바꿔준 뒤
(toupper) switch문을 사용하여 검사한다. • 설계
<알고리즘>
① 사용자로부터 입력 받은 한 줄의 각 문자들을 분석하여 알파벳
(alphabet), 숫자(digit), 기호(punctuation), 빈칸(space), 탭(tab),
새줄(newline)에 해당하는 메시지를 출력한다.
② 알파벳일 경우 자음인지 모음인지 알아내어 그 결과도 출력한다. • 테스트
☞ 실행
문자들을 입력하시오 : d 5 ,{a.*Hy)i0(엔터치고 ctrl+d 누르고)
<d>는 알파벳이고 자음입니다!
< >는 공백입니다!
<5>는 숫자입니다!
< >는 탭입니다!
<.>는 기호입니다!
<{>는 기호입니다!
<a>는 알파벳이고 모음입니다!
<*>는 기호입니다!
<H>는 알파벳이고 자음입니다!
<y>는 알파벳이고 자음입니다!
<)>는 기호입니다!
<i>는 알파벳이고 모음입니다!
<0>는 숫자입니다!
<
>는 새줄입니다!
이거고
3번은
#include <stdio.h>
#include <string.h>
int str_to_int(const char *str);
double str_to_double(const char *str);
char* int_to_str(char *str, int num);
char* double_to_str(char *str, double num);
int main()
{
int num_int;
double num_double;
char str[100], result[100], *temp;
printf(\"\\n정수 입력 : \");
scanf(\"%s\", str);
num_int = str_to_int(str);
temp = int_to_str(result, num_int);
printf(\"정수 문자열 : %s\\n\", str);
printf(\"변환된 정수 : %d\\n\", num_int);
printf(\"변환된 문자열 : %s\\n\", result);
printf(\"반환된 문자열 : %s\\n\", temp);
printf(\"\\n실수 입력 : \");
scanf(\"%s\", str);
num_double = str_to_double(str);
temp = double_to_str(result, num_double);
printf(\"실수 문자열 : %s\\n\", str);
printf(\"변환된 실수 : %lf\\n\", num_double);
printf(\"변환된 문자열 : %s\\n\", result);
printf(\"반환된 문자열 : %s\\n\", temp);
return 0;
}
여기서
① 사용자로부터 정수 하나를 문자열 형태로 입력 받는다.
② sscanf를 사용하여 정수로 변환한 후 출력해 준다.
③ sprintf를 사용하여 다시 문자열로 변환한 후 출력해 준다.
④ 사용자로부터 실수 하나를 문자열 형태로 입력 받는다.
⑤ sscanf를 사용하여 실수로 변환한 후 출력해 준다.
⑥ sprintf를 사용하여 다시 문자열로 변환한 후 출력해 준다.
이렇게해서
정수 입력 : -25
정수 문자열 : -25
변환된 정수 : -25
변환된 문자열 : -25
반환된 문자열 : -25
실수 입력 : 851.69
실수 문자열 : 851.69
변환된 실수 : 851.690000
변환된 문자열 : 851.690000
반환된 문자열 : 851.690000
이런식으로 출력되야돼 ㅠㅠ
돈주면 해드림
ㅋㅋㅋㅋ어차피 제 실력키우려고 하는거라 어떻게든 해볼라그랬는데 도저히 안되서 물어본건데 ㅋㅋㅋ 8만원은 뭐에요 ㅋㅋ
어떻게 해볼라 그랬으면 안물어봤겠져.
기간이 오늘까진데 나 주말알바해서 시간이없어서 어쩔수없이 물어본거에요 미안해요 ㅋㅋ
나 내일 고기 먹는다~~~~~~ 부럽지~~~
8만원 주면 해준다.