일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 중위수식을 후위수식
- https://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together/219124#219124
- grid flex
- 중위수식
- 데크 구현
- rest graphql
- 스택 자료구조
- grid html
- 스택 유효성
- 풀스택?
- 장고 웹 만들기
- 루비 초보
- flex html
- 자료구조 데크
- 괄호 유효성
- 장고 하는법
- rest gql
- 스택 삽입
- 스택 중위수식
- 후위수식
- Django tutorial
- golang
- 스택 삭제
- 풀스택
- 스택 구현
- 괄호 짝 잘맞는지
- go
- 스택 괄호
- restapi graphql
- 스택 후위수식
- Today
- Total
donchanee
문자열에 대한 3문제 본문
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int vowel (char ch) {
char vowel[6] = "aeiou";
char *x;
for (x = vowel; x<vowel + 6; x++) {
if ( *x == ch )
return 1;
}
return 0;
}
int main() {
char str[101]="", Cword[101]="", Vword[101]="";
char *p1, *p2, *p3 = str, *q, *r1=Cword, *r2=Vword;
int Cmax =0, Ccnt =0;
int Vmax =0, Vcnt =0;
gets(str);
while (*p3) {
Ccnt =0;
Vcnt =0;
p1 = p3;
p2 = p3;
for(q=p3;(*q != ' ') && *q; q++) {
if (vowel(*q))
Vcnt++;
else
Ccnt++;
}
*q = '\0';
if (Cmax < Ccnt) {
Cmax = Ccnt;
r1 = Cword;
strcpy(r1, p1);
}
if(Vmax < Vcnt) {
Vmax = Vcnt;
r2 = Vword;
strcpy(r2, p2);
}
p3 = q+1;
}
printf("%s %d\n", Cword, Cmax);
printf("%s %d", Vword, Vmax);
return 0;
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char arr[100]="", *cal, *a, *b;
int ai=0, bi=0; // 변수 선언부.
gets(arr);
cal = strtok(arr, " "); // strtok 함수를 사용했다.
a = strtok(NULL, " ");
b = strtok(NULL, " ");
ai = atoi(a);
bi = atoi(b); // atoi 함수로 문자를 숫자로 변경
if(!strcmp("add", cal))
printf("%d", ai+bi); // 비교하여 add 문자일 경우 출력
else if(!strcmp("sub", cal))
printf("%d", ai-bi); // 비교하여 sub 문자일 경우 출력
else if(!strcmp("mul", cal))
printf("%d", ai*bi); // 비교하여 mul 문자일 경우 출력
else if (!strcmp("div", cal))
printf("%d", ai/bi); // 비교하여 div 문자일 경우 출력
return 0;
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void del (char *arr) { // 공백을 지우는 함수
char tmp[300]={'\0'}, *p; // 넉넉하게 선언합니다.
for(p=arr; *p; p++) {
if(*p == ' ' && *(p+1) != ' ') { // 공백을 발견할경우
strcpy(tmp, p+1); // 포인터 위치 +1 부터 복사하고
*p='\0'; // 포인터 위치를 널 문자로 만든뒤
strcat(arr, tmp); // 병합시킵니다.
}
else if (*p == ' ' && *(p+1) == ' ') { // 공백이 연속될경우
strcpy(tmp, p+1);
*p='\0';
strcat(arr, tmp); // 마찬가지이지만
p--; // 포인터 위치를 하나 줄여서 나머지 공백도 다시 지울수 있게합니다.
}
}
}
int main() {
char arr[100];
gets(arr);
del (arr); // 함수 선언부
printf("%s", arr); // 출력
return 0;
}
'프로그래밍 > C언어' 카테고리의 다른 글
동적할당에 대한 4문제 (0) | 2018.12.07 |
---|---|
구조체에 대한 5문제 (0) | 2018.12.07 |
포인터에 대한 4문제 (0) | 2018.10.02 |
배열 문제 #7. (0) | 2018.05.22 |
배열 문제 #6. (0) | 2018.05.20 |