用c语言定义一整型数组,最多N个元素 100

用c语言定义一整型数组,最多N个元素要求程序能完成增加(append)、删除(del)、排序(sort)、查找(find)和显示(display)等功能。... 用c语言定义一整型数组,最多N个元素要求程序能完成增加(append)、删除(del)、排序(sort)、查找(find)和显示(display)等功能。 展开
 我来答
匿名用户
2017-11-30
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 50

int a[N];
int count=0;

void append()
{
printf("\n\n请输入增加的值: ");
int n;
scanf("%d",&n);
if(count+1<N)
{
a[count++]=n;
printf("\n增加成功");
getch();
return; 
}
else
{
printf("\n数组个数已达到最大");
getch();
return;
}
}

void del()
{
int n;
printf("\n\n请输入要删除的值: ");
scanf("%d",&n);
int i,j=0;
for(i=0;i<count;i++)
{
if(a[i]==n)
{
for(j=i;j<count-1;j++)
{
a[j]=a[j+1];
}
count--;
printf("\n删除成功");
getch();
return;
break;
}
}
printf("\n未找到要删除的值");
getch();
return;
}

void sort()
{
int i,j,n;
for(i=0;i<count-1;i++)
{
for(j=0;j<count-1-i;j++)
{
if(a[j]>a[j+1])
{
n=a[j];
a[j]=a[j+1];
a[j+1]=n;
}
}
}
printf("\n\n排序成功");
getch();
}

void find()
{
int i,n;
printf("\n\n请输入要查找的值: ");
scanf("%d",&n);
for(i=0;i<count;i++)
{
if(a[i]==n)
{
printf("\n\n找到, 下标为:%d",i);
getch();
return;
}
}
printf("\n\n未找到");
getch();
}

void display()
{
printf("\n\n");
int i;
for(i=0;i<count;i++)
{
printf("%2d ",a[i]);
}
printf("\n\n共有%d个元素",count);
getch();
return;
}

void menu()
{
int sel;
while(1)
{
system("cls");
printf("1---------增加\n"); 
printf("2---------删除\n");
printf("3---------排序\n");
printf("4---------查找\n");
printf("5---------显示\n");
printf("6---------退出\n");
printf("\n\n请选择(1--6): ");
scanf("%d",&sel);
if(sel<0 || sel>6)
{
continue;
}
switch(sel)
{
case 1:
append();
break;
case 2:
del();
break;
case 3:
sort();
break;
case 4:
find();
break;
case 5:
display();
break;
case 6:
return;
}
}
}

int main()
{
srand((unsigned)time(0));
int i;
printf("定义该数组有多少个元素(不大于50): ");
scanf("%d",&count);
for(i=0;i<count;i++)
{
a[i]=rand()%99+1;
}
menu();
return 0;
}
追问
50个error。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式