쉽게 풀어 쓴 C언어 express 솔루션입니다.
1.
#include <stdio.h>
int main(void) {
char ch;
printf("문자를 입력하시오: ");
scanf("%c", &ch);
printf("아스키 코드값=%d\n", ch);
return 0;
}
2.
#include <string.h>
#include <stdio.h>
#define SIZE 100
void delete_space(char s[]) {
char tmp[SIZE];
int i, k=0;
for (i=0;i<(int)strlen(s);i++) {
if( s[i] != ' ' )
tmp[k++] = s[i];
}
tmp[k]=0;
strcpy(s, tmp);
}
int main(void) {
char str[SIZE];
printf("공백 문자가 있는 문자열을 입력하시오: ");
gets(str);
delete_space(str);
printf("%s", str);
return 0;
}
3.
#include <string.h>
#include <stdio.h>
#define SIZE 100
int str_chr(char *s, int c) {
int i;
int count=0;
for (i=0;i<strlen(s);i++) {
if( s[i] == c )
count++;
}
return count;
}
int main(void) {
char str[SIZE];
char ch;
printf("문자열을 입력하시오: ");
gets(str);
printf("개수를 셀 문자를 입력하시오: ");
ch = getchar();
printf("%c의 개수: %d", ch, str_chr(str, ch));
return 0;
}
4.
#include <string.h>
#include <stdio.h>
#define SIZE 100
int str_chr(char *s, int c) {
int i;
int count=0;
for (i=0;i<strlen(s);i++) {
if( s[i] == c )
count++;
}
return count;
}
int main(void) {
char str[SIZE];
char ch;
printf("문자열을 입력하시오: ");
gets(str);
for (ch='a';ch<='z';ch++) {
printf("%c: %d \n", ch, str_chr(str, ch));
}
return 0;
}
5.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void) {
char c;
while(1) {
printf("문자를 입력하시오: ");
c=getchar();
if( islower(c) )
putchar(toupper(c));
if( isupper(c) )
putchar(tolower(c));
if( !isalpha(c) )
printf("경고 ");
if( c=='.') break;
fflush(stdin);
// 줄바꿈 문자 제거
}
return 0;
}
6.
#include <string.h>
#include <stdio.h>
#define SIZE 100
void str_upper(char *s) {
int i;
int count=0;
for (i=0;i<strlen(s);i++) {
if( s[i] >='a' && s[i] <= 'z' )
s[i] = s[i]-'a'+'A';
}
}
int main(void) {
char str[SIZE];
printf("문자열을 입력하시오: ");
gets(str);
str_upper(str);
printf("변환된 문자열: %s\n", str);
return 0;
}
7.
#include <stdio.h>
#include <string.h>
int get_response(char *prompt) {
char response[100];
printf(prompt);
scanf("%s", response);
if( strcmp(response, "yes") == 0 ||
strcmp(response, "y") == 0 ||
strcmp(response, "YES") == 0 ||
strcmp(response, "Y") == 0 )
return 1; else return 0;
}
int main(void) {
int result;
result = get_response("게임을 하시겠습니까");
if( result == 1 )
printf("긍적적인 답변);
else
printf("부정적인 답변);
return 0;
}
8.
#include <string.h>
#include <stdio.h>
char s[] = "Man is immortal, because he has a soul";
char seps[] = " ,\t\n";
char *token;
int main( void ) {
int count=0;
token = strtok( s, seps );
while( token != NULL ) {
count++;
token = strtok( NULL, seps );
}
printf("단어의 수는 %d입니다.\n", count);
return 0;
}
9.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void) {
char s[200]= {
0
}
;
printf("텍스트를 입력하시오:");
gets(s);
if( !isupper(s[0]) )
s[0] = toupper(s[0]);
if( s[strlen(s)-1] != '.' ) {
s[strlen(s)] = '.';
s[strlen(s)+1] = NULL;
}
printf("결과 텍스트 출력:%s\n", s);
return 0;
}
10.
#include <stdio.h>
#include <string.h>
int main(void) {
char s[100];
int i, len;
printf("문자열 입력");
scanf("%s", s);
len = strlen(s);
for (i=0;i<len/2;i++)
if( s[i] != s[len-i-1] ) {
printf("회문이 아님");
}
printf("회문임");
return 0;
}
11. 포인터 배열도 이용하여야 한다.
#include <stdio.h>
#include <string.h>
int main(void) {
char s[100];
char *ptr[100];
int i=0;
int j;
puts("문자열을 입력하시오: ");
gets(s);
ptr[0]=strtok(s," ");
while(ptr[i] != NULL) {
ptr[i+1]=strtok(NULL," ");
i++;
}
for (j=i-1;j>=0;j--) {
printf("출력 문자열: %s ",ptr[j]);
}
return 0;
}
12.
#include <string.h>
#include <stdio.h>
#define SIZE 100
int main(void) {
char seps[] = ", ";
char s[SIZE];
char *token, *name, *fname;
int i;
printf("성과 이름을 대문자로 입력하시오: ");
gets(s);
token = strtok( s, seps );
// 문자열에서 첫번째 토큰을 얻는다. fname = token;
token = strtok( NULL, seps );
// 다음 토큰을 얻는다. name = token;
for (i=0;i<strlen(name);i++)
name[i] = tolower(name[i]);
for (i=0;i<strlen(fname);i++)
fname[i] = tolower(fname[i]);
printf("%s, %s\n", name, fname);
return 0;
}
13.
#include <string.h>
#include <stdio.h>
#define SIZE 100
int get_punc(char *s) {
int i;
int count=0;
for (i=0;i<strlen(s);i++) {
if( s[i] == ',' || s[i] == '.' )
count++;
}
return count;
}
int main(void) {
char str[SIZE];
printf("문자열을 입력하시오: ");
gets(str);
printf("구두점의 개수는 %d입니다.\n", get_punc(str));
return 0;
}
14.
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(void) {
char seps[] = " ";
char s[200], find[100], replace[100], target[200]="";
char *token;
printf("문자열을 입력하시오: ");
gets(s);
printf("찾을 문자열: ");
gets(find);
printf("바꿀 문자열: ");
gets(replace);
token = strtok( s, seps );
// 문자열에서 첫번째 토큰을 얻는다. while( token != NULL ) {
if( strcmp(token, find)==0 )
strcat(target, replace); else
strcat(target, token);
token = strtok( NULL, seps );
// 다음 토큰을 얻는다. strcat(target, " ");
}
printf("결과: %s", target);
return 0;
}
15.
#include <stdio.h>
#include <string.h>
int main(void) {
char s[100]= {
0
}
;
char op[100];
int x,y;
char *token;
printf("연산을 입력하시오:");
gets(s);
token = strtok( s, " " );
// 문자열에서 첫번째 토큰을 얻는다. strcpy(op, token);
token = strtok( NULL, " " );
// 다음 토큰을 얻는다. x =atoi(token);
token = strtok( NULL, " " );
// 다음 토큰을 얻는다. y =atoi(token);
if( strcmp(op, "add")==0 ) {
printf("연산의 결과: %d", x+y);
} else if( strcmp(op, "sub")==0 ) {
printf("연산의 결과: %d", x-y);
} else if( strcmp(op, "mul")==0 ) {
printf("연산의 결과: %d", x*y);
} else if( strcmp(op, "div")==0 ) {
printf("연산의 결과: %d", x/y);
} else {
}
return 0;
}
16.
#include <stdio.h>
#include <string.h>
int main(void) {
char s[100];
int size, i, k;
puts("광고하고 싶은 텍스트를 입력하시오: ");
gets(s);
size = strlen(s);
puts("======================");
for (k=0;k<size; k++) {
for (i=k;i<(k+size); i++) {
if( i < size)
putchar(s[i]); else {
putchar(s[i-size]);
}
}
putchar('\n');
}
return 0;
}
더 많은 쉽게 풀어 쓴 C언어EXPRESS 이론 솔루션
https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%9D%B4%EB%A1%A0
더 많은 쉽게 풀어 쓴 C언어EXPRESS 프로그래밍 솔루션 :
https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C
'솔루션모음 > 쉽게 풀어 쓴 C언어 Express 실습문제' 카테고리의 다른 글
[쉽게 풀어 쓴 C언어 Express] 14장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
---|---|
[쉽게 풀어 쓴 C언어 Express] 13장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 11장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 10장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 9장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
댓글