c語言二維數組字元串輸出
『壹』 急急!!!如何用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語言中的二維數組的賦值,輸入輸出怎麼用
代碼,實現先輸入二維數組的行數m和列數n,並再輸入m*n個整型數據存到動態二維數組中。最後輸出所有二維數組的元素值。
int main()
{
int**p;//定義二維指針。
int m,n;//行數和列數。
int i,j;
scanf("%d%d",&m,&n);//輸入行數和列數。
if(m<=0||n<=0)return-1;//行數或列數非法。
p=(int**)malloc(sizeof(int*)*m);//申請一組一維指針空間。
for(i=0;i<m;i++)
p<i>=(int*)malloc(sizeof(int)*n);//對於每個一維指針,申請一行數據的空間。
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&p<i>[j]);//輸入第i行第j列的數據。其中&p<i>[j]也可以寫作p<i>+j或者是*(p+i)+j.功能相同。
printf("輸入的數組為%d行%d列: ",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)//這個循環可以輸出一行元素。
printf("%d",p<i>[j]);//輸出i行j列的元素。
printf(" ");//每行輸入結束加換行符。
}
//釋放內存
for(i=0;i<m;i++)
free(p<i>);
free(p);
return 0;
}
(2)c語言二維數組字元串輸出擴展閱讀:
函數:free
功能:與malloc()函數配對使用,釋放malloc函數申請的動態內存。(另:對於free(p)這句語句,如果p是NULL指針,那麼free對p無論操作多少次都不會出問題。如果p不是NULL指針,那麼free對p連續操作兩次就會導致程序運行錯誤。)
用法;void free(void*ptr);
程序例:
C/C++代碼如下:
#include<string.h>
#include<stdio.h>
#include<alloc.h>//or#include<malloc.h>
int main(void)
{
char*str;
/*allocate memory for string*/
str=(char*)malloc(10);
/*"Hello"to string*/
strcpy(str,"Hello");
/*display string*/
printf("String is%s ",str);
/*free memory*/
free(str);
str=NULL;
return 0;
}
『叄』 C語言 二維字元數組的輸入輸出問題
#include<stdio.h>
void main()
{
int i;
char name[3][20]; //是你定義的數組不對,[a][b] a代笑孫表你要輸入個名字個數,薯散b代表你輸數升氏入的名字長度
for(i=0;i<3;i++)
{
scanf("%s",&name[i]);
}
printf("輸出:\n");
for(i=0;i<3;i++)
{
printf("%s\n",name[i]);
}
}
『肆』 c語言2維數組的輸出
1.在你的程序中有這么一句for(i=9;i<=9;i++)
{
for(r=9;r<=9;r++)
在for循環語句中表達式1,也就是相當於i=0;這一句,初值表達式,是對循環變數賦初值的,輸出a[i][r]當然要從i=0,r=0開始。
2.for循環中,表達式2,也就是本題中的i<9,是循環的條件,有時也可以說是循環的次數。
3.注意,在數組中,下標的合理長度是[0,
數組長度減1].所以應該是
for(i=0;i<9;i++){
for(r=0;r<9;r++)
修改後如下:
#include"stdio.h"
void
main()
{
int
a[9][9]={
{10,11,15,19,18,45,66,22,99},
{50,40,61,85,67,41,63,51,30},
{25,29,84,66,11,26,18,59,19},
{10,88,98,89,31,36,39,28,32},
{22,34,41,32,75,73,78,45,11},
{12,35,38,23,21,59,17,44,47},
{31,41,16,76,91,16,14,67,42},
{49,54,59,56,87,78,25,26,93},
{60,34,34,32,56,33,38,37,95}
},i,r;
for(i=0;i<9;i++){
for(r=0;r<9;r++)
printf("%3d",a[i][r]);
printf("\n");
}
}
運行結果為:
不明白,還可以問啊!
『伍』 C語言中如何直接輸出一個二維數組
c語言中直接輸出一個二維數組是用數組來訪問輸出的,例子:
#include<stdio.h>
#defineM4
#defineN3
voidmain()
{
inta[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d ",a[i][j]);//直接用數組來訪問
printf(" ");
}
}
除了可以直接訪問,也可以用指針來訪問,用指針指向該數組,便可進行對數組的讀寫操作。
運行結果圖:
『陸』 跪求C語言中怎樣把很多字元串存入二維數組中,並用指針輸出,急用~謝謝
給你舉個例子,這里str就是一個二維數組,我手動輸入10個字元串存入該數組,然後用該二維數組的行指針輸出
#include<stdio.h>
#include<string.h>
void main()
{
char str[10][20];
int i;
for(i=0;i<10;i++)
gets(*(str+i));
for(i=0;i<10;i++)
puts(*(str+i));
}