2.編寫一個程序,從標準輸入讀取幾行輸入,每行輸入都要打印到標準輸出上,前面要加上行號。在編寫程序時要試圖讓程序能夠處理的輸入行的長度沒有限制。
int main() { int ch=0; int i = 1;//行號 int flag = 1; while ((ch = getchar()) != EOF)//EOF是標準輸入的結尾 { if (flag == 1)//注意比較是== { printf("<%d>", i); i++; flag++; } if (ch == '\n') flag = 1; putchar(ch); } system("pause"); return 0; }
3.編寫一個程序,從標準輸入讀取一些字符,並把它們寫到標準輸出上,它同時應該計算checksum
的值,並寫在字符的後面。
int main() { char ch = 0 ; signed char checksum = -1; printf("請輸入:\n"); while ((ch = getchar()) != EOF)//EOF是標準輸入的結尾 { putchar(ch); checksum+= ch; if (ch == '\n') { printf("%d\n", checksum); } } system("pause"); return 0; }
4.編寫一個程序,一行一行地讀取輸入行,直至到達文件尾。算出每行輸入行的長度,然後把
最長的那行打印出來,爲了簡單起見,你可以假定所有的輸入行均不超過1000個字符。
int main()//ctrl+z可以停止輸入,注意熟練使用gets()、puts()、getchar()、 { int i = 0; char max_str[MAX] = { 0 }; char str[MAX] = { 0 }; int len = 0; int maxlen = -1; while (gets(str)!=NULL) { len = strlen(str); if (len > maxlen) { maxlen = len; strcpy(max_str, str); } } if (maxlen >= 0) printf("%s", max_str); system("pause"); return 0; }