欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中的多行輸入問題及說明

 更新時間:2023年02月05日 09:49:48   作者:安河橋畔  
這篇文章主要介紹了C語言中的多行輸入問題及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

??途W(wǎng)和LeetCode的競賽題中經(jīng)常會遇到多行輸入,以前不熟悉這種寫程序的方式,初次接觸時輸入值會有很多問題。

多行輸入有下面這些常用方法:

一、未明確具體輸入行數(shù)

沒有確定的輸入行數(shù)時,一般要采用Ctrl+Z結(jié)束輸入,系統(tǒng)會自動輸入這些,我們要做的是設(shè)置好循環(huán)條件即可。

具體是每次輸入都產(chǎn)生結(jié)果還是所有輸入完以后再輸出結(jié)果要看題目要求。

如:輸入多個字符串,保存在二維數(shù)組中,可以采用以下兩種方式:

1、~scanf方式

? ?char str[10][10];//定義二維數(shù)組,保存多個字符串
? ? int i = 0;
? ? while (~scanf("%s", str[i]))
? ? {
? ? ? ? i++;
? ? }

這里每次敲下回車會結(jié)束一次輸入,循環(huán)進行一輪。

scanf函數(shù)的返回值為正確輸入的值的個數(shù),如過沒有正確輸入,scanf返回值即為-1,對-1按位取反值為0,用于退出循環(huán)。

Windows平臺,用Ctrl+Z來表示輸入結(jié)束,有些編譯器需要連續(xù)按兩次或者三次Ctrl+Z,且每次都在行首。

2、EOF

End of file,文件結(jié)束符

char str[10][10];//定義二維數(shù)組,保存多個字符串
? ? int i = 0;
? ? while (scanf("%s", str[i])!=EOF)
? ? {
? ? ? ? i++;
? ? }

3、根據(jù)輸入元素的個數(shù)

char str[10][10];//定義二維數(shù)組,保存多個字符串
? ? int i = 0;
? ? while (scanf("%s", str[i])==1)//表示輸入一個元素時,循環(huán)進行
? ? {
? ? ? ? i++;
? ? }

這里的’1’代表的是要輸入的元素的個數(shù),如果輸入元素個數(shù)不為1則循環(huán)結(jié)束。

二、已知具體輸入行數(shù)

知道輸入行數(shù)時,循環(huán)條件設(shè)為具體行數(shù)即可

? char str1[10][10];//定義二維數(shù)組,保存多個字符串
? ? ? ? int num = 10;
? ? ? ? int i = 0;
? ? while (num--)
? ? {
? ? ? ? scanf("%s", &str1[i]);
? ? ? ? i++;
? ? }

ps:

上面的輸入都是針對字符串來說的,而對于整型或浮點型數(shù)據(jù)來說,除了"\n"即回車以外,空格隔開也會自動結(jié)束一個數(shù)據(jù)的輸入。

造成這種區(qū)別的根本原因就是字符類型中原本就會有空格符,不能作為輸入結(jié)束的標志,而整型和浮點型可以。

int N = 0;
?? ?scanf("%d", &N);
?? ?for (int i = 1; i <= N; i++)
?? ?{
?? ??? ?scanf("%d %d %d", &first[i], &second[i], &third[i]);
?? ??? ?printf("%d %d %d", first[i], second[i], third[i]);
?? ?}

輸入和輸出:

無論使用空格還是換行符隔開,都不影響最終的結(jié)果。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++十六進制宏的用法詳解

    C++十六進制宏的用法詳解

    C++十六進制宏的用法;本文將詳細介紹
    2012-11-11
  • C語言開源庫iniparser解析ini文件的方法

    C語言開源庫iniparser解析ini文件的方法

    INI(Initialization?File)文件是一種簡單直觀的數(shù)據(jù)存儲格式,常用于配置應(yīng)用程序的初始化設(shè)置,使用?iniparser?庫的應(yīng)用程序可以很方便地讀取和解析INI文件中的配置信息,大大簡化了對配置文件的處理工作,降低了程序的開發(fā)復(fù)雜度,感興趣的的朋友跟隨小編一起看看吧
    2024-04-04
  • C 語言編寫一個計算器界面(可視化界面和多功能)

    C 語言編寫一個計算器界面(可視化界面和多功能)

    今天給大家分享一個計算器功能,主要功能有加法減法乘除法求余功能,用戶可以在主菜單選擇需要計算的功能,接下來根據(jù)用戶輸入的數(shù)字進行計算輸出結(jié)果,喜歡的朋友拿去用吧
    2021-06-06
  • 詳解C/C++ 的*和&用法

    詳解C/C++ 的*和&用法

    這篇文章主要介紹了C/C++ 的*和&的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • VC創(chuàng)建DLL動態(tài)鏈接庫的方法

    VC創(chuàng)建DLL動態(tài)鏈接庫的方法

    這篇文章主要介紹了VC創(chuàng)建DLL動態(tài)鏈接庫的方法,實例分析VC創(chuàng)建動態(tài)鏈接庫的完整步驟,需要的朋友可以參考下
    2015-05-05
  • opencv+arduino實現(xiàn)物體點追蹤效果

    opencv+arduino實現(xiàn)物體點追蹤效果

    這篇文章主要為大家詳細介紹了opencv+arduino實現(xiàn)物體點追蹤效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C 語言restrict 關(guān)鍵字的使用淺談

    C 語言restrict 關(guān)鍵字的使用淺談

    C 語言restrict 關(guān)鍵字的使用淺談,需要的朋友可以參考一下
    2013-04-04
  • C語言算法積累分離數(shù)位示例

    C語言算法積累分離數(shù)位示例

    這篇文章主要為大家介紹了C語言算法積累分離數(shù)位的實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 示例詳解C++語言中的命名空間 (namespace)

    示例詳解C++語言中的命名空間 (namespace)

    C++名字空間是一種描述邏輯分組的機制,也就是說,如果有一些聲明按照某種準則在邏輯上屬于同一個模塊,就可以將它們放在同一個名字空間,以表明這個事實,這篇文章主要給大家介紹了關(guān)于C++語言中命名空間 (namespace)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Qt利用ffmpeg實現(xiàn)音視頻同步

    Qt利用ffmpeg實現(xiàn)音視頻同步

    這篇文章主要為大家詳細介紹了Qt如何利用ffmpeg實現(xiàn)音視頻同步的功能,文中的示例代碼講解詳細,對大家深入了解Qt有一定的幫助,需要的可以參考一下
    2023-01-01

最新評論