일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 괄호 짝 잘맞는지
- 스택 유효성
- 루비 초보
- 스택 괄호
- flex html
- 스택 삽입
- restapi graphql
- 스택 자료구조
- grid html
- Django tutorial
- 장고 웹 만들기
- 풀스택?
- 중위수식
- 스택 삭제
- 중위수식을 후위수식
- 괄호 유효성
- 자료구조 데크
- 스택 후위수식
- rest graphql
- rest gql
- 후위수식
- 장고 하는법
- 풀스택
- golang
- 데크 구현
- go
- 스택 구현
- 스택 중위수식
- https://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together/219124#219124
- grid flex
- Today
- Total
donchanee
포인터에 대한 4문제 본문
#include <stdio.h>
void maxmin(int *ar) { // maxmin 함수를 선언한다.
int max=0, min=*ar, *p;
for(p=ar;*p!=0;p++) { // 0이 아닐때까지 실행한다.
if(*p>max)
max = *p; // 최대값을 저장하는 부분.
if(*p<min)
min = *p; // 최소값을 저장하는 부분.
}
*ar = max;
*(ar+1) = min; // 최대값 최소값을 배열의 첫번째, 두번째 부분에 저장한다.
}
int main() {
int ar[100]={0}, i=0, *p;
scanf("%d", ar); // 첫 정수를 입력받는다.
while(*(ar+i)!=0) { // 0이 아닐때 까지 입력받는다.
i++; // i의 값을 1씩 늘려간다.
scanf("%d", ar+i);
}
maxmin ( ar ); // 선언한 함수를 사용.
for(p=ar; p<ar+2; p++){
printf("%d ", *p); // 배열의 첫번째 두번째 부분 출력하는 부분
}
return 0;
}
#include <stdio.h>
int main() {
char ar[100]={'0'}, *p;
int i=0; // 필요한 변수들을 선언.
scanf("%c", ar);
while(*(ar+i)!='*') { // * 가 아닐때까지 입력받는다.
i++; // i값을 1개씩 늘려가면서 주소를 바꾼다.
scanf("%c", ar+i);
}
for(p=(ar+i-1);p>=ar;p--){ // 거꾸로 출력하기위해 뒤에서부터 실행.
printf("%c", *p);
if(*p=='a' || *p=='e' || *p =='i' || *p =='o' || *p=='u') // 모음일경우 1개 더 출력하기위한 부분.
printf("%c", *p);
}
printf("*"); // 마지막에 *를 출력해준다.
return 0;
}
#include <stdio.h>
void input(char *p, int N) { // input 함수 선언.
char *ar;
for(ar=p;ar<=p+N;ar++) {
scanf("%c", ar); // 문자형 포인터로 주소를 이동시키며 입력받는 부분이다.
}
}
void upper(char *p, int N) { // upper 함수 선언.
char *ar;
for(ar=p;ar<=p+N;ar++) {
if(*ar >= 'A' && *ar <= 'Z') // 대문자에 속하면 출력한다.
printf("%c", *ar);
}
printf("\n"); // 개행
}
void lower(char *p, int N) { // lower 함수 선언.
char *ar;
for(ar=p;ar<=p+N;ar++) {
if(*ar >= 'a' && *ar <= 'z') // 소문자에 속하면 출력한다.
printf("%c", *ar);
}
printf("\n"); // 개행
}
int DOUBLE (char *p, int N) { // DOUBLE 함수 선언.
int tmp = 0;
char *ar; // 정수로 연결시켜 만들어줄 tmp변수가 필요하여 선언하였다.
for(ar=p;ar<=p+N;ar++) {
if(*ar >= '0' && *ar <= '9') { // 숫자에 해당하면
tmp = *ar -'0' + tmp*10; // tmp값에 10씩 곱하여 한개의 정수로 만듬.
}
}
return tmp*2; // 문제의 조건에 맞게 2배하여서 반환한다.
}
int main() {
int N;
char ar[20];
scanf("%d", &N);
input (ar, N);
upper (ar, N);
lower (ar, N); // 함수 사용.
printf("%d", DOUBLE(ar, N)); // 출력은 메인함수에서 한다는 조건에 맞춤.
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
int n=0, m=0, a[10], b[10];
int *p, *q, tmp;
scanf("%d", a);
while(*(a+n)) {
n++;
scanf("%d", a+n);
}
scanf("%d", b);
while(*(b+m)) {
m++;
scanf("%d", b+m);
}
for(p=a;p<a+n;p++) {
for(q=b;q<b+m;q++) {
if(*p < *q) {
tmp = *p;
*p = *q;
*q = tmp;
}
}
}
for(p=a;p<a+n-1;p++) {
for(q=p+1;q<a+n;q++) {
if(*p < *q) {
tmp = *p;
*p = *q;
*q = tmp;
}
}
}
for(p=b;p<b+m-1;p++) {
for(q=p+1;q<b+m;q++) {
if(*p > *q) {
tmp = *p;
*p = *q;
*q = tmp;
}
}
}
for (p=a; p<a+n; p++) {
printf("%d ", *p);
}
printf("\n");
for (p=b; p<b+m; p++) {
printf("%d ", *p);
}
return 0;
}
'프로그래밍 > C언어' 카테고리의 다른 글
구조체에 대한 5문제 (0) | 2018.12.07 |
---|---|
문자열에 대한 3문제 (0) | 2018.12.07 |
배열 문제 #7. (0) | 2018.05.22 |
배열 문제 #6. (0) | 2018.05.20 |
배열 문제 #5. (0) | 2018.05.19 |