當前位置:首頁 » 編程語言 » c語言自定義數組函數

c語言自定義數組函數

發布時間: 2023-02-18 03:08:18

1. c語言中自定義的函數中有數組,應該如何運用該函數

方法有2將該數組定義為全局變數,即:intg_arr;voidfun(){...}voidmain(){...}2.將該數組作為函數參數傳遞到自定義函數里,即:voidfun(intarr[]){...}voidmain(){intarr[10];fun(arr);}

2. c語言 自定義函數 一維數組

#include "stdio.h"
#define N 30
void votes(int a[])
{
int i;
int n1=0,n2=0,n3=0;
for(i=0;i<N;i++)
{
switch(a[i])
{
case 1:
n1++;
break;
case 2:
n2++;
break;
case 3:
n3++;
}
}
printf("Votes of candidate 1 is %d.\n",n1);
printf("Votes of candidate 2 is %d.\n",n2);
printf("Votes of candidate 3 is %d.\n",n3);
}
int winner(int a[])
{
int i;
int n1=0,n2=0,n3=0;
for(i=0;i<N;i++)
{
switch(a[i])
{
case 1:
n1++;
break;
case 2:
n2++;
break;
case 3:
n3++;
}
}
if(n1>n2 && n1>n3)
return 1;
if(n2>n1 && n2>n3)
return 2;
if(n3>n1 && n3>n2)
return 3;
}
void main()
{
int array[N];
int i;
printf("Please input 30 votes:");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
votes(array);
printf("The winner is candidate %d.\n", winner(array));
}

3. C語言編程 自定義求數組中奇數、偶數之和的函數

void
fun(int
nums[],int
Len)/*Len是數組長度*/
{
int
i,CountJ,CountO;
CountJ
=
CountO
=
0;
for(i
=
0;i<Len;i++)
{
if(nums[i]%2
==
0)
CountO++;
else
CountJ++;
}
printf("偶數個數為:%d\n奇數個數為:%d\n",CountO,CountJ);
}

4. C語言初學者求助。。。關於自定義函數和數組

#include<stdio.h>
#defineMAX40
intcount(intscore[],intnum);
intread(intscore[]);
intmain()
{
intscore[MAX],count1,num,n;//變數名不能和函數名重復count變成count1
printf("請輸入同學們的成績,輸入-1表示輸入結束 ");
num=read(score);
n=num;
printf("一共有學生%d人 ",num);
count1=count(score,n);//修改
printf("高於平均分的學生有%d人 ",count1);//修改
return0;

}
intread(intscore[])
{
inti,n=0;
for(i=0;i<40;i++)
{
scanf("%d",&score[i]);
if(score[i]<0)
break;
else
n=n+1;
}
returnn;
}
intcount(intscore[],intnum)
{
inti,count1=0;////變數名不能和函數名重復count變成count1
floatave=0;
for(i=0;i<num;i++)
{
//if(score[i]>0)沒有必要檢查了
ave=ave+score[i];
/*
else
break;
*/
}
ave=ave/num;

for(i=0;i<num;i++)
{
if(score[i]>ave)
count1=count1+1;//修改
}
returncount1;//修改
}

5. c語言數組的定義

C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。

在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。

其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:

int a[10]; /* 說明整型數組a,有10個元素 */

float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */

char ch[20]; /* 說明字元數組ch,有20個元素 */

對於數組類型說明應注意以下幾點:

1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。

2、數組名的書寫規則應符合標識符的書寫規定。

3、數組名不能與其它變數名相同。例如:

int a;

float a[10];

是錯誤的。

4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。

5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:

#define FD 5

// ...

int a[3+2],b[7+FD];

是合法的。但是下述說明方式是錯誤的。

int n=5;

int a[n];

6、允許在同一個類型說明中,說明多個數組和多個變數。例如:

int a,b,c,d,k1[10],k2[20];

(5)c語言自定義數組函數擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

6. C語言如何用一個自定義函數列印一個二維數組

二維數組無法作為參數直接傳遞給函數,但是可以利用二維數組內部數據的連續性,將二維數組的地址按照一維數組的方式傳遞給函數,並傳入對應的行列數,從而實現函數內列印二維數組的效果。

以整型為例,具體方式如下:

voidprint_array(int*a,intm,intn)//a為一個m行,n列的二維數組的首地址。
{
inti,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d,",a[i*n+j]);//a[i*n+j]也就是原始二維數組第i行第j列的元素。
}
printf(" ");//每行結束輸出換行。
}
}

7. c語言中能不能定義函數數組

