c语言 用一维数组存储由键盘输入的一组正整数(约20个). 再输入整数x.
用一维数组存储由键盘输入的一组正整数(约20个).再输入整数x.如果数组中已经包含x,则删除它;否则按次序将x插入数组.假设在输入数据(x除外)时能够保证:每个数据都不超...
用一维数组存储由键盘输入的一组正整数(约20个). 再输入整数x. 如果数组中已经包含x, 则删除它; 否则按次序将x插入数组.假设在输入数据(x除外) 时能够保证: 每个数据都不超过100, 数据无序, 且互不相同.
【要求】
1 数据的输入输出, 排序, 查找, 插入数据, 删除数据等功能必须用函数实现, 且每个函数只能实现一个功能
2 排序必须使用选择排序法
3 查找必须使用折半查找法
4 排序, 删除, 插入等操作前后须输出数组中的内容, 以便比对操作效果
5 不得使用全局变量
6 在输入和输出数据之前必须要有英文的提示信息 展开
【要求】
1 数据的输入输出, 排序, 查找, 插入数据, 删除数据等功能必须用函数实现, 且每个函数只能实现一个功能
2 排序必须使用选择排序法
3 查找必须使用折半查找法
4 排序, 删除, 插入等操作前后须输出数组中的内容, 以便比对操作效果
5 不得使用全局变量
6 在输入和输出数据之前必须要有英文的提示信息 展开
1个回答
展开全部
闲来没事,给你写段程序,不知道是不是符合你的要求:
#include <stdio.h>
#include <conio.h>
main()
{int i,j,temp,num[20],num_chuli;
clrscr();
printf("qing shu ru 20 ge shuju!\n ") ;/*输入数据 */
for(i=0;i<20;i++)
{
printf("\ndi %d ge shuju:",i+1);
scanf("%d",&num[i]);
}
for(i=0;i<20;i++)/* 数据从小到大排列,必须的,如果数据无须则以后的按顺序插入没有意义*/
for(j=i+1;j<20;j++)
{if (num[j]<num[i])
{temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
clrscr();
printf("\npai xu hou de shu ju ru xia:\n");/* 显示输入的数据排序后结果*/
for(i=0;i<20;i++)
printf(" %d",num[i]);
printf("\nqing shu ru yao chu li de shuju:");/* 输入要处理的数据*/
scanf("%d",&num_chuli);
for(i=0;i<20;i++) /* 数据处理*/
{if (num[i]==num_chuli)
{num[i]=-1;/* -1代表数据删除,如果删除后还需排序,请自行解决*/
break;
}
else if(num[i]>num_chuli)/* 如果数据不存在,则插入该数据,数组最后的数据将丢失*/
{temp=num[i];
num[i]=num_chuli;
num_chuli=temp;
}
}
printf("\nchu li hou de shu ju ru xia:");/* 显示结果*/
for(i=0;i<20;i++)
printf(" %d,",num[i]);
}
#include <stdio.h>
#include <conio.h>
main()
{int i,j,temp,num[20],num_chuli;
clrscr();
printf("qing shu ru 20 ge shuju!\n ") ;/*输入数据 */
for(i=0;i<20;i++)
{
printf("\ndi %d ge shuju:",i+1);
scanf("%d",&num[i]);
}
for(i=0;i<20;i++)/* 数据从小到大排列,必须的,如果数据无须则以后的按顺序插入没有意义*/
for(j=i+1;j<20;j++)
{if (num[j]<num[i])
{temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
clrscr();
printf("\npai xu hou de shu ju ru xia:\n");/* 显示输入的数据排序后结果*/
for(i=0;i<20;i++)
printf(" %d",num[i]);
printf("\nqing shu ru yao chu li de shuju:");/* 输入要处理的数据*/
scanf("%d",&num_chuli);
for(i=0;i<20;i++) /* 数据处理*/
{if (num[i]==num_chuli)
{num[i]=-1;/* -1代表数据删除,如果删除后还需排序,请自行解决*/
break;
}
else if(num[i]>num_chuli)/* 如果数据不存在,则插入该数据,数组最后的数据将丢失*/
{temp=num[i];
num[i]=num_chuli;
num_chuli=temp;
}
}
printf("\nchu li hou de shu ju ru xia:");/* 显示结果*/
for(i=0;i<20;i++)
printf(" %d,",num[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询