1.循环输入n个元素,计算最大差值,最小和,最大和(不允许使用排序)
2.循环输入n个元素,交换数组中最大值和最小值
3.循环输入n个元素,输入查找元素key。
如果key在数组中出现1次,则输出对应的位置 如果key在数组中出现0次,则提示不存在 如果key在数组中出现多次,则输出出现的次数
4.循环输入n个元素,输入flag
如果key在数组中出现1次,则输出对应的位置 如果key在数组中出现0次,则提示不存在 如果key在数组中出现多次,则输出出现的次数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int s[5]={100,55,9,66,3};
int i=0;
int temp=0;
int j=0;
int flag=0;
int temp1;
int min=0;
int arr[5] = {450, 98, 200, 69, 10};
printf("请输入flag");
scanf("%d",&flag);
if (flag==1){
for (i=0;i<5;i++){
printf("%d ",s[i]);
}
printf("\n");
int len=sizeof(s)/sizeof(s[0]);
for (j=0;j<len-1;j++){
for(i=0;i<len-1-j;i++){
if (s[i]>s[i+1]){
temp=s[i];
s[i]=s[i+1];
s[i+1]=temp;
}
}
}
for (i=0;i<5;i++){
printf("%d ",s[i]);
}
printf("\n");
}else if(flag==0){
//排序前
for(i = 0; i < 5; i++){
printf("%d ", arr[i]);
}
printf("\n");
//后
for (i=0;i<5-1;i++){
min=i;
for (j=i+1;j<5;j++){
if (arr[min]>arr[j]){
min=j;
}
}
if (min!=i){
temp1=arr[min];
arr[min]=arr[i];
arr[i]=temp1;
}
}
for(i = 0; i < 5; i++){
printf("%d ", arr[i]);
}
}
return 0;
}
5.循环输入数组元素,实现数组元素逆置
6.循环输入n个数组元素,输入key;请删除所有和key相等的元素
7.循环输入n个数组元素,输入变量k的值,将一个- -维数组循环右移k位
思维导图