C primer plus 第六版 第十一章 第十題 程式設計練習答案
Github地址:φ(>ω<*)這裡這裡。
/*
本次任務為編寫一個函式接受一個字串作為引數,並刪除字串中的空格。
在一個程式中測試該海曙,使用迴圈讀入輸入行,知道使用者輸入一行空行。
該程式應該應用該函式讀取每個輸入的字串,並顯示處理後的結果。
*/
#include<stdio.h>
#define o 100
void del(char * s1);
int main(void)
{
int i = 0;
char name[o] = {};
while(true)
{
printf("Please input(Empty line to quit): \n");
fgets(name, o, stdin);
if(name[0] == '\n')
{
break;
}
// 處理 fgets()的換行符。
i = 0;
while(name[i] != '\n')
{
i++;
}
if(name[i] == '\n')
{
name[i] = '\0';
}
del(name);
}
printf("Bye~\n");
getchar();
return 0;
}
void del(char * s1)
{
// 思路:這個刪除操作啊。。。我打算用迴圈,遍歷name陣列的值,然後用另外一個陣列儲存字串。
// 把純字元文字儲存完畢再遍歷一遍拷貝進去。
// 所以這個指向開頭的指標很重要。。。。
int i = 0;
char name2[o] = {};
char * star;
star = s1;
// 這是第一步,把純文字儲存進一個陣列。
while(*s1 != '\0')
{
// 這個拷貝就是把沒有空格字元的純字元文字拷貝到一個新的陣列。
if(*s1 == ' ')
{
s1++;
continue;
}
name2[i] = *s1;
s1++;
i++;
}
name2[i] = '\0'; // 別忘了末尾的空字元哦。。
// 這是第二步,重新給name陣列賦值。
i = 0;
s1 = star;
while(name2[i] != '\0')
{
*s1 = name2[i];
printf("\nHow about this s1 : %c. and i %d..\n", *s1, i);
s1++;
i++;
}
*(s1) = '\0';
/*
這樣重寫就相當於把純文字文件覆蓋原陣列了,然後再新增一個\0。
這樣就是兩個字串,一個是純文字文件+\0;另外一個是原陣列剩下的字元加+\0。
這麼說應該懂我的思路了吧。。雖然上面有寫。
*/
printf("\nThis is the result:\n");
while(*star != '\0')
{
printf("%c", *star);
star++;
}
putchar('\n');
return;
}
相關文章
- C primer plus 第六版 第十一章 第十四題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十五題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十二題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十三題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十一題題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第一題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第二題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第三題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第五題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第八題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第九題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十一題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十二題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十三題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十四題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第二題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第一題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第三題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第五題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第八題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第九題 程式設計練習答案程式設計
- C primer plus 第六版 第九章 第十題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十一題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十二題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十三題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十四題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十五題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十六題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十七題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第十八題 程式設計練習答案程式設計