//冒泡排序 实现一个对整形数组的冒泡排序
//从大到小排列
#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int temp;
int len;
int i,j;
len=sizeof(a)/sizeof(a[0]);
for (i=0; i<=len-1; i++)
{
for (j=i; j<=len-1; j++) //1 2
{
if (a[i]<a[j])//
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
for (i=0; i<=len-1;i++)
{ printf(" %d",a[i]);
}
return 0;
}
//创建一个整形数组,完成对数组的操作
值得注意的一点:c语言sizeof的重要用途之一就是求数组长度,但是sizeof必须在数组定义的位置使用。不能作为参数传入函数并在函数中使用sizeof;否则会求得是指针的大小。
//实现函数init() 初始化数组为全0
//实现print() 打印数组的每个元素
//实现reverse() 函数完成数组元素的逆置。
//要求:自己设计以上函数的参数,返回值。
#include <stdio.h>
void intt(int arr[],int len)
{ int i;
for(i=0;i<len;i++)
{
arr[i]=0;
}
}
void print(int arr[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void reverse_string(int arr[],int len)
{
int left = 0;
int right = len - 1;
while (left < right)
{
//交换
char tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
}
int main()
{
int a[5]={1,2,3,4,5};
int len=sizeof(a)/sizeof(a[0]);
print(a,len);
reverse_string(a,len);
print(a,len);
intt(a,len);
print(a,len);
return 0;
}
//交换数组
将数组A中的内容和数组B中的内容进行交换。(数组一样大)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5] = {1,2,3,4,5};
int b[5] = {88 ,90,23,63,2};
int c[5];
int i,j;
for (i=0 ; i < 5; i++)
{
c[i] = a[i];
a[i] = b[i];
b[i] = c[i];
}
printf("数组a是:\n");
for (i = 0; i < 5; i++)
{
printf("%d\n", a[i]);
}
printf("数组b是:\n");
for (i = 0; i < 5; i++)
{
printf("%d\n", b[i]);
}
return 0;