c语言怎么让字母倒序排列尼,如何倒序单词顺序输出 ? 我是没辙了
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
#include
#include
#include
#include
/* 測試(33個字符): you can cage a swallow can't you? */
int main(void)
{
char word, sentence[] = "you can cage a swallow can't you?";
int count = 0;
/*
while((word = getchar()) != '\n')
{
sentence[count] = word;
count++;
}
*/
/* 添加結束符 */
// sentence[count] = '\0';
/* 含結束符: 33位字符 */
int length = strlen(sentence);
count = length - 1;
/* 創建數組用于存儲反向輸出結果 */
char temp[length];
for(int i = 0; 0 <= count; i++, count--)
{
temp[i] = sentence[count];
printf("sentence的當前字符: %c temp當前字符: %c\n", sentence[count], temp[i]);
}
/* 添加結束符 */
temp[length] = '\0';
printf("temp 數組輸出: %s\n", temp);
char storage[length];
int i, j = 0, mark = 0, pre = 0;
for(i = 0; i < length; i++) // i用于遍歷temp數組
{
if(temp[i] == ' '|| temp[i] == '\0')
{
mark = i - 1; // make 記錄字母下標
// printf("三個標記的位置: %d %d %d\n", i, mark, prv);
for(; pre < mark; j++)
{
printf("循環后mark的位置: %d\n", mark);
storage[j] = temp[mark];
printf("temp數組當前字符: %c, storage數組當前字符: %c\n", temp[mark], storage[j]);
mark--;
}
pre = i; // 重置前置位置
storage[++j] = ' ';
}
}
// storage[j] = '\0';
printf("反轉結果: %s\n", storage);
}
/* strlen() 不包含結束符'\0' 但 sizeof() 包含結束符 '\0' */
總結
以上是生活随笔為你收集整理的c语言怎么让字母倒序排列尼,如何倒序单词顺序输出 ? 我是没辙了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux打开rtf文档,在linux下
- 下一篇: c语言函数 t啥意思,C语言函数大全(t