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));
}