1. 程式人生 > >練習1-9 編寫一個將輸入複製到輸出的程式,並將其中多個連續的空格用一個空格代替。

練習1-9 編寫一個將輸入複製到輸出的程式,並將其中多個連續的空格用一個空格代替。

/*
	時間:2017/8/2
	地點:工程北629
	功能:將輸入複製到輸出,多個空格合併成一個空格
	思想:將空格設定成標誌位,判斷是否在空格中,決定是否輸出
	說明:參考課本《The C Programming Language》以及相關答案。
*/

#include<stdio.h>

int main(void)   //方法一
{
  int c;
  int inspace;	 //設定inspace標誌位,檢查是否在空格里

  inspace = 0;

  while((c = getchar()) != EOF)
  {
    if(c == ' ')
    {
      if(inspace == 0)
      {
        inspace = 1;  //下一次繼續出現空格時,程式不輸出任何值
        putchar(c);
      }
    }

    if(c != ' ')    
    {
      inspace = 0;	  //若接收的c不是空格時,將inspace置為0
      putchar(c);
    }
  }

  return 0;
}

/*			
int main()    //方法二
{
        int c, pc; //c = character, pc = previous character 

      

        pc = EOF;

        while ((c = getchar()) != EOF) {
                if (c == ' ')
                        if (pc != ' ')   //or if (pc != c) 
                                putchar(c);

                if (c != ' ')
                        putchar(c);
                pc = c;
        }

        return 0;
}
*/

/*				
int main(void)    //方法三
{
	int c;
	while ((c = getchar()) != EOF) {
		 if (c == ' ') {
			putchar(c);
		 	while((c = getchar()) == ' ' && c != EOF)
				;
		}
		if (c == EOF)
			break; 
		putchar(c);
	}
	return 0;
}
*/

/*
	在Vc++6.0中的輸出結果是:
----------------------------
	nicosmos  nicosmos  nicosmos	//注:這裡輸入的是空格符
	nicosmos nicosmos nicosmos


	hello,world    hello,world		//注:這裡輸入的是空格符
	hello,world hello,world


	hello   hello   hello   hello	//注:這裡輸入的是製表符,製表符不會合並。
	hello   hello   hello   hello


	hello   hello   hello   hello	//注:這裡輸入的是空格符
	hello hello hello hello
	^Z
	Press any key to continue
----------------------------
	總結:嘗試執行程式,理解標誌位的作用。
*/


相關推薦

練習 1-9 編寫一個輸入複製輸出程式其中連續空格一個空格代替

C語言程式設計(第二版) 練習1-9 個人設計 練習 1-9 編寫一個將輸入複製到輸出的程式,並將其中連續的多個空格用一個空格代替。 程式碼塊: 方法1: #include <stdio.h&g

練習1-9 編寫一個輸入複製輸出程式其中連續空格一個空格代替

