c primer 플러스 문제 풀이 (4)
16016 단어 Prim
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<ctype.h>
4 #include<string.h>
5 void deliver(char *a1, char *a2, int n);
6
7 int main(void)
8 {
9 int n;
10 char str1[81], *ptr, ar[81];
11 ptr=gets(str1);
12 n=strlen(ptr);
13 deliver(ar, ptr, n);
14 puts(ar);
15
16 system("pause");
17 return 0;
18 }
19
20 void deliver(char *a1, char *a2, int n)
21 {
22 int i;
23 for(i=0; i<n; i++){
24 *(a1+i)=*(a2+i);
25 if(isspace(*(a1+i)))
26 break;
27 }
28 if(i==n)
29 *(a1+i)='\0';
30 else
31 *(a1+i+1)='\0';
32 }
p320.5
1 #include<stdio.h>
2 #include<stdlib.h>
3 int is_within(char *ar, char ch);
4
5 int main(void)
6 {
7 char ar[81], ch;
8 do
9 {
10 puts("input a range string:");
11 gets(ar);
12 puts("input match char(enter q to quit):");
13 ch=getchar();
14 getchar();
15 if(is_within(ar, ch)) puts("match");
16 else puts("can't find");
17
18 }while(ch!='q');
19
20 system("pause");
21 return 0;
22 }
23
24 int is_within(char *ar, char ch)
25 {
26 while(*ar!='\0')
27 if(*ar==ch)
28 return 1;
29 else
30 ar++;
31 return 0;
32 }
p320.6
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 char *strncpy(char *s1, char *s2, int n);
5
6 int main(void)
7 {
8 char s1[81], s2[81];
9 int n;
10 puts("please input a range string for s2:");
11 gets(s2);
12 puts("please input a range string for s1:");
13 gets(s1);
14 puts("please input a number of copies:");
15 scanf("%d", &n);
16 getchar();
17
18 strncpy(s1, s2, n);
19 puts(s1);
20
21 system("pause");
22 return 0;
23 }
24
25 char *strncpy(char *s1, char *s2, int n)
26 {
27 int i;
28
29 if(n<=strlen(s2)){
30 for(i=0; i<n; i++)
31 *(s1+i)=*(s2+i);
32 *(s1+i)='\0';
33 }
34
35 else if(n>strlen(s2)){
36 for(i=0; i<strlen(s2); i++)
37 *(s1+i)=*(s2+i);
38 while(i<n){
39 *(s1+i)='\0';
40 i++;
41 }
42 }
43 return s1;
44 }
답 을 참고 하여 준 strncpy () 의 정 의 는 다음 과 같다.
1 char *mystrncpy(char *p1, char *p2, int n)
2 {
3 char *p=p1;
4 while(*p1++ != '\0') continue;
5 *--p1 = *p2;
6 n--;
7 while(n>0 && *p2 != '\0') {
8 *++p1 = *++p2;
9 n--;
10 }
11 return p;
12 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HDU 1863 prim 최소 스패닝 트리HDU 1863 HDU 1233 HDU 1102 이 prim 함수를 쓸 줄 알아, 기본적으로 문제없어! 코드 붙여넣기:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.