//---------------------------------------------------------------------------
/*
使用了Edit1,Label1和Button1,在Edit1中输入字符串,按下Button1开始处理,
由Label1输出结果
*/
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void swap(char &x,char &y) //使用引用交换两个数
{
char temp;
temp=x;
x=y;
y=temp;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String str; //存储字符串
int n,i,j,max,min; //n记录字符串的长度
int k_min,k_max; //记录最小值在数组中的位置
str=Edit1->Text+'\0';
for(i=1;str[i];i++) //循环将字符型转化为整型
str[i]-=48;
n=i; //n记录了字符串的长度
min=str[1];
max=str[1];
k_min=1;
k_max=1;
//这个循环求出最大和最小值,并记录它们在数组中的位置
for(i=2;i{
if(str[i] {
min=str[i];
k_min=i;
}
if(str[i]>max)
{
max=str[i];
k_max=i;
}
}
//最小值加8,最大值加3
str[k_min]+=8;
str[k_max]+=3;
//这个循环完成对所有数加3,并且把两位数的数字取个位
for(i=1;i{
str[i]+=3;
if(str[i]>9)
str[i]%=10;
}
//这个循环使用选择排序法对数字从小到大进行排列
for(i=1;i for(j=i+1;j if(str[i]>str[j])
swap(str[i],str[j]); //引用调用swap
//这个循环将数字转化为字符型,以便输出
for(i=1;i str[i]+=48;
i--; //i--为字符串最后一个字符的位置
swap(str[1],str[i]);//再调用swap,交换第一位和最后一位
Label1->Caption=str; //输出
}
//---------------------------------------------------------------------------
--------------------next---------------------
阅读(1231) | 评论(0) | 转发(0) |