當前位置:首頁 » 編程語言 » c語言接收一個輸入的二維數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言接收一個輸入的二維數組

發布時間: 2023-01-25 14:06:28

c語言設計函數:接受一個二維數組,用指針方式返回數組的最大值,最小值

#include <stdio.h>

void get_val(int array[][200], int m, int n, int *max, int *min)
{
int i, j;

for(*max = array[0][0], *min= array[0][0], j = 0; j < m; j++){

for(i = 0; i < n; i++){

if(*max < array[j][i]){
*max = array[j][i];
}

if(*min > array[j][i]){
*min = array[j][i];
}
}
}
}

int main(int argc, char *argv[])
{
int array_test[100][200];
int j, i, max, min;

for(j = 0; j < 100; j++){
for(i = 0; i < 200; i++){

array_test[j][i] = i*j;
}
}

get_val(array_test, 100, 200, &max, &min);

printf("max:%d,min:%d\n",max,min);

}

編譯通過並通過測試,另外還可以通過指針傳遞:
void get_val(int *array, int m, int n, int *max, int *min)
{
int i, j;

for(*max = *array, *min= *array, j = 0; j < m; j++){

for(i = 0; i < n; i++){

if(*max < *(array+j*n+i)){
*max = *(array+j*n+i);
}

if(*min > *(array+j*n+i)){
*min = *(array+j*n+i);
}
}
}
}

Ⅱ c語言二維數組的賦值

1、首先在電腦上打開c語言編程軟體。然後創建項目。

Ⅲ 如何用C語言編一個程序,輸入一個二維數組,然後以一個矩陣的方式輸出。

#include<stdio.h>

void main(){

int array[3][3], (*pArr)[3], *p[3], i, j, sum;

srand(time(NULL));

for(i=0; i<3; i++)

for(j=0; j<3; j++)

array[i][j] = rand()%100+0;

pArr = array;

for(i = 0; i < 3; i++)

for(j = 0; j < 3; j++){

printf("%d ", pArr[i][j]);

if(j == 2){

printf(" ");

}

}

for(i=0; i<3; i++)

p[i] = array[i];

for(i=0; i<3; i++){

sum = 0;

for(j=0; j<3; j++){

sum += p[i][j];

}

printf("第%d行的和是%d ", i+1, sum);

}

}

(3)c語言接收一個輸入的二維數組擴展閱讀:

1、printf命令的作用是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。printf()函數的調用格式為:printf("<格式化字元串>", <參量表>)。

printf()是C語言標准庫函數,在 stdio.h 中定義。輸出的字元串除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。

2、printf函數調用的一般形式

printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。printf函數調用的一般形式為:printf(「格式控制字元串」,輸出表列)其中格式控制字元串用於指定輸出格式。

格式控制串可由格式字元串和非格式字元串兩種組成。格式字元串是以%開頭的字元串,在%後面跟有各種格式字元,以說明輸出數據的類型、形式、長度、小數位數等。如「%d」表示按十進制整型輸出,「%ld」表示按十進制長整型輸出,「%C」表示按字元型輸出等。後面將專門給予討論。

非格式字元串在輸出時原樣照印,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字元串和各輸出項在數量和類型上應該一一對應。

Ⅳ C語言中如何用gets();語句來接收一個二維數組

  1. gets從標准輸入設備讀字元串函數。可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『』空字元,並由此來結束字元串。

  2. 因為gets函數是以換行符為分隔,所以用一層循環即可讀取一個二維數組。對於每行字元串,使用sscanf讀取每個數。

    例如:

    chars[100];
    inta[3][3],i;for(i=0;i<3;i++){
    gets(s);
    sscanf(s,"%d%d%d",s[i],s[i]+1,s[i]+2);
    }

Ⅳ 急急!!!如何用c語言輸入和輸出一個二維數組

#include <stdio.h>

#include <stdlib.h>

int main()

{

int a[2][2];

int i,j;

for (i=0;i<2;i++)

{

for (j=0;j<2;j++)

{

scanf("%d ",&a[i][j]);

}

}

for(i=0;i<2;i++)

for(j=0;j<2;j++)

printf("%d",a[i][j]);

return 0;

}

運行成功

Ⅵ 如何用C語言將文本文件中儲存的數據讀入一個二維數組

此代碼符合你的要求:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(){
FILE *fp;
char line[1000];
char wLine[1000];
double SIMUL[100][100];
int lineCount = 0;
char *delim=" ";
int ii,jj;

fp = fopen("1.txt","r");
if( fp==NULL){
printf("fopen error!\n");
return -1;
}

memset(line,0x00,sizeof(line));
while(fgets(line,1000,fp)!=NULL){
strtok(line,delim);
for(ii=0;ii<5;ii++){
SIMUL[lineCount][ii] = atof(strtok(NULL,delim));
}
lineCount++;
}
fclose(fp);

//列印結果
for(ii=0;ii<lineCount;ii++){
for(jj=0;jj<5;jj++){
printf("%f ",SIMUL[ii][jj]);
}
printf("\n");
}

return 0;
}

Ⅶ c語言 二維數組如何輸入 該怎麼輸入數組,才能輸出

其實並不存在真正的「二維」,只不過是C編譯器自動的將它 一行一行的保存成了一維信息。所以,二維數組的輸入只要用雙重循環即可,比如:
int a[11][11];
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
scanf("%d",&a[i][j]);

}
}
其實 int a[3][3] 可以這樣初始化:
int a[3][3] = {0,1,2,3,4,5,6,7,8};
編譯器會自動的將線性信息寫入二維數組中。

Ⅷ 用c語言編寫程序,把下面的數據輸入到一個二維數組中

#include <stdio.h>

int main(int argc, const char * argv[]) {

int arr[4][4]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}};

int i,j,temp;

printf("主對角線:\n");

for(i=0;i<4;i++)

printf("%d ",arr[i][i]);

putchar('\n');

printf("副對角線:\n");

for(i=0;i<4;i++)

printf("%d ",arr[i][4-i]);

putchar('\n');

printf("交換後:\n");

for(i=0;i<4;i++)

{

temp=arr[0][i];

arr[0][i]=arr[2][i];

arr[2][i]=temp;

}

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

printf("%d ",arr[i][j]);

putchar('\n');

}

return 0;

}

Ⅸ C語言,二維數組輸入輸出

2維數組可以按一維排列 a[j][i] 對應 a[j*n+i]
#include <stdio.h>
main()
{
int i,j,n,m;
int *a, *b;
static int v;
scanf("%d %d",&n,&m);
a = (int*)malloc(sizeof(int)*n*m);
b = (int*)malloc(sizeof(int)*n*m);
for (j=0;j<n;j++)
for (i=0;i<m;i++)
{ scanf("%d",&v); a[j*m+i]=v; b[i*n+j]=v;}
for (j=0;j<m;j++) for (i=0;i<n;i++) printf("%d ",b[j*n+i]);
for (j=0;j<n;j++) for (i=0;i<m;i++) printf("%d ",a[j*m+i]);
}