C语言练习题 如何在二维数组中查找元素

已知表示颜色的单词在2维数组中:
char color[][20]={"amber","chartreuse","antique","cornsilk"," white","navy","violet","azure","black","pink","scarlet","blue","coral","brown","yellow","orchid","cyan","mauve","orange","pansyrubine" };
输入一个颜色,查找是否在color中,如是,输出在color中的下标,否则输出-1
示例输入:
antique
示例输出:
2

第1个回答  2016-12-07
#include <stdio.h>
extern int strcmp(const char *, const char *);

int main()
{
int index = -1;
int i;
char color[][20]={"amber","chartreuse","antique",
"cornsilk","white","navy","violet","azure",
"black","pink","scarlet","blue","coral",
"brown","yellow","orchid","cyan","mauve",
"orange","pansyrubine"};
char find[20];
printf("Please input a string...\n");
gets(find);
for(i=0;i<20;i++){
if(strcmp(color[i],find)==0){
index = i;
}
}
printf("index : %d\n",index);
return 0;
}

本回答被网友采纳

c语言中两个二维数组如何找相同元素
for (i = 0;i < n;i++){ for (j = 0; j < m;j++) { for (k = 0; k < x ;k++) { for (l = 0; l < y;l++) { if (a[i][j] == b[k][l]) { \/\/找到了 } } } }} ...

在一个二维数组中找出最大值和最小值。。。c语言编写
int main(int argc, const char * argv[]){ int arr[3][4]={34,13,45,67,42,78,56,10,58,45,78,98};int arr1[3][4];for (int i=0; i<3; i++)\/\/输出所有元素 { for (int j=0; j<4; j++){ printf("%d\\t",arr[i][j]);} printf("\\n");} for (int i=0;...

C语言编程:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大...
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 matrix:\\n" );for...

c语言编程:找出二维数组中的最大值最小值及其所在行号列号
示例:有一个3*4的矩阵,要求编程序求出其中最大的那个元素的值,以及其所在的行号和列号。代码:include<stdio.h> int main(){ int i,j,row=0,colum=0,max;int a[3][4]={{1,2,3,4},{4,5,6,7},{-1,3,-5,10}};max=a[0][0];printf("array a:\\n");for(i=0;i<=2...

C语言。定义一4*4二维数组,找出其中最小元素所在行,若不在第一行,则...
void main(){ int a[4][4]={0};int i,j,min,min_index,tmp;printf("Please input a matrix(4X4):\\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);min=a[0][0];min_index=0;printf("The matrix you have just inputed is:\\n");for(i=0;i<4;i...

c语言输入一个二维数组,找出每行的最大值输出?
下面是实现输入一个二维数组,找出每行的最大值输出的C语言代码:include <stdio.h> define ROW 3 define COLUMN 4 int main() { int arr[ROW][COLUMN];\/\/ 输入二维数组 printf("请输入二维数组(%d行%d列):\\n", ROW, COLUMN);for (int i = 0; i < ROW; i++) { for (int j ...

c语言查找二维数组的鞍点 新生求助大佬
C语言查找二维数组的鞍点详细代码如图:具体思路:一、先把每行的最大值求出来×到数组;二、依次遍历每行,如果其值等于最大值,再判断在列中是否最小即可。三、输出结果。

求:找出一个二维数组的"鞍点"的C语言程序,加急!!!
for (t=1;t<N;t++)\/\/\/在上面的行最大值的对应列去找最小值,if (a[t][seam[j]]<min)\/\/\/ min=a[t][seam[j]];\/\/\/ if (max==min)\/\/\/如果最大的等于小的,证明是同一个数 {printf("所要的数在数组中的%d行%d列\\n",i+1,seam[j]+1);n++;} } } if(n==0)printf(...

输入一个二维数组(3×4)的元素,输出其中值最大的元素值,以及它的行号和...
intmain(){ inta[3][4]={1,2,3,4,5,6,7,8,23,48,11,12};inti,j,max=a[0][0],row,colum;printf("数组为:\\n");for(i=0;i<3;i++){ for(j=0;j<4;j++)printf("%4d",a[i][j]);printf("\\n");} for(i=0;i<3;i++){ for(j=0;j<4;j++){ if(a[i][j...

...其功能是:找出2*M整型二维数组中最大元素的值,并将此值返回调用函数...
首先,假如按照你函数写法的话,会有一些问题,因为这样无法知道被调函数的大小,那么这样就无法进行每一个值的索引,从而也就没法算出最大值,所以你需要把一维的大小也作为函数值进行调用,例如fun(arr,2),或者,你可以将2用字符常量表示,我这里用字符常量表示,修改为 include <stdio.h>#define N...

相似回答