#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语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1413 |
printf基础练习2 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:583 |
有关字符,字符串的输入输出函数说明浏览:498 |
杨辉三角 (C语言代码)浏览:504 |
1051(奇了怪了)浏览:747 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2256 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:586 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1359 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1302 |