请帮我编一个C语言程序,急用

综合实验
实验目的和要求
1. 掌握数组的使用方法。
2. 掌握与数组有关的常用算法(排序,插入,删除和查找等算法);
3. 掌握函数的调用方法。
4. 掌握数组作为函数参数的函数调用。
5. 掌握指针作为函数参数的函数调用。
6. 学会综合运用C语言知识解决生活中的问题。
实验内容
编写程序实现如下操作:
1. 编写函数实现数组的插入操作。
2. 编写函数实现数组的删除操作。
3. 编写函数实现数组元素的查找操作。
4. 编写函数实现数组的排序操作。
程序框架如下:
#include "stdio.h"
#include "stdlib.h"
void prt()
{
printf("\n\t------------------------------------------------\n");
printf("\t|\t 1 : 插入新元素 |\n");
printf("\t|\t 2 : 删除元素 |\n");
printf("\t|\t 3 : 查找元素 |\n");
printf("\t|\t 4 : 元素排序 |\n");
printf("\t|\t 5 : 清空屏幕 |\n");
printf("\t|\t 0 : 退出程序 |\n");
printf("\t------------------------------------------------\n");

}
void insert_element(int array[],int *n)
{
int e;
// *n表示目前元素个数,e表示要插入的元素
printf("插入操作");
}
void delete_element(int array[],int *n)
{
int e;
// *n表示目前元素个数,e表示要删除的元素
;
}
int search_element(int array[],int *n)
{
int p=-1;
int e;
// *n表示目前元素个数,e表示要查找的元素,函数返回查找到的元素位置,如果没有找到返回-1;
;
return p;
}
void sort_element(int array[],int *n)
{
// *n表示目前元素个数;
;
}
void main()
{
int arr[30],num=0,c;
do{

prt();
scanf("%d",&c);
switch(c)
{
case 0: break;
case 1: insert_element(arr,&num); break;
case 2: delete_element(arr,&num);break;
case 3: search_element(arr,&num);break;
case 4: sort_element(arr,&num);break;
case 5: system("cls") ;break; //清空屏幕内容;注意要包含 #include "stdlib.h"
default :

printf("\n错误的命令,请重新输入 \n");;
}

//输出数组元素;
for(int i=0;i<num;i++)
printf(" %5d",arr[i]);
printf("\n");

}while(c!=0);

}
请发到我的邮箱里[email protected]避免共享

已发送,请注意查收!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-20
弄点分用
第2个回答  2010-05-17
1 #include <stdio.h>
2 #include <stdlib.h>
3 void prt()
4 {
5 printf("\n\t------------------------------------------------\n");
6 printf("\t|\t 1 : 插入新元素 |\n");
7 printf("\t|\t 2 : 删除元素 |\n");
8 printf("\t|\t 3 : 查找元素 |\n");
9 printf("\t|\t 4 : 元素排序 |\n");
10 printf("\t|\t 5 : 清空屏幕 |\n");
11 printf("\t|\t 0 : 退出程序 |\n");
12 printf("\t------------------------------------------------\n");
13
14 }
15 void insert_element(int array[],int *n)
16 {
17 int e;
18 array[*n]=e;
19 (*n)++;
20 // *n表示目前元素个数,e表示要插入的元素
21 printf("插入操作");
22 }
23 void delete_element(int array[],int *n)
24 {
25 int e;
26 int i,j;
27 for(i=0;i<*n;i++)
28 if(array[i]==e)
29 {
30 for(j=i;j<(*n-1);j++)
31 array[i]=array[i+1];
32 (*n)--;
33
34 }
35 // *n表示目前元素个数,e表示要删除的元素
36 }
37 int search_element(int array[],int *n)
38 {
39 int p=-1;
40 int e;
41 int i;
42 for(i=0;i<*n;i++)
43 {
44 if(e==array[i])
45 p=i;
46 }
47
48 // *n表示目前元素个数,e表示要查找的元素,函数返回查找到的元素位置,如果没有找到返回-1;
49 return p;
50 }
51 void sort_element(int array[],int *n)
52 {
53 int i,j;
54 int tmp;
55 for(i=0;i<(*n-1);i++)
56 for(j=i+1;j<*n;j++)
57 if(array[i]>array[j])
58 {
59 tmp=array[i];
60 array[i]=array[j];
61 array[j]=tmp;
62 }//由小到大排列
63 // *n表示目前元素个数;
64 }
65 void main()
66 {
67 int arr[30],num=0,c,i;
68 do{
69
70 prt();
71 scanf("%d",&c);
72 switch(c)
73 {
74 case 0: break;
75 case 1: insert_element(arr,&num); break;
76 case 2: delete_element(arr,&num);break;
77 case 3: search_element(arr,&num);break;
78 case 4: sort_element(arr,&num);break;
79 case 5: system("cls") ;break; //清空屏幕内容;注意要包含 #include "stdlib.h"
80 default :
81
82 printf("\n错误的命令,请重新输入 \n");
83 break;
84 }
85
86 //输出数组元素;
87 for(i=0;i<num;i++)
88 printf(" %5d",arr[i]);
89 printf("\n");
90
91 }while(c!=0);
92
93 }
94
相似回答