|
发表于 2020-12-20 09:22:55
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一组有序数据8,9,12,18,23,34,56,78输入一个待查找的数,如果该数存在则输出该数所在的序号,如果不存在则将该数插入到该数组中,保持数组的有序性。
本帖最后由 风过无痕1989 于 2020-12-20 18:30 编辑
- #include<stdio.h>
- int main()
- {
- int i, j, n, flag = 0, temp, str[9] = { 8,9,12,18,23,34,56,78 }; // 定义数组时多加一个单元,以备元素的插入
- printf("输入待查找的数:");
- scanf("%d", &n);
- for (i = 0;i < 8;i++)
- {
- if (n == str[i])
- {
- printf("已在序列中查到该数,其位置在 %d \n", i + 1);
- flag = 1;
- }
- }
- if(flag == 0)
- {
- printf("序列中没有该数\n");
- for (i = 0;i < 9;i++)
- {
- if (str[i] < n && str[i + 1] > n) // 插入到 str[i + 1] 的位置
- {
- for (j = 8;j > i;j--) // 将 str[i + 1] 单元以后的元素后移一个单元
- {
- str[j] = str[j - 1];
- }
- str[i + 1] = n;
- break;
- }
- }
- }
- for(i = 0;i < 9;i++)
- printf("%d ", str[i]);
- printf("\n");
- }
复制代码
|
|