檔案排版1(C語言)

2021-10-01 06:20:33 字數 1672 閱讀 8247

英文電影中參演人員名單一般以某種方式進行排版顯示。給定乙個未排版的檔案listin.txt,該檔案中每行參演人員名單由冒號「:」分隔成前後兩部分,但格式雜亂無章,單詞(由除空格和水平製表符之外的其它字元構成)之間可能有多個空格或水平製表符分隔。編寫程式,要求將其按如下排版規則排版輸出到另乙個檔案listout.txt中:

1.從標準輸入讀取一整數,作為排版後所有各行冒號「:」在一行中的固定位置;假設輸入的整數肯定大於排版後所有各行冒號「:」前的字元個數,位置從1開始計數;

2.冒號「:」左邊的單詞串以行頭為基準左對齊,左邊的最後乙個單詞與冒號之間以空格填充;冒號「:」右邊的單詞串以冒號「:」為基準左對齊,最後乙個單詞後只有回車換行符,不再有其它字元;

3.冒號「:」左右兩邊的單詞間都只有乙個空格分隔,並且要求冒號兩邊至少各有乙個空格。

假設輸入檔案中每行字元個數不超過100。

待排版的參演人員名單從當前目錄下的listin.txt檔案中讀入;表示冒號「:」位置的整數從標準輸入讀入。

排版後的參演人員名單輸出到當前目錄下的listout.txt中。

假設檔案listin.txt內容為:

digital intermediate by : efilm

supervising digital colorist : steven j. scott

second colorist :andrew francis

digital intermediate producer:loan phan

digital intermediate editor: devon miller

表示冒號固定位置的整數為:

檔案listout.txt中的內容應為:

輸入的檔案listin.txt中有五行參演人員名單,要求排版後冒號「:」位於第40個字元的位置,按照上述排版規則輸出到檔案listout.txt中

#include

#include

#include

intmain()

scanf

("%d"

,&num)

;//冒號位置

for(x=

1;x(c,num,g,x)

;//輸出

fclose

(f);

fclose

(g);

return0;

}voidpr(

char c[

100]

,int num,file *g,

int x)

while

((c[x]

[i]==

'\t'

||c[x]

[i]==

' ')

&&(c[x]

[i+1]==

'\t'

||c[x]

[i+1]==

' ')

)//去掉兩個單詞之間多餘空格和水平製表符

i++;if

(c[x]

[i]==

'\t'

)fprintf

(g,"%c"

,c[x]

[i])

; count++;}

}

筆記1 C語言概述

1.c語言起源 c語言是由unix的研製者丹尼斯 里奇和肯 湯普遜於1970年研製出的b語言的基礎上發展完善起來的。19世紀70年代初期,貝爾實驗室的丹尼斯 里奇第一次將b語言改為c語言。2.c語言特點 c語言是一種面向過程的語言,同時具有高階語言和組合語言的優點。由於具有良好的移植性,稍加修改或不...

C基礎1 C語言環境

c語言簡介 c語言是一種通用的,面向過程式的計算機程式語言。1972年,為了移植與開發unix作業系統,丹尼斯 里奇在貝爾 實驗室設計開發了c語言。當前最新使用的c語言標準為c11,在他之前的c語言標準為c99。include int main 這個應該是最基礎最標準的寫法了,在vc編譯器中第乙個 ...

1 C 語言發展史

本部分簡單介紹從c 1到c 5各個版本的語言新特性,1.簡單的資料型別 我們先使用c 1編寫乙個product類,如下圖所示 c 2 中的強型別集合 泛型 c 3 自動實現屬性和簡化初始化 c 4 命名引數 以上就是product類從c 1到c 4的演變歷程總結如下 2.排序和過濾 下面我們將使用按...