C语言如何求一个二维数组有几行,还有为什么会提示gets()是一个未定义的标识符?

作者&投稿:驹花 (若有异议请与网页底部的电邮联系)
C语言有头文件但是说gets仍然未定义~

应该和这句代码有关。建议换个正数。
int termsNumber = 0;

有两种方式:
1 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。 所以可以直接使用行列数的值。
为方便维护,可以将行列数定义为宏,直接调用对应的宏名作为行列值。

2 动态获取。
对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。
sizeof(array[0][0])为一个元素占用的空间,
sizeof(array[0])为一行元素占用的空间,
sizeof(array)为整个数组占用的空间,
于是:
行数 = sizeof(array)/sizeof(array[0]);
列数 = sizeof(array[0])/sizeof(array[0][0]);

C语言中求一个二维数组有几行的方法如下:
假设有定义int nums[10][20];
二维数组行数可以用sizeof计算:
rows = sizeof(nums)/sizeof(nums[0]);

第二个问题,为什么gets会提示未定义标识,有两种可能:

一、编译器支持gets库函数,但是你没有包含头文件#include<stdio.h>;

二、编译器本身不支持gets库函数,因为gets函数是一个不安全函数,容易导致数组越界,所以很多编译器都不再有这个库函数了。取而代之的是gets_s或者fgets这类相对安全的函数,可以试试。

缺少头文件,加一句:#include<string.h>
就可以了,gets是输入字符串,puts是输出字符串


