解题思路:
通过插入的数cr的和数组元素a[i]的差值的绝对值的最小值,来实现插入的数的打印位置。
注意事项:这种算法有bug,只能保证本题的结果是对的,当abs(cr-a[i])>=abs(cr-a[i+1])就重复打印ar了,有同学帮我优化一下吗?
参考代码:
#include<stdio.h> #include<math.h> int main() { int a[9],min; //min是插入的cr和数组元素的a[i]的绝对值的最小数 int cr,i; for(i=0;i<9;i++) scanf("%d",&a[i]); scanf("%d",&cr); min=abs(a[0]-cr); //对min进行初始赋值 for(i=0;i<9;i++) //找出最小值 { if(abs(a[i]-cr)>=abs(a[i+1]-cr)) continue; if(abs(a[i]-cr)<min) min=abs(a[i]-cr); } for(i=0;i<9;i++) { printf("%d\n",a[i]); if(abs(a[i+1]-cr)==min) printf("%d\n",cr); } return 0; }
0.0分
0 人评分
C语言训练-舍罕王的失算 (C++代码)(都给答案了还算什么)浏览:930 |
矩形面积交 (C语言代码)浏览:1448 |
简单的a+b (C语言代码)浏览:467 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:547 |
WU-输出正反三角形 (C++代码)浏览:970 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1282 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:511 |
DNA (C语言描述,蓝桥杯)浏览:1515 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:517 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:557 |