c語言返回一維數組
㈠ c語言如何實現一個一維數組的輸入輸出
C語言程序如下:
#include <stdio.h>
void fun(int a[],int n,int *k)
{
int i,maxxr,j;
maxxr=a[0];
for(i=0;i<n;i++)
{
if(maxxr<a[i])
{
maxxr=a[i];
}
}
for(i=0;i<n;i++)
{
if(maxxr==a[i]){
j=i;
break;
}
}
*k=j;
}
int main(void)
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
printf("%d,%d", k, a[k]);
}
(1)c語言返回一維數組擴展閱讀:
思路:
1、先定義數組(其數組長度取最大值,題目要求為10),然後通過for循環給數組一個個賦值,即可得到一個數組;
2、找數組的最大值,這一步是最關鍵的一步,由於所輸入的值不確定那個是最大值,故可以先設置另一個一個變數(index)來存儲最大值變數的下標。
3、緊接著繼續在數組里for循環,逐一跟下標為index的值相比較,如果比下標為index的值大,這時候就將兩者中數值大的下標賦值給index。
4、按要求輸出。
㈡ C語言讀取文件如何返回一個數組
c語言沒有直接讀取返回數組的函數。
看你問題里文件內容格式是:一行一個字元串回車換行。
那麼,用fgets一次讀一行,你寫循環調用這個fgets函數把讀取的值放在數組里。
至於你說的數組長度寬度不定,在c里需用malloc動態申請內存。
方法1:用fseek和ftell獲取整個文件位元組數,然後用malloc申請一個整個文件大小的內存地址(二維數組在內存中就是一維)。然後在循環中每次讀取一行到這個地址並計算一行長度,利用指針移得到每行首地址,最後所有行指針組成二維數組(行數也是動態申請)
方法2:你定義一個比較大的字元數組,作為零時存儲變數,每次循環中讀取一行到這個數組,再用strlen計算字元串長度,再用malloc按照這個長度申請一組地址(一行),並利用strcpy轉移內容,最後組成二維數組。
方法3:直接用malloc申請很大的二維數組,循環讀取獲取內容後,strlen獲取每行實際內容的長度。最後用realloc根據實際寬度和行數修改數組大小。
㈢ c語言,用printf輸出一維數組的語句是什麼
c語言,用printf輸出一維數組的語句是printf ("%s", a),具體輸出一維數組的操作步驟如下:
1、首先我們打開Visual Studio 2010軟體,新建一個項目。