‘壹’ c语言数组的下标
c语言中的下标是定义数组a[]和数组b[n],下标是用在数组中的;
a[1]和b[1]就是下标相同的一个元素,数组a[1]中的数满足条件的之后就做移位计算,是减小左移,右移增加;
例:
inta[5]={1,2,3,4,5};
printf(“%d,%d,%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);//会输出1,2,3,4,5
a[0]=10;
printf(“%d”,a[0]);//输出10;
(1)c语言元素下标怎么提取扩展阅读
基本的算数运算符
(1)、+加法运算或正值运算符
4+4、+5
(2)、-减法运算或负值运算符
6-4、-10、-29
(3)、乘法运算
注意符号,不是x,而是;
(4)、/除法运算
注意符号,不是÷,也不是,而是/;
整数除于整数,还是整数。1/2的值是0,这个并不是二分之一,不会四舍五入,直接截断取值;
(5)、%取余运算
取余:即两个整数相除之后的余数;
注意:%两侧只能是整数,正负性取决于%左侧的数值;
‘贰’ c语言数组下标输出
你问的太恐怖了 表面上没错 我调试了有一会了 printf("max=%d,i=%d,j=%d\n",max,max_row,max_column); printf("min=%d,i=%d,j=%d\n",min,min_row,min_column); 把这两句输出给改了 就能得出正确的结果 printf("max=%d,",max);printf("i=%d,",max_row);printf("j=%d\n",max_column); printf("min=%d,",min);printf("i=%d,",min_row);printf("j=%d\n",min_column);
我不明白为什么合在一起输出有问题 大概是printf函数的问题把 或许你把变量标识符定义的太长了
‘叁’ C语言:找出数组中最大元素的位置(下标值)
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while((n=getchar())!=EOF)
{
for(i=0;i<n-'0';i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n-'0';i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d ",max,loc);
fflush(stdin);
}
return0;
}
小小修改即可,scanf()!=EOF并不能达到你想要的目的 ,改成上面用getchar即可。
运行结果如下:
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d
",max,loc);
//fflush(stdin);
}
return0;
}
‘肆’ C语言__数组中的查找某一元素,并显示其下标号!急!求高手!
二分法.
#include"stdio.h"
int search(int a[],int x)
{
int find,low,high,mid;
find=0;low=1;high=10;
while(!find&&low<=high)
{
mid=(low+high)/2;
if(x==a[mid])find=mid;
else if(x<a[mid])high=mid-1;
else low=mid+1;
}
return find;
}
void main()
{
int i,x,a[11];
printf("请按升序输入10个数:");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("请输入待查找的数x:");
scanf("%d",&x);
printf("数%d在数组a中的位置为%d\n",x,search(a,x));
}
‘伍’ C语言下标怎么打
分两种情况。
1 若你说的下标是指排版打印时在正常文字右下角的符号,那么,C语言编译器是文本编辑器,不能排版出这种效果。
2 若你说的是数组下标,则是这种写:
int a[20];
a[0]=1; // [0]就是下标,表示数组第一个元素。
‘陆’ 如何获取数组中被选元素的下标
你只知道元素值,还是知道元素值的地址。
如果是只知道元素值,那只有用循环查找了。
如果是知道元素值的地址,那可以求出单个元素字节长度和数组首地址,
(被选元素地址 - 首地址)/(单个元素字节长度)。(注意:这里没有-1,是因为数组下标从0标记的)
例子:
#include <stdio.h>
int main()
{
int i, *p, *q, n, a[10];
for( i=0; i<10; i++ )
a[i] = i;
//求a[4]=4的下标
for( i=0; i<10; i++ )
if( a[i] == 4 )
printf("元素4的下标为:%d\n", i);
//第二种情况,假设我们不知道被选元素a[4],p=&a[4]中间经过了多重转换,已经不记得下标了
p = &a[4];
q = &a[0];
n = sizeof(&a[0]);
printf("下标为:%d", (p-q)/n);
return 0;
}
‘柒’ C语言找出二维数组中最大元素及其下标
#include<stdio.h>
int main()
{
int a[100][100],na,nb,i,j,max,mi,mj;
printf("输入长宽(nxm矩阵)\n");
scanf("%d%d",&na,&nb);
for(j=0;j<nb;j++)
for(i=0;i<na;i++)scanf("%d",&a[i][j]);
max=a[0][0];
for(j=0;j<nb;j++)
for(i=0;i<na;i++)
if(a[i][j]>max){max=a[i][j];mi=i;mj=j;}
printf("max:%d x:%d y:%d\n",max,mi,mj);
return 0;}
‘捌’ C语言怎么取多维数组下标值
#include<stdio.h>
intmain(void)
{
inta[2][3];
printf("%d %d ",sizeof(a)/sizeof(a[0]),sizeof(a[0])/sizeof(a[0][0]));
return0;
}