习题 6.4 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
C程序设计 (第四版) 谭浩强 习题6.4 个人设计
习题 6.4 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
代码块
方法1:
#include
int main()
{int n[8]={12, 33, 55, 67, 78, 89, 94}; //定义一个数组int i, j, num;printf("Please enter number: "); //输入一个数scanf("%d", &num);for (i=0; i<8; i++){if (num//判断数字与数组内数字对比,然后重新排序号for (j=7; j>i; n[j--]=n[j-1]);n[j]=num;break;}else if (num>=n[6]) n[7]=num; //判断数字处于末尾时的特殊情况}for (i=0; i<8; printf("%d ", n[i++])); //输出排序后的数组printf("\n");return 0;
}
方法2:
#include
int main()
{int n[7]={12, 33, 55, 67, 78, 89, 94};int i, j, k, num, r[8];printf("Please enter number: "); //输入一个数scanf("%d", &num);for (i=0, j=0; i<7; i++){ //判断数字位置if (num>n[i]){r[j++]=n[i];r[j]=num;}else{for (j=i+1, k=i; j<8; r[j++]=n[i++]);r[k]=num;}}for (i=0; i<8; printf("%d ", r[i++])); //输出排序后数组printf("\n");return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
