// order.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "string.h"
#include <iostream> #define length 26
using namespace std;
/*********选择排序*********/
void order(char *a,int n)
{
int i = ,j = ;
char temp;
for(i = ; i < n; i++)
for(j = i+; j < n; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
} }
}
/**********查找函数*************/
void seek(char *a,int n ,char c)
{
int i = ,flag = ;
for(i = ; i < n; i++)
{
if(a[i] == c)
{
flag = ;
}
}
if(flag == )
{
cout << "找到所要找的字母"<< endl;
}
else
cout << "没有找到所要找的字母" << endl;
} int main()
{
char a[length];
char find;
int b;
cout << "请输入"<< length <<"个字母" <<endl;
for(int i = ;i < length; i++)
{
cin >> a[i];
} for(int j = ;j < length; j++)
{
cout << a[j]<<" ";
}
cout << endl; order(a,length);
cout <<"输出有序数组:"<<endl;
for(int j = ;j < length; j++)
cout << a[j]<<" ";
cout << endl; cout << "请输入需要查找的字母" <<endl;
cin >> find;
cout << endl; seek(a,length,find);
cin >> b;
return ;
}
实验名称:排序、查找的应用
实验目的:学会如何应用排序算法和查找算法实现排序、查找。
实验要求:先从键盘上输入26个字母生成无序数组,对数组进行排序,再从键盘输入一个字符进行查找。
实验步骤及内容:
1、从键盘输入26个字母并输出。
cout << "请输入"<< length <<"个字母" <<endl;
for(int i = 0;i < length; i++)
{
cin >> a[i];
}
for(int j = 0;j < length; j++)
{
cout << a[j]<<" ";
}
cout << endl;
2、 对字符数组进行排序。这里用了选择排序来对数组进行排序。
void order(char *a,int n)
{
int i = 0,j = 0;
char temp;
for(i = 0; i < n; i++)
for(j = i+1; j < n; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
3、 查找函数,若找到则提示已经找到,否则提示没有找到。
void seek(char *a,int n ,char c)
{
int i = 0,flag = 0;
for(i = 0; i < n; i++)
{
if(a[i] == c)
{
flag = 1;
}
}
if(flag == 1)
{
cout << "找到所要找的字母"<< endl;
}
else
cout << "没有找到所要找的字母" << endl;
}
实验总结:
在弄选择排序的时候,把j = i + 1,写成了j = i,然后老是错,最后终于找到错误的根源。