要求用指针操作字符串 从键盘上任意输入一字符串,用冒泡排序的方法将该字符串按

大神们,请教下,要求用指针操作字符串 从键盘上任意输入一字符串,用冒泡排序的方法将该字符串按
最新回答
话不投机半句多-

2024-11-08 00:23:00

#include <stdio.h>
#include<string.h>
void main()
{
char a[100];
int i,j,k;
puts("请输入字符串:");
scanf("%s",a);
k=strlen(a);
for(i=0;i<k-1;i++)
for(j=0;j<k-i-1;j++)
if(a[j]>a[j+1])
{
int t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
printf("按ASCII码排序后为:%s\n",a);
}
追问
要求用指针操作字符串    从键盘上任意输入一字符串,用冒泡排序的方法将该字符串按字母由小到大的顺序排列,输出排列前和排列后的字符串。字符串长度小于等于20      
刚刚没发完整,你在看一下这个,O(∩_∩)O谢谢~~~
追答
#include 
#include
void main()
{
char a[21];
int i,j,k;
puts("请输入字符串:");
scanf("%s",a);
k=strlen(a);
if(k>20)
{
puts("大于20!重新输入:");
scanf("%s",a);
}
printf("输入的字符串为:%s\n",a);
for(i=0;i*(a+j+1))
{
char t=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=t;
}
printf("排序后为:%s\n",a);
}
追问
谢谢你,\(^o^)/~
-失败是成功他爹%

2024-11-08 00:08:28

以下代码将字符串中字母按升序重新排列。
#include<stdio.h>
#include "string.h"

int main()
{
char str[81];
char *p,*q;
gets(str);
for(p=str;p<str+strlen(str)-1;p++)
for(q=str+strlen(str)-1;q>p;q--)
if(*q<*(q-1))
{
char temp=*q;
*q=*(q-1);
*(q-1)=temp;
}
puts(str);
}
相爱如饮酒

2024-11-08 00:25:07

//////////////一楼的没用指针 完毕///////////
jhdfasd
addfhjs
Press any key to continue

#include <stdio.h>
#include <string.h>
main()
{
int i,j,nLen;
char tmp,*p,str[100]={0};
p=str;
gets(str);
nLen = strlen(str);
for (i=0;i<nLen-1;i++)
{
for (j=0;j<nLen-i-1;j++)
{
if (*(p+j)>*(p+j+1))
{
tmp = *(p+j);
*(p+j)=*(p+j+1);
*(p+j+1) = tmp;
}
}
}
puts(str);
}