반응형

사용자에게 영어 이름을 성과 이름으로 나누어서 대문자로 입력하도록 하여서 성과 이름의 위치를 바꾸고 소문자로 변환하여 출력하는 프로그램을 작성하라.

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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void token1(char seps[], char *token);
#define SIZE 80
int main(void)
{
char a[SIZE]="";
char seps[]=" ";
char *family, *token;
int i;
printf("문자열을 입력하시오: ");
gets(a);
for(i=0;a[i]!=NULL;i++)
    a[i]=tolower(a[i]);
token=strtok(a,seps);
family=token;
token1(seps,token);
printf(", %s", family);
return 0;
}
void token1(char seps[], char *token)
{
    token=strtok(NULL,seps);
    if(token!=NULL)
    {printf("%s ", token);
    token1(seps,token);
    }
}
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

문자열로 연산하기  (0) 2016.08.22
구두점 개수 세기  (0) 2016.08.21
문자열 역순 출력  (0) 2016.08.21
회문(palindrome)  (0) 2016.08.20
문장 교정  (0) 2016.08.20
반응형

회문(palindrome)이란 바로 읽거나 거꾸로 읽어도 같은 글이 되는 문구이다. 예를 들면 "Able was I ere I saw Elba"와 같은 문자열이 회문이다. 사용자로부터 문자열을 받아서 회문 여부를 판별하여 그 결과를 화면에 출력하는 프로그램을 작성하여 보라. strlen()와 같은 라이브러리 함수는 사용해도 좋다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define SIZE 80
int main(void)
{
    char a[SIZE]="";
    int i, check;
    check=1;
    printf("문자열을 입력하세요: ");
    gets(a);
    for(i=0;a[i]!=NULL;i++)
        a[i]=tolower(a[i]);
    for(i=0;i<=strlen(a)/2;i++)
        {if(a[i]!=a[strlen(a)-i-1])
    {check=0;break;}}
    if(check==0)
        printf("회문이 아닙니다.\n");
    else if(check==1)
        printf("회문입니다.\n");
    return 0;
}
cs





반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

영어 이름 입력  (0) 2016.08.21
문자열 역순 출력  (0) 2016.08.21
문장 교정  (0) 2016.08.20
단어 수 계산  (0) 2016.08.20
질문에 대한 답변  (0) 2016.08.20

+ Recent posts