1:输入一个字符串,实现单词逆置
输入:"good good study"
输出:"study good good"
6 //单词逆置
7 // good good study
8 // study good good
9
10 //整体逆置
11 char str[50]="good good study";
12 int i=0;
13 int j=strlen(str)-1;
14
15 char temp=0;
16 while(i<j)
17 {
18 temp=str[i];str[i]=str[j];str[j]=temp;
19 i++;
20 j--;
21 }
22 printf("%s\n",str);
23
24 i=0;//重置i,j的位置 不能在循环内
25 j=0;
26 while(str[i]!='\0')//大循环
27 {
28
29 //第一个单词字母交换
30 while((str[j]!=' ')&&(str[j]!='\0'))
31 {
32 j++;
33 }
34 int k=j-1;
35 char temp2=0;
36 while(i<k)
37 {
38 temp2=str[i];str[i]=str[k];str[k]=temp2;
39 i++;
40 k--;
41 }
42 //printf("%s\n",str);
43
44 //j跨过空格 此时j在第一个单词后的首个空格
45 while(str[j]==' ')
46 {
47 j++;
48 }
49 i=j; //循环重复
50
51 }
52
53
54 printf("%s\n",str);
运行结果:
2:输入一个字符串,删除字符串中空格
57 char str[20]="";
58 printf("请输入字符串:");
59 gets(str);
60 //puts(str);
61 int i=0;
62 int j=0;
63 for(i=0;str[i]!='\0';i++)
64 {
65 if(str[i]!=' ')
66 {
67 str[j++]=str[i];
68 }
69 }
70 str[j]='\0';
71 printf("%s\n",str);
运行结果:
3.自行搜索char *strncpy(char *dest, const char *src, size_t n); 如何使用以及功能
dest
:目标字符串的指针,用于存储拷贝后的字符串。src
:源字符串的指针,要拷贝的字符串。n
:要拷贝的字符数。
函数的返回值是指向目标字符串 dest
的指针。
需要注意的是,如果源字符串 src
的长度小于 n
,则目标字符串 dest
将被填充到 n
个字符,直到遇到空字符 ‘\0’。如果源字符串 src
的长度大于等于 n
,则目标字符串 dest
不会以空字符 ‘\0’ 结尾。
4.自行搜索char *strncat(char *dest, const char *src, size_t n);如何使用以及功能
这个函数的参数解释如下:
dest
:目标字符串,即要将源字符串拼接到其末尾的字符串。src
:源字符串,即要拼接到目标字符串末尾的字符串。n
:要拼接的源字符串中的字符数。
需要注意的是,strncat
函数会将源字符串 src
中的字符拼接到目标字符串 dest
的末尾,如果源字符串 src
的长度大于 n
,则只会拼接前 n
个字符。而且,目标字符串 dest
必须有足够的空间来容纳拼接后的结果。
5..自行搜索int strncmp(const char *s1, const char *s2, size_t n);如何使用以及功能
该函数的参数包括:
s1:指向要比较的第一个字符串的指针。
s2:指向要比较的第二个字符串的指针。
n:要比较的字符数。
函数返回值为整型,表示两个字符串的比较结果。
函数功能
strncmp函数的功能是比较两个字符串的前n个字符是否相等,如果相等返回0,如果不相等返回非0的值。