C -array
来源:互联网 发布:中公教育网络课程 编辑:程序博客网 时间:2024/05/15 10:11
#include <iostream>
#include <stdio.h>
//array
//in array, subscript begain with zero.
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//对数组由小到大排序(maopao)
//在说明和定义函数时,要在数组参数的尾部加上一对方括号([]),
//调用函数时只需将数组的地址(即数组名)传递给函数
void show_array(int ar[], int n){
for (int i = 0;i < n ;i++){
printf("%d ",ar[i]);
}
printf("\n");
}
//冒泡思路:
void sort_min(int ar[],int n){
int count_min = 0;
for (int i = 0; i < n; i++){
for(int j = 0; j< n-i-1; j++){
if(ar[j]>ar[j+1]){
int tmp = ar[j];
ar[j] = ar[j+1];
ar[j+1] = tmp;
++count_min;
}
printf("i_min = %d ",i);//循环多少次后顺序排好
}
printf("\n");
}
printf("count_min = %d\n",count_min);//交换次数
}
void sort_max(int ar[],int n){
int count_max = 0;
for (int i = 0; i < n; i++){
for(int j = 0; j< n-i-1; j++){
if(ar[j]<ar[j+1]){
int tmp = ar[j];
ar[j] = ar[j+1];
ar[j+1] = tmp;
count_max++;
}
printf("i_max = %d ",i);//循环多少次后顺序排好
}
printf("\n");
}
printf("count_max = %d\n",count_max);//交换次数
}
void sum_j(int n){
int count_j = 0;
for(int i = 0; i < n;i++){
for (int j = 0; j < n - j -1;j++){
++count_j;
}
printf("count_j = %d\n",count_j);
}
}
int main (){
int ar[]={1,4,5,3,2};
sum_j(sizeof(ar)/sizeof(int));
}
/*
//3.初始化:直接初始化{, , ,}大括号并用逗号隔开,for循环赋值,手动输入赋值
//不能定义无大小的数组,即 int dr[]; 但是可以int dr[] = {1,2,3,4} ;
int main(){
//int a = 10;//初始化:定义变量同时赋值,变量刚产生。
//int b;//分配空间
//b = 10;//赋值 b为已经存在的变量。
int ar[5] = {1,2,3,4,5};//完全初始化,5个空间刚好给5个值。
int br[5] = {1,3,3};
int dr[] = {1,2,3,4};
printf("size = %d\n",sizeof(ar));//20byte
printf("size = %d\n",sizeof(dr));//16byte
int count = sizeof(dr)/sizeof(int);//就算数组元素个数
return 0;
}
/*
//2.数组名代表了整个数组的空间大小
int main(){
int ar[10];
printf("size = %d\n",sizeof(ar)); //size = 40
printf("%x\n",ar);//%x十六进制。打印数组名是6cfee8地址,刚好是ar[0]的地址。
//访问ar数组
printf("%x\n",&ar[0]);//6cfee8,求首元素空间的地址
printf("%x\n",&ar);//6cfee8,求整个数组空间的地址。
}
/*
// 1.1数组要用循环读取,赋值,输出等操作 。
//1.2.数组中的元素类型相同
//1.3.数组可以引用元素,但是不可以引用整个数组
int main(int argc, char *argv[]) {
int ar[10];
char ch[10];
//如果不提前定义i,在两个for循环中都必须对i进行重新定义
for (int i = 0; i < 10; i++){
ar[i] = i+1;
}
for(int i = 0; i < 10; ++i){
printf("%d ",ar[i]);
}
return 0;
}
*/
#include <stdio.h>
//array
//in array, subscript begain with zero.
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//对数组由小到大排序(maopao)
//在说明和定义函数时,要在数组参数的尾部加上一对方括号([]),
//调用函数时只需将数组的地址(即数组名)传递给函数
void show_array(int ar[], int n){
for (int i = 0;i < n ;i++){
printf("%d ",ar[i]);
}
printf("\n");
}
//冒泡思路:
void sort_min(int ar[],int n){
int count_min = 0;
for (int i = 0; i < n; i++){
for(int j = 0; j< n-i-1; j++){
if(ar[j]>ar[j+1]){
int tmp = ar[j];
ar[j] = ar[j+1];
ar[j+1] = tmp;
++count_min;
}
printf("i_min = %d ",i);//循环多少次后顺序排好
}
printf("\n");
}
printf("count_min = %d\n",count_min);//交换次数
}
void sort_max(int ar[],int n){
int count_max = 0;
for (int i = 0; i < n; i++){
for(int j = 0; j< n-i-1; j++){
if(ar[j]<ar[j+1]){
int tmp = ar[j];
ar[j] = ar[j+1];
ar[j+1] = tmp;
count_max++;
}
printf("i_max = %d ",i);//循环多少次后顺序排好
}
printf("\n");
}
printf("count_max = %d\n",count_max);//交换次数
}
void sum_j(int n){
int count_j = 0;
for(int i = 0; i < n;i++){
for (int j = 0; j < n - j -1;j++){
++count_j;
}
printf("count_j = %d\n",count_j);
}
}
int main (){
int ar[]={1,4,5,3,2};
show_array(ar, sizeof(ar)/sizeof(int));
show_array(ar, sizeof(ar)/sizeof(int));
sum_j(sizeof(ar)/sizeof(int));
show_array(ar, sizeof(ar)/sizeof(int));
}
/*
//3.初始化:直接初始化{, , ,}大括号并用逗号隔开,for循环赋值,手动输入赋值
//不能定义无大小的数组,即 int dr[]; 但是可以int dr[] = {1,2,3,4} ;
int main(){
//int a = 10;//初始化:定义变量同时赋值,变量刚产生。
//int b;//分配空间
//b = 10;//赋值 b为已经存在的变量。
int ar[5] = {1,2,3,4,5};//完全初始化,5个空间刚好给5个值。
int br[5] = {1,3,3};
int dr[] = {1,2,3,4};
printf("size = %d\n",sizeof(ar));//20byte
printf("size = %d\n",sizeof(dr));//16byte
int count = sizeof(dr)/sizeof(int);//就算数组元素个数
return 0;
}
/*
//2.数组名代表了整个数组的空间大小
int main(){
int ar[10];
printf("size = %d\n",sizeof(ar)); //size = 40
printf("%x\n",ar);//%x十六进制。打印数组名是6cfee8地址,刚好是ar[0]的地址。
//访问ar数组
printf("%x\n",&ar[0]);//6cfee8,求首元素空间的地址
printf("%x\n",&ar);//6cfee8,求整个数组空间的地址。
}
/*
// 1.1数组要用循环读取,赋值,输出等操作 。
//1.2.数组中的元素类型相同
//1.3.数组可以引用元素,但是不可以引用整个数组
int main(int argc, char *argv[]) {
int ar[10];
char ch[10];
//如果不提前定义i,在两个for循环中都必须对i进行重新定义
for (int i = 0; i < 10; i++){
ar[i] = i+1;
}
for(int i = 0; i < 10; ++i){
printf("%d ",ar[i]);
}
return 0;
}
*/
0 0
- array.c
- c++:array
- C -array
- C++---array
- C#-数据类型-Array
- Array.ConvertAll 範例 (C#)
- c pointer and array
- Codeforce 57C Array
- array in mongodb (c++)
- c++<vector>AND<array>
- C语言-Array
- C语言-Array(High)
- leetcode_189_Rotate Array(easy)(C++)
- C--3 (Array, Function
- Problem G: Array C
- Codeforces722 C Destroying Array
- c#Array类
- c 5.2 pointer & array
- JSON转Date的序列化问题之解决方案(Java)
- [每日问答]模型融合的方式有哪些?
- 高速CAN总线 负载阻抗匹配方法的介绍
- 待解决
- vuejs选中当前样式active
- C -array
- Algorithm——Quicksort(快速排序)
- 密钥分散算法简析
- C语言 动态申请数组内存
- Entity Framework 的事务 DbTransaction
- NFS服务器搭建 unbuntu
- openfire muc 移除成员
- 转载的socks4 socks5 rfc1928一大堆
- EntityClient 介绍