#include<stdio.h>
#include<stdlib.h>
#define MAXN 100
int menu()
{ printf("\nOne-Dimensional Array of Integers.");
printf("\n1-Add a value.");
printf("\n2-Search a value.");
printf("\n3-Print out the array.");
printf("\n4-Print out the array in a range.");
printf("\n5-Print out the array in ascending order.");
printf("\nOthers-Quit.");
printf("\nSelect:");
int choice;
scanf("%d",&choice);
return choice;
}
int add(int value, int*a, int n)
{ a[n]=value;
n++;
return n;
}
int search(int value, int*a, int n)
{ int i;
for (i=0; i<n; i++)
{
if (a[i]==value)
return 1;
}
return 0;
}
void print(int*a, int n)
{ int i;
for (i=0; i<n; i++)
{
printf("a[%d]=%d\n", i,a[i]);
}
}
void range(int*a, int n)
{ int minVal, maxVal, i;
printf("Enter 2 values: ");
scanf("%d%d", &minVal, &maxVal);
for (i=0;i<n;i++){
if (a[i]>=minVal && a[i]<=maxVal){
printf("%d ", a[i]);
}
}
}
void printAsc(int*a, int n)
{ int i,j;
for (i=0;i<n-1; i++)
for (j=n-1;j>i;j--)
{
if (a[j]<a[j-1])
{int t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
print(a,n);
}
int main () {
int a[MAXN];
int n=0, pos, i;
int value;
int userChoice;
do{
userChoice=menu();
switch(userChoice)
{ case 1:
{ printf("Input a value: ");
scanf("%d", &value);
n=add(value, a,n);
printf("***Added***\n");
}
break;
case 2:
{ printf("Input the search value: ");
scanf("%d", &value);
int pos= search(value, a, n);
if (pos!=a[i]){
printf("***Not found***\n");}
else printf("***Position is found: %d***\n", pos);
}
break;
case 3:
print(a,n);
break;
case 4:
range(a,n);
break;
case 5:
printAsc(a,n);
break;
default:
printf("\n==============\n***Goodbye.***");
}
}
while (userChoice>0 && userChoice<6);
getchar();
return 0;
}
Đây là bài của em làm, nhưng phần tìm kiếm phần tử trong mảng em không biết phải làm thế nào ạ. Mong mọi người chỉ bảo.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?