字符串按大小排序
#include<stdio.h>#include<string.h>
int main()
{
char a,b,c;
gets(a);
gets(b);
gets(c);
int i,j,a1,b1,c1;
a1=strlen(a);
b1=strlen(b);
c1=strlen(c);
char temp;
for(i=0;i<a1-1;i++)
{
for(j=0;j<a1-1-i;j++)
{
if(a>a)
{
temp=a;
a=a;
a=temp;
}
}
}
printf("%s",a);
printf("\n");
for(i=0;i<b1-1;i++)
{
for(j=0;j<b1-1-i;j++)
{
if(b>b)
{
temp=b;
b=b;
b=temp;
}
}
}
printf("%s",b);
printf("\n");
for(i=0;i<c1-1;i++)
{
for(j=0;j<c1-1-i;j++)
{
if(c>c)
{
temp=c;
c=c;
c=temp;
}
}
}
printf("%s",c);
return 0;
}
求助,找半天了 本帖最后由 jackz007 于 2021-1-13 00:38 编辑
#include <stdio.h>
#include <string.h>
int main(void)
{
char a , b , c , * p ;
int i , j ;
gets(a) ;
gets(b) ;
gets(c) ;
p = a ;
p = b ;
p = c ;
for(i = 0 ; i < 2 ; i ++) {
for(j = i + 1 ; j < 3 ; j ++) {
if(strcmp(p , p) > 0) {
p = p ;
p = p ;
p = p ;
}
}
}
for(i = 0 ; i < 3 ; i ++) printf("%s\n" , p) ;
} 这个题目,以前也回答过,当时的题目要求用指针写两个函数,现不作修改作为每天十个回帖之一,供你参考:
// 字符串从小到大输出
#include <stdio.h>
#include <string.h>
int main()
{
void sort(char *name[], int n); //函数声明
void print(char *name[], int n); //函数声明
char *name[] = { "I love C programing design","Yangzi river is our matherland river","Guangdong unveils development plan for the Greater Bay Area","China is a great country","Any difficulty can hard to beat heroic Chinese people!" }; //定义指针数组,它的元素分别指向5个字符串
int n = 5;
sort(name, n); //调用sort函数,对字符串排序
print(name, n); //调用print函数,输出字符串
return 0;
}
void sort(char *name[], int n) //定义sort函数
{
char *temp;
int i, j, k;
for (i = 0;i < n - 1;i++) //用选择法排序
{
k = i;
for (j = i + 1;j < n;j++)
{
if (strcmp(name, name) > 0)
{
k = j;
}
if (k != i)
{
temp = name;
name = name;
name = temp;
}
}
}
}
void print(char *name[], int n) //定义print函数
{
int i;
for (i = 0;i < n;i++)
{
printf("%s\n", name); //按指针数组元素的顺序输出它们所指向的字符串
}
printf("\n");
}
页:
[1]