|
5鱼币
输入1个正整数n(1<n<=10),再输入n个整数,将最小值与第1个数交换,最大值与最后1个数交换,然后输出交换后的n个数
一个关于数组的实验题,找不到问题出在哪里啊
下面是代码,大佬们帮帮忙啊QAQ
- #include<stdio.h>
- int main()
- {
- int bool1=0,bool2=0;
- int n,i,j,a[10];
- printf("输入整数个数:");
- scanf("%d",&n);
- printf("请输入%d个整数:",n);
- for(i=0;i<n;i++){
- scanf("%d",&a[i]);
- }
- for(i=0;i<n;i++){//min
- for(j=i;j<n;j++){//比较
- if(a[i]<=a[j]){
- bool1++;
- }
- }
- if(bool1=n){//交换
- a[i]+=a[0];
- a[0]=a[i]-a[0];
- a[i]-=a[0];
- break;
- }
- bool1=0;
- }
- for(i=0;i<n;i++){//max
- for(j=i;j<n;j++){//比较
- if(a[i]>=a[j]){
- bool2++;
- }
- }
- if(bool2=n){//交换
- a[i]+=a[n-1];
- a[n-1]=a[i]-a[n-1];
- a[i]-=a[n-1];
- break;
- }
- bool2=0;
- }
- for(i=0;i<n;i++){
- printf("%d ",a[i]);
-
- }
- return 0;
- }
复制代码
求最大最小值就用这个方法:
- #include<stdio.h>
- #include<stdlib.h>
-
- int main(void) {
-
- int a[5] = { 7,3,20,8,9 };
- int max = a[0];
- for (int i = 0; i < 5; i++) {
- if (a[i] > max) {
- max = a[i];
- }
- }
-
- printf("max is %d\n", max);
- return 0;
- }
复制代码
|
|