C語言問題C:輸出一個整數的逆數?
如果這是《數據解構》課程的作業,你可能需要寫一份報告。根據課程進度,需要用數組和鏈表來實現。
數組是最簡單的,但是浪費了一點空間。比如最多允許輸入N個數字,所以需要定義一個int[N]的數組。順序輸入和反向輸出都是由for和while語句實現的。
#includestdio.h
#定義N100
main(){
inta[N],I,N,x;
Printf(輸入幾個整數,空格分割,0結束。
);
n0;
for(i0;在;i){scanf(d,x);if(x){a[I]x;n;}
C如何輸出數組?
c語言數組輸出的所有步驟如下:
1.首先打開C語言項目,然后創建一個int類型的數組。
2.然后指定數組的大小,再設置數組存儲數據。
3.然后在mian函數中,創建int類型的變量I,然后使用for語句。
4.然后在for語句中循環,然后在for語句中使用printf語句。
5.然后設置輸出類型,再編寫輸出對象。
6.然后單擊“運行程序”查看數組的所有數據。
c語言如何輸入數組?
在C語言中,有兩個函數允許用戶從鍵盤輸入數組數據。它們是gets()和scanf()。Scanf()是通過格式控制器%s輸入的數組字符串。除了字符串,還可以輸入其他類型的數據。Gets()是直接輸入數組字符串,只能輸入字符串。
但是,scanf()和gets()是有區別的。
Scanf()讀取由空格分隔的字符串。當它遇到空格時,就認為當前字符串結束了,所以無法讀取包含空格的字符串。
Gets()認為空格也是字符串的一部分,只有當遇到Enter鍵時,字符串輸入才結束。所以不管輸入多少個空格,只要不按回車鍵,就是gets()的完整字符串。換句話說,gets()用于讀取一整行字符串。
例如:
一個
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
#包含ltstdio.hgt
intmain(){
charstr1[30]{0}
charstr2[30]{0}
charstr3[30]{0}
//獲取()用法
printf(#34輸入tastring:#34)
獲取(str1)
//scanf()用法
printf(#34輸入一個string:#34)
掃描f(#34%s#34,str2)
掃描f(#34%s#34,str3)
//單獨輸出
printf(#34
str1:%s
#34,str1)
printf(#34str2:%s
#34,str2)
printf(#34str3:%s
第34位,str3)
返回0
}
運行結果:
一個
2
三
四
五
輸入一個string:CCJavaPython
輸入一個string:PHPJavascript
str1:CCJavaPython
str2:PHP
str3:Javascript
第一個輸入字符串由gets()讀取并存儲在str1中。第二個輸入字符串的前半部分由第一個scanf()讀取并存儲在str2中,后半部分由第二個scanf()讀取并存儲在str3中。
注意,scanf()讀取數據時,需要數據的地址,地址是常數,所以對于int、char、float等類型的變量,要在前面加amp來獲取它們的地址。但是在這段代碼中,我們只給出了字符串的名稱,但是我們沒有不要在它前面加amp。為什么?因為字符串名或者數組名在使用過程中通常會轉換成地址,所以加amp是多余的,甚至會導致錯誤。
就目前所學的知識來看,int,char,float等變量。在scanf()中使用時應該在前面加amp,而在scanf()中使用數組或字符串時不加amp,它們自己會轉換成地址。讀者必須記住這一點。
至于數組名(字符串名)和地址的轉換細節,以及數組名什么時候會轉換成地址。
以上是C語言數組的輸入方法。詳細的