/* 時間:2017/8/2 地點:工程北629 功能:將輸入複製到輸出,多個空格合併成一個空格 思想:將空格設定成標誌位,判斷是否在空格中,決定是否輸出 說明:參考課本《The C Pro

十進位制轉化成2,8,16進位制數工具程式碼全部複製一個txt文件中儲存檔案字尾.txt改為.html再瀏覽器開啟即可

<!DOCTYPE html> <html lang="en"> <head> <meta charset="GBK"> <meta http-equiv="X-UA-Compatible" content="IE=ed

Java 尋找一個目下的所有“.Java”檔案他們的絕對路徑存到一個文字檔案中

import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOExce

輸入一串字元判斷其中英文字元和數字字元的個數——C語言實現(C語言練習

先看程式執行的結果,(文末有該程式的完整程式碼)   1、先寫好框架 #include<stdio.h> void main() { } 2、再定義所需要的變數 char str;//定義一個字元型變數 str int i=0,counte

Mysql 表結構匯入 Powerdesigner 註釋作為 name 列

步驟一: 安裝MYSQL的ODBC驅動 Connector/ODBC 5.1.10 下載地址: 選擇win-32 MIS安裝包,進行直接安裝就可以了。 步驟二: 配置OBDC驅動連線 步驟三:  開啟PowerDesigner : 1)檔案->新建

編寫一個Java應用程式戶在輸入對話方塊中輸入日期後(日期格式為YYYYMMDD如1999年1月12日應輸入為19990112)程式判斷兩日期的先後順序以及兩日期之間的間隔天數(例

編寫一個Java應用程式,當用戶在輸入對話方塊中輸入兩個日期後(日期格式為YYYYMMDD, 如1999年1月12日應輸入為19990112), 程式將判斷兩個日期的先後順序, 以及兩個日期之間的間隔天數(例如1999年1月1日和1999年1月2日之間的間隔是1天。  

練習 1-4 編寫一個程式列印攝氏溫度轉換為相應華氏溫度的轉換表

C語言程式設計(第二版) 練習1-4 個人設計 練習 1-4 編寫一個程式列印攝氏溫度轉換為相應華氏溫度的轉換表。 程式碼塊: #include <stdio.h> #include <stdlib.h> int main() { double c,

練習 1-8 編寫一個統計空格、製表符與換行符個數的程式

C語言程式設計(第二版) 練習1-8 個人設計 練習 1-8 編寫一個統計空格、製表符與換行符個數的程式。 程式碼塊: #include <stdio.h> #include <stdlib.h> int main() { int space=0,

練習 1-7 編寫一個列印EOF值的程式

C語言程式設計(第二版) 練習1-7 個人設計 練習 1-7 編寫一個列印EOF值的程式。 程式碼塊: #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", EOF);

習題 11.1 例11.1程式片斷補充和改寫成一個完整、正確的程式公用繼承方式程式中應包括輸入資料的函式程式執行時輸入numnamesexageaddr的值程式輸出以上

C++程式設計(第三版) 譚浩強 習題11.1 個人設計 習題 11.1 將例11.1的程式片斷補充和改寫成一個完整、正確的程式,用公用繼承方式。在程式中應包括輸入資料的函式,在程式執行時輸入num,n

程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列 //再a[i][i]累加後輸出

//【程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列, //再將a[i][i]累加後輸出。 public class TestAdd3App { /** * @param args

編寫一個129(順序不能變)數字之間插入+或-或什麼都不插入使得計算結果總是100的程式輸出所有的可能性

public class Test5{ public static void main(String[] args){ /* 編寫一個在1,2,…,9(順序不能變)數字之間插入+或-或什麼都不插入, 使得計算結果總是100的程式,並輸出所有的可能性。 例如:1 + 2 + 3

練習1-7 編寫一個列印列印EOF值的程式

/* 時間:2017/8/2 地點:工程北629 功能:列印EOF的值 思想:使用printf函式 注意EOF的輸入方式是: Ctrl + Z */ #includ

C語言程式設計習題1-17 編寫一個程式列印長度大於80字元的所有輸入

/*******Author: 時光伴歲月************************/ /*******Date: 20170905****************************/ #i

面試題 編寫一個程式e:\project\java目錄下的所有.java檔案複製到 e:\project\jad目錄下原來檔案的副檔名從.java改為.jad

public class Copy { public static void main(String[] args) throws IOException { String oldPath = "E:\\project\\java"; File file = n

C語言之練習1-9空格一個空格代替

【FROM 網際網路,僅供參考】 C程式設計語言課後題 練習1-9 編寫一個將輸入複製到輸出的程式,並將其中的多個空格用一個空格代替? /********************************************************************

編寫一個程序 d: java 目錄下的所有.java 文件復制到d: jad 目錄下 原來文件的擴展名從.java 改為.jad

clas targe 處理 ole AR 有意義 data stat exc 1.編寫一個程序,將 d: \ java 目錄下的所有.java 文件復制到d: \ jad 目錄下,並 將原來文件的擴展名從.java 改為.jad package copy; impo

【shell 練習1編寫Shell條件句練習

scrip 通過 AS ror one inpu BE pat shel 實例一、比較兩個整數大小 #!/bin/bash while true do read -p "Please input two int nums:" a b expr