输入3个字符串,按字符串由短到长的顺序输出,要求使用指针。
#include "stdafx.h"
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
char a[80],b[80],c[80];
char *p1,*p2,*p3;
//输入三个字符串,三个字符型指针分别三个字符串
int _tmain(int argc, _TCHAR* argv[])
{
void bijiao(); //因为bijiao在main函数后面定义的,所以这里要先声明一下
cin>>a;
cin>>b;
cin>>c;
p1=a;
p2=b;
p3=c;
bijiao();
return 0;
}
//函数change将两个字符数组里存放的字符串交换
void change(char *a,char *b)
{
char t[100];
strcpy_s(t,80,a); //strcpy_s是库函数strcpy的安全版本,这里它把从地址a开始且含有NULL结束符的字符串复制到数组t 的地址空间
strcpy_s(a,80,b);
strcpy_s(b,80,t);
}
//函数bijiao比较三个字符串长短并按从短到长排序
void bijiao()
{
int a_l,b_l,c_l;
a_l=strlen(a); //strlen函数可计算字符串的长短,使用时要加上<string>头文件
b_l=strlen(b);
c_l=strlen(c);
if(a_l>b_l)
{
change(p1,p2);
}
if(a_l>c_l)
{
change(p1,p3);
}
if(b_l>c_l)
{
change(p2,p3);
}
cout<<endl;
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/yanglize/article/details/48015543