这个代码输入的数组元素的个数是固定的,怎么可以让输入的数组个数是任意输入的,我在主函数中输入COUNT的值,但提醒我
在“int”左侧忽略,当未声明变量时。
#include<stdio.h>
#define COUNT 6
int a[COUNT], count = COUNT, k, m, b[COUNT],t,c[COUNT];
void oarray(){ //输出原数组
printf("原数组:");
for (k = 0; k < COUNT; k++)
printf("%5d", b[k]);
printf("\n");
}
//求最大值
void max(){
int i=0, max=0;
max=a[0];
for(i=1;i<COUNT;i++){
if(max<a[i]){
max=a[i];
}
}
printf("最大值:%d\n",max);
}
//求最小值
void min(){
int j=0, min=0;
min=a[0];
for(j=1;j<COUNT;j++){
if(min>a[j]){
min=a[j];
}
}
printf("最小值:%d\n",min);
}
void sort(){ //排序算法
for(k=0;k<COUNT-1;k++) //排序数组
for(m=k+1;m<COUNT;m++)
if (c[k] > c[m]) {
t = c[k];
c[k] = c[m];
c[m] = t;
}
for (k = 0; k < COUNT; k++)
a[k] = c[k];
printf("排序后数组为:");
for (k = 0; k < COUNT; k++)
printf("%5d", c[k]);
printf("\n");
}
void darray(){ //删除重复数组
/* int count = COUNT;*/
for(k=0;k<COUNT-1;k++) //排序数组
for(m=k+1;m<COUNT;m++)
if (c[k] > c[m]) {
t = c[k];
c[k] = c[m];
c[m] = t;
}
for (k = 0; k < COUNT; k++)
a[k] = c[k];
for (k = count - 1; k > 0; k--) //删除重复数组
if (a[k] == a[k - 1]) {
for (m = k - 1; m < COUNT - 1; m++)
a[m] = a[m + 1];
count--;
}
printf("删除重复后的数组:");
for (k = 0; k < count; k++)
printf("%5d", a[k]);
printf("\n");
}
void choose(){ //选项
printf("\n");
printf("选择选项:\n\n");
printf("1.输出原数组\n\n");
printf("2.输出排序后数组\n\n");
printf("3.输出删除重复后的数组\n\n");
printf("4.输出最大值\n\n");
printf("5.输出最小值\n\n");
printf("6.输出所有\n\n");
printf("7.退出\n\n");
printf("请输入选项 1 2 3 4 5 6 7\n");
int x;
printf("\n\n");
do{
scanf("%d",&x);
printf("\n");
switch(x){
case 1: oarray(); printf("\n退出按7\n\n"); break;
case 2: sort(); printf("\n退出按7\n\n"); break;
case 3: darray(); printf("\n退出按7\n\n"); break;
case 4: max(); printf("\n退出按7\n\n"); break;
case 5: min(); printf("\n退出按7\n\n"); break;
case 6: oarray();printf("\n");sort();printf("\n");darray();printf("\n");max();printf("\n");min(); printf("\n退出按7\n\n");break;
case 7: printf("结束\n\n"); break;
default:break;
}
}while(x!=7);
}
void main(){
printf("Input %d data in order:\n", COUNT);
for (k = 0; k < COUNT; k++) {
printf("a[%d]=", k);
scanf("%d", &a[k]);
b[k] = a[k], c[k] = a[k];
}
oarray();
choose();
//system("pause");
}