练习1:输入一个5个元素的一维数组,实现冒泡排序。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int temp;
int a[5] = {0};
for(int i=0;i<5;i++)
{
printf("请输入一个数:\n");
scanf("%d",&a[i]);
}
for (int i=1;i<5;i++){
for (int j=0;j<5-i;j++){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
printf("冒泡排序后的顺序为:");
for(int i=0;i<5;i++){
printf("%d ",a[i]);
}
putchar(10);
return 0;
}
练习2:输入一个5个元素的一维数组,实现简单选择排序。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int min,j,t;
int a[5] = {0};
for(int i=0;i<5;i++)
{
printf("请输入一个数:\n");
scanf("%d",&a[i]);
}
for(int i=0;i<5-1;i++)
{
min = i;
for(j=i+1;j<5;j++){
if(a[min] > a[j]){
min = j;
}
}
if(min!=i){
t = a[min];
a[min] = a[i];
a[i] = t;
}
}
printf("简单选择排序后的顺序为:");
for(int i =0;i<5;i++){
printf("%d ",a[i]);
}
putchar(10);
return 0;
}
练习3:输入一个5个元素的一维数组,计算最大值,最小值。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a[5]={0};
printf("请输入5个元素的一维数组:\n");
for(int i=0;i<5;i++){
scanf("%d",&a[i]);
}
int max = a[0];
int min = a[0];
for(int i=0;i<5;i++){
if(max < a[i]){
max = a[i];
}
if(min > a[i]){
min = a[i];
}
}
printf("数组中最大值为%d\n",max);
printf("数组中最小值为%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 a[3][4]={0};
printf("请输入:\n");
for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){
for(int j=0;j<sizeof(a[0])/sizeof(a[0][0]);j++){
scanf("%d",&a[i][j]);
}
}
int max=a[0][0];
int min=a[0][0];
for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){
for(int j=0;j<sizeof(a[0])/sizeof(a[0][0]);j++){
if(max < a[i][j])
{
max = a[i][j];
}
if(min>a[i][j])
{
min = a[i][j];
}
}
}
printf("二维数组中最大值为%d\n",max);
printf("二维数组中最小值为%d\n",min);
return 0;
}
标签:练习题,04,min,int,C语言,char,数组,printf,include
From: https://blog.csdn.net/m0_59481131/article/details/139560638