69,323
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
#define ROW 10 /* Max support 10 words*/
#define COL 32
#define MAX_STR 80
void swap_odd_even_str(char *odd_str, char *even_str);
int get_word_list(char (*pword)[COL], char *pstr, int len);
int main(void)
{
char str[MAX_STR];
char word_list[ROW][COL];
int i, len, num;
printf("Please input a string: ");
fgets(str, MAX_STR, stdin);
len = strlen(str);
str[len - 1] = 0;
num = get_word_list(word_list, str, len - 1);
for (i = 0; i <= num; i += 2)
swap_odd_even_str(word_list[i], word_list[i+1]);
for (i = 0; i <= num; i++)
puts(word_list[i]);
return 0;
}
int get_word_list(char (*pword)[COL], char *pstr, int len)
{
int i, j = 0, k = 0;
for (i = 0; i < len; i++) {
if (pstr[i] != ' ') {
pword[j][k++] = pstr[i];
} else {
pword[j][k] = 0; /* add '\0' */
j++;
k = 0;
}
}
pword[j][k] = 0; /* add '\0' for last word */
return j;
}
void swap_odd_even_str(char *odd_str, char *even_str)
{
char tmp[COL];
strcpy(tmp, odd_str);
strcpy(odd_str, even_str);
strcpy(even_str, tmp);
}
参考一下吧~
#include <stdio.h>
#define ROW 4
#define COL 80
int main(void)
{
char str_list[ROW][COL] = { "Lucy", "Lily", "Tom", "John" };
char *p_str_list[ROW];
int i;
char *p_temp;
for (i = 0; i < ROW; i++)
p_str_list[i] = str_list[i];
for (i = 1; i < ROW; i += 2)
{
p_temp = p_str_list[i];
p_str_list[i] = p_str_list[i - 1];
p_str_list[i - 1] = p_temp;
}
for (i = 0; i < ROW; i++)
puts(p_str_list[i]);
return 0;
}
#include <stdio.h>
#include <string.h>
#define ROW 4
#define COL 80
void swap_odd_even_str(char *odd_str, char *even_str);
int main(void)
{
char str_list[ROW][COL] = {"Lucy", "Lily", "Tom", "John"};
int i;
for (i = 0; i < ROW; i += 2)
swap_odd_even_str(str_list[i], str_list[i+1]);
for (i = 0; i < ROW; i++)
puts(str_list[i]);
return 0;
}
void swap_odd_even_str(char *odd_str, char *even_str)
{
char tmp[COL];
strcpy(tmp, odd_str);
strcpy(odd_str, even_str);
strcpy(even_str, tmp);
}
参考一下吧