#include<stdio.h> #include "math.h" int main()//int a=abs(int a) { int a[10]; int i; int n,m; for(i=0;i<10;i++) { scanf("%d",&a[i]); a[i]=abs(a[i]); } int min=a[0]; for(i=0;i<10;i++) { if(min>=a[i]) { min=a[i];//最小值留下赋值给min m=i;//最小值位置 } } n=a[m];//最小值与最后一位交换位置 a[m]=a[9]; a[9]=n; for(i=0;i<10;i++) { printf("%d ",a[i]); } return 0; } 谁可以帮我看一下我的问题出哪了,结果正确,一提交就错误
不是比较绝对值吗?如果输入的数包含负数的话结果应该是不对的
#include<stdio.h> #include<math.h> #define n 10 int main() { int a[n],e,k; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } e=a[0]; for(int j=0;j<n;j++) { if(fabs(e)>fabs(a[j])) { e=a[j]; k=j; } } e=a[k]; a[k]=a[n-1]; a[n-1]=e; for(int i=0;i<n;i++) { printf("%d ",a[i]); } return 0; }
新城已无旧少年 2021-11-09 17:35:41 |
直接在找最小值的时候把位置标记下来后面就不用在遍历了,更简便一点。。。
C语言训练-数字母 (C语言代码)浏览:582 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2782 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:633 |
【排队买票】 (C语言代码)浏览:899 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:460 |
1642题解浏览:708 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:398 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:455 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:446 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:566 |