程序设计用C语言求二维空间中两点的中点?
根据题意,算出2个坐标点的平均值就是中点坐标.float是单浮点,你可以用int整数或者double双浮点代替.include <stdio.h> int main(){ float x1, y1; \/\/坐标一 float x2, y2; \/\/坐标二 float xmid, ymid; \/\/中点坐标 printf("请输入第一个坐标,用逗号隔开:");scanf("%f,%f", &x1, ...

用C语言编程:求一个3*4二维矩阵的最小元素值
include<stdio.h> void main(void){ int a[3][4]={{10,15,12,14},{3,6,9,8},{4,54,68,19}};int b=a[0][0];int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]

c语言求二维数组中所有元素的和
include<stdio.h> int main(void){ int ar[3][3]= { {1,2,3},{4,5,6},{7,8,9} };int num;int i,j;int k = 0,sum=0;int (*ptr)[3];ptr = ar;num = sizeof(ar) \/ sizeof(ar[0]);printf("num = %d\\n",num);printf("%d\\n",*(*(ptr +0) + 1));for(...

(c语言)编写一个程序 功能是求出二维数组周边元素平均值
思路:求出二维数组周边元素平均值,首先需要计算周边元素的个数和累加和,周边元素有一个性质就是,该元素的横纵下标中必有一个0或者是元素个数减一,所以通过一个if判断语句就可以求出来。参考代码:include <stdio.h>int main(){ double avg,sum=0;int num=0,i,j;int a[5][5]={{0,1...

跪求,用C语言中的二维数组编出a[3][4]的最小值?
下面是一个使用二维数组的示例程序,它可以找出数组 a[3][4] 中的最小值:Copy code include <stdio.h> int main() { int a[3][4] = {{1, 4, 7, 2}, {3, 5, 2, 9}, {6, 8, 0, 2}};int i, j, min = a[0][0];for (i = 0; i < 3; i++) { f...

C语言编程求二维数组当中各行求平均值...怎么编程啊?
你这个需要两个循环吧!for(i=0;i<m;i++){ for(j=0;j<n;j++){ sum=a[i][j];} b[i]=sum\/n;} 思路应该是这样,用一个数组来接收每行的平均值,最后你在把它输出来就好了!

求一个5*6二维数组中每一行的最大值。C语言
include<stdio.h> int main(){ int shu[5][6];int i,k,te;for(i=0;i<5;i++)for(k=0;k<6;k++)scanf("%d",&shu[i][k]);for(i=0;i<5;i++){ te=shu[i][0];for(k=1;k<6;k++)if(shu[i][k]>te) te=shu[i][k];printf("max=%d\\n",te);} return 0;} ...

随机产生一个二维数组并找出二维数组中的最大值及其位置用c语言回答
include <stdio.h>#include <conio.h>#include #define LEN 100 \/*数组长度上限*\/\/*用随机数填充矩阵*\/void randomMatrix (int randMatrix[LEN][LEN],int row, int col, int min, int max) {int i,j;srand ((unsigned)time(NULL)); \/*用时间做种,每次产生随机数不一样*\/for (i=0;...

求一个二维数组的鞍点(行上最小,列上最大)的C语言程序。。。_百度知...
\\n");elseprintf("\\nThere are %d AnDian!\\n",n);}这是我自己写的 只允许一个鞍点\/\/找出一个二维数组的”鞍点”\/\/即该位置上的元素在该行上最大,在该列上最小,也可能没有”鞍点”#include<stdio.h>main(){int e[3][3];\/\/{4,5,6,1,2,3,7,8,9};行列都没有相同数字\/\/{1...

C语言编程:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大...
include <stdio.h>#include<stdlib.h>void FindSaddlePoint(int a[][20], int m, int n);main(){int a[20][20]; \/\/数组储存矩阵int m,n; \/\/分别表示矩阵的行数和列数int i,j; \/\/循环变量\/\/人机交互输入数据printf("Input m,n:\\n");scanf("%d,%d",&m,&n);printf("Input...

兴宁市18831429807: c语言中如何获取一个二维数组的行列数? -
致咳丁桂: c语言中二维数组若声明为 int z[j][i]; j 是 数学里 二维数组 的 行数 i 是 数学里 二维数组 的 列数 数组元素 等于 数学里 z[y][x] 数组元素排列顺序: z[0][0],z[0][1],z[0][2]... z[1][0],z[1][1],z[1][2]... z[2][0],z[2][1],z[2][2]...

兴宁市18831429807: c语言 怎样用程序知道二维数组行数和列数
致咳丁桂: 比如有这样一个二维数组: int a[3][5]; 求数组元素的总数: sizeof(a) / sizeof(int) 求数组列数: sizeof(a[0])/sizeof(int) 而数组行数则为 :( sizeof(a) / sizeof(int) )/ ( sizeof(a[0]) / sizeof(int) ) 不知道你明白了么?

兴宁市18831429807: c语言作业用函数求一个二维数组的最大值及第几行第几列位置 -
致咳丁桂: 这是伪码,补充一下就ok:int a[3][4]={......}; int i=0,j=0,max=a[0][0]; for(int m=0;m<3;m++) for(int n=0;n<4;n++) if(a[m][n]>max) {max=a[m][n]; i=m;j=n; } printf("最大值:%d,在%d列,%d行\n",max,i+1,j+1);

兴宁市18831429807: 如何得到一个字符串数组的行数 -
致咳丁桂: #include <stdio.h> int main() { char str[][6] = {"abcd", "ABC", "abc"}; printf("str行内元素%d\n", sizeof(*str));//这个会显示出二维数组中每个行的元素个数 (这里是指可容纳的个数) printf("str总%d\n", sizeof(str));//这个会显示出二维...

兴宁市18831429807: C语言中如何定义一个二维数组,数组长度由输入值确定? -
致咳丁桂: int main() { int iLen; int *p=NULL; int i; scanf("%d",&iLen); if(iLen <= 0) { printf("数组大小不能小于1!\n"); return -1; } p= (int *) malloc(iLen*sizeof(int)); if(p == NULL) { printf("内存分配错误!\n"); return -1; } for(i = 0;i 评论 0 0 0 加载更多

兴宁市18831429807: 急急!!!如何用c语言输入和输出一个二维数组?? -
致咳丁桂: 我就简单定义一个2行3列的数组 #include void main() { int i,j,a[2][3]; printf("请输入数组数据:"); for(i=0;i

兴宁市18831429807: C语言二维数组的第一维怎么求? -
致咳丁桂: 选A 有三列,八个数是分三行,不够补0 printf("%d",a[1][0])输出的是4

兴宁市18831429807: 二维数组元素个数怎么算啊!!!VB语言的,求! -
致咳丁桂: 先说没有option base XX情况: 例如a(一维是3,第二维是4,数组就有(3+1)*(4+1)=20个元素,因为这时下界默认是0,等价于a(0 To 3,0 To 4). 若是有option base XX,例如option base 1,a(3,4)就等价于a(1 To 3,1 To 4),数组就有3*4=12个元素.同理,option base 2,a(3,4)就等价于a(2 To 3,2 To 4),数组就有(3-1)*(4-1)=6个元素... 另外,option base 0 等同第一种情况,可以不写.

兴宁市18831429807: c语言编程随机二维数组,行数m=16,先随机产生每行有几列,再随机出数组的大小(不重复) -
致咳丁桂: 展开全部// New.cpp : 定义控制台应用程序的入口点.//visual studio 2010 c++//c语言#include "stdafx.h"#include#include#define random(x) (rand()%x) //产生x之内的随机数 const int n=16; //行数16#define L 10 //列数最大值,自己设定,太大...

兴宁市18831429807: 怎么求一个多维数组有几行 -
致咳丁桂: 有两种方式: 1 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的. 所以可以直接使用行列数的值. 为方便维护,可以将行列数定义为宏,直接调用对应的宏名作为行列值.2 动态获取. 对于...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网