c/c++第十天
来源:互联网 发布:eos utility mac安装 编辑:程序博客网 时间:2024/05/16 11:21
二维数组初始化形式:
数组类型 数组名[行数长度][列数长度]={数组元素};
如:
int a[2][2]={{1,2},{3,4}};
也可以不用{}把数组元素隔开,如:
int a[2][2]={1,2,3,4};
这样的话,依次把第一个值符给a[0][0],第二个值赋给a[0][1],第三个值赋给a[1][0],第四个值赋给a[1][1].
a[0][0]=1;a[0][1]=2;a[1][0]=3;a[1][1]=4;
二维数组定义时可以不写第一位长度,但是第二列长度不可以忽略。
传递数组参数是也一样。
#include<stdio.h>
int fun(int a[][2]){ //要写第二维长度
printf("%d\t%d\n%d\t%d",a[0][0],a[0][1],a[1][0],a[1][1]);
}
void main(){
int a[2][2]={1,2,3,4};
fun(a);
getchar();
}
/*输入10个数找最大值*/
#include<stdio.h>
void main(){
int a[10],x,max=0;
for(int i=0;i<=9;i++){
scanf("%d",&x);fflush(stdin);
a[i]=x;
}
for(int i=0;i<=9;i++){
if(a[max]<a[i]){
max=i;
}
}
printf("最大值:%d",a[max]);
getchar();
}
二分查找
要是按照从小到大的顺序进行排序
/*给数组赋值10个随机数,输入一个数求这个数下标*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int search(int a[],int length){
int start=0,end=length-1,key;
scanf("%d",&key);fflush(stdin);
while(start<=end){
int mid=(start+end)/2;
if(a[mid]==key){
return mid;
}else{
if(a[mid]<key){
start=mid+1;
}else{
end=mid-1;
}
}
}
return -1;
}
void main(){
int a[10];
srand((unsigned)time(NULL));
for(int i=0;i<=9;i++){
a[i]=rand()%100+1;
}
for(int j=0;j<=sizeof(a)/sizeof(int)-2;j++){
for(int k=1;k<=sizeof(a)/sizeof(int)-1;k++){
if(a[k-1]>a[k]){
a[k-1]=a[k-1]^a[k];
a[k]=a[k-1]^a[k];
a[k-1]=a[k-1]^a[k];
}
}
}
for(int i=0;i<=9;i++){
printf("%d\t",a[i]);
}
int c=search(a,sizeof(a)/sizeof(int));
if(c!=-1)printf("数组下标:%d",c);
else printf("未找到");
getchar();
}
- C语言第十天
- C第十天
- c/c++第十天
- 学习C的第十天
- 标准C语言第十天
- C语言暑期实习 第十天
- object-c 使用文件 第十天
- C语言二维数组(第十天)
- C 第十一次作业
- C 第十一次作业
- C语言第十课
- C第十一天
- c/c++第十一天
- c/c++第十三天
- c/c++第十五天
- C语言 第十八天
- C/C++第十九天
- c/c++第十七天
- IOS内存管理ss
- 动态代理GOF模式
- Android使用ccache减少编译时间
- iOS 调用系统的打电话功能
- Python简史
- c/c++第十天
- technical knowledge 3
- 基于gensim的Doc2Vec简析
- Ibatis 在什么情况需要使用remapResults属性
- 数组的一些的应用
- jquery中attr和prop的区别
- VB 制作仪表盘
- 畅通工程续 hd 1874
- 输出星号图