本文目录一览:
- 1、用C语言编一个程序求一个二维数组各行数求和
- 2、C语言二维字符串数组的行数怎么求啊
- 3、C语言中如何取二维数组的一行(一列)?
- 4、C语言如何求一个二维数组有几行,还有为什么会提示gets()是一个未定义的标识符?
- 5、c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程?
用C语言编一个程序求一个二维数组各行数求和
#include stdio.h
int main()
{
int a[5][5] = {{0, 1, 2, 3, 4}, {1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}, {3, 4, 5, 6, 7}, {4, 5, 6, 7, 8}};
for (int i = 0; i 5; ++i)
{
int sum = 0;
for (int j = 0; j 5; ++j)
{
sum = sum + a[i][j];
}
printf("Line %d sum = %d\n", i, sum);
}
return 0;
}
C语言二维字符串数组的行数怎么求啊
#include stdio.h
int main()
{
char str[][6] = {"abcd", "ABC", "abc"};
printf("str行内元素%d\n", sizeof(*str));//这个会显示出二维数组中每个行的元素个数 (这里是指可容纳的个数)
printf("str总%d\n", sizeof(str));//这个会显示出二维数组中元素的个数(这里是指可容纳的个数)
//其实就是利用了sizeof函数来判断 我们都知道sizeof()用来判断一个类型所占用的字节数的
//所以:你问‘C语言二维字符串数组的行数怎么求啊?’ 你应该是说在定义数组时候没有显示的写出行数,可是此时需要求出行数是吧?
//那么 行数 = 可容纳元素总数(这里是指可容纳的个数) / 行中元素个数(这里是指可容纳的个数)
printf("行数=%d\n", sizeof(str)/sizeof(*str));
return 0;
}
就是考你对二维数组的理解了,别忘了 数组也是c的数据类型之一哦。
只要是数据类型就可以用sizeof判断 其类型占用的内存字节数。
正好c的字符就是占用一个字节啊,所以sizeof返回的字节数=字符个数。
^_^!
C语言中如何取二维数组的一行(一列)?
没有简单的函数或表示方法,只能使用循环输出或者使用数组中的值。
#include stdio.h
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int b[3],n=3;
printf("输出第三行:\n ");
for(int i=0;i3;i++)
{b[i]=a[n-1][i];printf("%d ",b[i]);}
}
数组b中存储的就是第n行的数据。
扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
百度百科-数组
C语言如何求一个二维数组有几行,还有为什么会提示gets()是一个未定义的标识符?
C语言中求一个二维数组有几行的方法如下:
假设有定义int nums[10][20];
二维数组行数可以用sizeof计算:
rows = sizeof(nums)/sizeof(nums[0]);
第二个问题,为什么gets会提示未定义标识,有两种可能:
一、编译器支持gets库函数,但是你没有包含头文件#includestdio.h;
二、编译器本身不支持gets库函数,因为gets函数是一个不安全函数,容易导致数组越界,所以很多编译器都不再有这个库函数了。取而代之的是gets_s或者fgets这类相对安全的函数,可以试试。
c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程?
已通过测试
#include stdio.h
void fun(int a[][10],int row,int col)
{ int i,j,k,sum;
int r[10],c[10];
k=0;
for(i=0;irow;i++)
{ sum=0;
for(j=0;jcol;j++)
sum+=a[i][j];
r[k]=sum;
k++;
}
k=0;
for(j=0;jcol;j++)
{ sum=0;
for(i=0;irow;i++)
sum+=a[i][j];
c[k]=sum;
k++;
}
for(k=0;krow;k++)
printf("the sum of NO.%d row is %d\n",k+1,r[k]);
for(k=0;kcol;k++)
printf("the sum of NO.%d column is %d\n",k+1,c[k]);
}
main()
{ int a[10][10],row,col;
int i,j;
printf("Input the row and column of array:");
scanf("%d%d",row,col);
for(i=0;irow;i++)
for(j=0;jcol;j++)
scanf("%d",a[i][j]);
fun(a,row,col);
}