1.输入一个5个元素的一维数组,实现冒泡排序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int arr[5];
int i,j,temp;
int length=sizeof(arr)/sizeof(int);
for(i=0;i<length;i++)
{
printf("please enter:");
scanf("%d",&arr[i]);
}
for(i=0;i<length-1;i++)
{
for(j=0;j<length-1-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;;
}
}
}
printf("实现冒泡排序后的升序数组为:");
for(i=0;i<length;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
2.输入一个5个元素的一维数组,实现简单选择排序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int arr[5];
int i,j,temp;
int min;
int length=sizeof(arr)/sizeof(int);
for(i=0;i<length;i++)
{
printf("please enter:");
scanf("%d",&arr[i]);
}
for(i=0;i<length-1;i++)//循环几轮
{
min=i;//默认数组下标为0(即数组的第一个数)为最小值
for(j=i+1;j<length;j++)
{
if(arr[min]>arr[j])
{
min=j;
}
}
if(min!=i)
{
temp=arr[min];
arr[min]=arr[i];
arr[i]=temp;
}
}
printf("实现简单选择排序后的升序数组为:");
for(i=0;i<length;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
3.输入一个5个元素的一维数组,计算最大值,最小值
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int arr[5];
int i;
int length=sizeof(arr)/sizeof(int);
for(i=0;i<length;i++)
{
printf("please enter:");
scanf("%d",&arr[i]);
}
int max=arr[0];
int min=arr[0];
for(i=1;i<length;i++)
{
if(max<arr[i])
{
max=arr[i];
}
if(min>arr[i])
{
min=arr[i];
}
}
printf("max=%d\n",max);
printf("min=%d\n",min);
return 0;
}
4.输入一个3行4列的二维数组,计算最大值,最小值
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int arr[3][4];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("please enter:");
scanf("%d",&arr[i][j]);
}
}
int max=arr[0][0];
int min=arr[0][0];
for(i=0;i<3;i++)
{
for(j=1;j<4;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
}
if(min>arr[i][j])
{
min=arr[i][j];
}
}
}
printf("max=%d\n",max);
printf("min=%d\n",min);
return 0;
}