#include<stdio.h> void creat(int *a) { int i; for(i=0;i<10;i++) { scanf("%d",(a++)); } } void sport(int* a,int mid,int max) { int i,t; for(i=1;i<10;i++) { if(a[i]<a[mid]) mid=i; else if(a[i]>a[max]) max=i; } t=a[mid]; a[mid]=a[0]; a[0]=t; t=a[max]; a[max]=a[9]; a[9]=t; } void put(int* a) { int i=0; for(i=0;i<10;i++) { printf("%d ",*(a++)); } } main() { int a[10],t=0; int i=0,j=0,max=0,mid=0; creat(a); sport(a,mid,max); put(a); return 0; } 大佬帮我看一下 怎么显示答案错误
#include<stdio.h> void get(int a[]); void change(int a[]); void put(int a[]); int main() { int str[10]; get(str); change(str); put(str); return 0; } void get(int a[]) { for(int i=0;i<10;i++){ scanf("%d",&a[i]); } } void change(int a[]) { int maxi=0,mini=0; for(int i=1;i<10;i++){ if(a[i]>a[maxi]){ maxi=i; } if(a[i]<a[mini]){ mini=i; } } int x; x=a[0]; a[0]=a[mini]; a[mini]=x; if(maxi==0){ //针对初始时首元素即为最大的情况 maxi=mini; //追溯前一步被最小值换走的“真”最大值的真实位置 } x=a[9];
#include<stdio.h> void inputNumbers(int arr[],int size) { int i; for(i=0;i<size;i++) { scanf("%d",&arr[i]); } } void swapMinMax(int arr[],int size) { int maxIndex=0; int minIndex=0; int i; for(i=0;i<size;i++) { if(arr[i]>arr[maxIndex]) { maxIndex=i; } if(arr[i]<arr[minIndex]) { minIndex=i; } } int temp; temp=arr[0]; arr[0]=arr[minIndex]; arr[minIndex]=temp; temp=arr[size-1]; arr[size-1]=arr[maxIndex]; arr[maxIndex]=temp; } void printNumbers(int arr[],int size) { int i; for(i=0;i<size;i++) { printf("%d ",arr[i]); } printf("\n"); } int main()
#include<stdio.h> int main() { int a[10]; int minnum=0, maxnum=0, b=0, t=0, i=0; for (i=0;i<10;i++) { scanf("%d", &a[i]); } for (i=0;i<10;i++) { if(a[i]>a[maxnum]) { maxnum=i; } if(a[i]<a[minnum]) { minnum=i; } } t=a[0]; b=a[9]; a[0]=a[minnum]; a[9]=a[maxnum]; a[maxnum]=b; a[minnum]=t; for(i=0; i<10; i++) printf("%d ",a[i]); return 0; } 有没有大佬指点一下是哪里错了吗?
#include <stdio.h> #include <string.h> #define N 1000 #define n 10 void swap(int *a,int *b) { int t; t=*a; *a=*b; *b=t; } int *Handle(int *arr)//处理函数 { int min=arr[0],max=arr[0],item1,item2; for(int i=0;i<n;i++){ if(arr[i]<=min){ min=arr[i]; item1=i; } if(arr[i]>=max){ max=arr[i]; item2=i; } } swap(&arr[0],&arr[item1]); swap(&arr[9],&arr[item2]); return arr; } void OutPut(int *arr)//输出函数 { for(int i=0;i<n;i++){ printf("%d ",arr[i]); } } int main(void) { int arr[N]; for(int i=0;i<n;i++){ scanf("%d",&arr[i]); } int *arr2=Handle(arr); OutPut(arr);
#include<stdio.h> int main() { int a[10]={0}; int i; for (i = 0; i < 10; i++) scanf("%d", &a[i]); int min=0, max = 0; for (i=0; i < 10; i++) { if (a [i] > a[i+1]&&a[i]>=a[max]) max = i; } if (a[9] > a[max]) max = 9; for (i = 9; i >=0; i--) if (a[i] < a[i - 1]&&a[i]<=a[min]) min = i; if (a[0]<a[min]) min=0; int temp_min, temp_max; temp_min = a[0]; a[0] = a[min]; a[min] = temp_min; if(max != 0){ temp_max = a[9]; a[9] = a[max]; a[max] = temp_max; } else{ temp
火人内莉 2023-11-05 10:16:31 |
不是说要用函数吗?
else if (arr[i] == max) { tmp = arr[9]; arr[9] = max; arr[i] = tmp; } } } void Output(int arr[]) { int i = 0; for (i = 0; i < 10; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int arr[10] = { 0 }; Input(arr); Order(arr); Output(arr); return 0; }
void Input(int arr[]) { int i = 0; for (i = 0; i < 10; i++) { scanf("%d", &arr[i]); } } void Order(int arr[]) { int i = 0; int tmp = 0; int min = arr[0]; int max = arr[0]; for (i = 0; i < 10; i++) { if (min > arr[i]) { min = arr[i]; } } for (i = 0; i < 10; i++) { if (max < arr[i]) { max = arr[i]; } } for (i = 0; i < 10; i++) { if (arr[i] == min) { tmp = arr[0]; arr[0] = min; arr[i] = tmp; }
简单的a+b (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:657 |
数列排序 (C语言代码)浏览:858 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:563 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1432 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1000 |
C语言训练-求函数值 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1267 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:541 |