解题思路:输入多行带空格的可以用gets,遇到空格便把后面一个元素赋给当前空格,判断连续多个空格可以用while。
注意事项:因为最后的字符串要加上'\0',所以循环变量定义在函数内而不是循环内。
参考代码:
#include<stdio.h> #include<string.h> int main() { char s[80]; while(gets(s)){ // 输入多行,用gets qu(s); puts(s); //输出多个 用puts } return 0; } int qu(char s[]) { int l=strlen(s); int i,j;//定义在函数内而不是for内 for(i=0;i<l;i++){ while(' '==s[i]) { //判断连续多个空格if失效,用while for(j=i;j<l-1;j++){ s[j]=s[j+1]; } s[j]='\0';//最后加上'\0' } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:717 |
C语言训练-大、小写问题 (C语言代码)浏览:2349 |
C语言训练-字符串正反连接 (C语言代码)浏览:618 |
九宫重排 (C++代码)浏览:1326 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1514 |
多输入输出练习1 (C语言代码)浏览:1176 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:749 |
程序员的表白 (C语言代码)浏览:654 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1090 |