函數不可以定義為數組,可以用函數指針來操作。
1.函數指針的數組定義方法:返回值類型( * 指針變數名[Number]) (形參列表)。例如:double add(double a,double b){};double sub(double a,double b){};double mul(double a,double b){};double div1(double a,double b){};double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數指針的數組定義2.函數指針是指向函數的指針變數。 因而「函數指針」本身首先應是指針變數,只不過該指針變數指向函數。這正如用指針變數可指向整型變數、字元型、數組一樣,這里是指向函數。C在編譯時,每一個函數都有一個入口地址,該入口地址就是函數指針所指向的地址。有了指向函數的指針變數後,可用該指針變數調用函數,就如同用指針變數可引用其他類型變數一樣,在這些概念上是大體一致的。函數指針有兩個用途:調用函數和做函數的參數。3.函數指針的聲明方法為:返回值類型( * 指針變數名) (形參列表);「返回值類型」說明函數的返回類型,「( * 指針變數名)」中的括弧不能省,括弧改變了運算符的優先順序。若省略整體則成為一個函數說明,說明了一個返回的數據類型是指針的函數,後面的「形參列表」表示指針變數指向的函數所帶的參數列表。例如:int func(int x); /* 聲明一個函數 */int (*f) (int x); /* 聲明一個函數指針 */f = func; /* 將func函數的首地址賦給指針f */或者使用下面的方法將函數地址賦給函數指針:f = &func;賦值時函數func不帶括弧,也不帶參數,由於func代表函數的首地址,因此經過賦值以後,指針f就指向函數func(x)的代碼的首地址。例子:
#include<stdio.h>int max(int x,int y){return (x>y? x:y);}int main(){ int (*ptr)(int, int); int a, b, c; ptr = max; scanf("%d%d", &a, &b); c = (*ptr)(a,b); printf("a=%d, b=%d, max=%d", a, b, c); return 0;}

8. C語言中如何定義數組

數組定義的三種方式

1、第一種

int []a = newint[5];

a[0] = 10;

2、第二種

int []c = newint[]{1,2,3};

3、第三種

int []i ={1,2,3,4};

4、錯誤的寫法

int []i1 = [1,2,3,4];

System.out.println(Arrays.toString(c));

5、總之,具體的元素不能被【】包裹。【】包裹的應該是數組的數量。

(8)c語言自定義數組函數擴展閱讀

數組的注意事項:

1、 數組中每個元素的數據類型必須相同,對於inta[4];,每個元素都必須為 int。

2、 數組長度 length最好是整數或者常量表達式,

3、 訪問數組元素時,下標的取值范圍為 0 ≤ index < length,

參考資料

網路-數組



9. c語言中能不能定義函數數組

函數不可以定義為數組,可以用函數指針來操作。

1.函數指針的數組定義方法:返回值類型( * 指針變數名[Number]) (形參列表)。
例如:

double add(double a,double b){}

double sub(double a,double b){}

double mul(double a,double b){}

double div1(double a,double b){}

double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數指針的數組定義。

2.函數指針是指向函數的指針變數。 因而「函數指針」本身首先應是指針變數,只不過該指針變數指向函數。這正如用指針變數可指向整型變數、字元型、數組一樣,這里是指向函數。

C在編譯時,每一個函數都有一個入口地址,該入口地址就是函數指針所指向的地址。有了指向函數的指針變數後,可用該指針變數調用函數。


(9)c語言自定義數組函數擴展閱讀:

指針函數和函數指針的區別:

這兩個概念都是簡稱,指針函數是指返回值是指針的函數,即本質是一個函數。我們知道函數都有返回類型(如果不返回值,則為無值型),只不過指針函數返回類型是某一類型的指針。其定義格式如下所示:返回類型標識符*函數名稱。

返回類型可以是任何基本類型和復合類型。返回指針的函數的用途十分廣泛。事實上,每一個函數,即使它不帶有返回某種類型的指針,它本身都有一個入口地址,該地址相當於一個指針。比如函數返回一個整型值,實際上也相當於返回一個指針變數的值,不過這時的變數是函數本身而已,而整個函數相當於一個「變數」。



參考資料:網路 -函數指針

10. C語言報錯 關於自定義函數數組數組

#include

void paixu(int array[],int len)
{
int t,i,j;
for (i=0;i<len-1;i++)
{
for (j=0;j<len-1-i;j++)

if (array[j]>array[j+1])
{
t=array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
}

int main ()
{
int in,i,array[128];
printf("輸入一個正整數:");
scanf("%d",&in);
printf("輸入%d個整數: ",in);
for (i=0;i<in;i++)
{
scanf("%d",&array[i]);
}
paixu(array,in);
printf("排序後: ");

for (i=0;i<in;i++)
{
printf("%d ",array[i]);
}
return 0;
}

熱點內容
已上傳附件 發布:2024-11-08 11:47:53 瀏覽:633
電腦配置都有哪些問題 發布:2024-11-08 11:15:29 瀏覽:727
新浪微博敏感詞資料庫 發布:2024-11-08 11:03:22 瀏覽:472
linux的終端軟體 發布:2024-11-08 11:01:46 瀏覽:204
主機如何把密碼關掉 發布:2024-11-08 10:36:25 瀏覽:720
安卓軟體如何鎖定 發布:2024-11-08 10:30:27 瀏覽:709
sql定時執行語句 發布:2024-11-08 10:29:36 瀏覽:673
邁銳寶xl值得入手哪個配置 發布:2024-11-08 10:14:13 瀏覽:634
尋歡加密 發布:2024-11-08 10:02:57 瀏覽:353
拼單源碼 發布:2024-11-08 09:58:24 瀏覽:143