C语言编程 编写程序,从键盘输入一个字符串放在字符数组a中,用选择法将a中的有效字符按降序排列
C语言编程编写程序,从键盘输入一个字符串放在字符数组a中,用选择法将a中的有效字符按降序排列选择法能运行成功谢谢...
C语言编程 编写程序,从键盘输入一个字符串放在字符数组a中,用选择法将a中的有效字符按降序排列
选择法 能运行成功 谢谢 展开
选择法 能运行成功 谢谢 展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void inOrder(char array[], int n );
int main(int argc, char *argv[])
{
char temp[100];
printf("请输入字符串:\n");
gets(temp);
char a[strlen(temp)+1];
strcpy(a,temp);
inOrder(a,strlen(temp));
int k;
for(k=0; k<strlen(temp); k++)
{
printf("%c",a[k]);
}
system("pause");
return 0;
}
//选择法排序函数
void inOrder(char array[], int n)
{
int i, j;
char temp;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(array[j]>array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
在DEV C++中编写可用,temp数组只是暂时存放输入字符串的,它的大小可根据你实际需要调大调小。
#include <stdlib.h>
#include <string.h>
void inOrder(char array[], int n );
int main(int argc, char *argv[])
{
char temp[100];
printf("请输入字符串:\n");
gets(temp);
char a[strlen(temp)+1];
strcpy(a,temp);
inOrder(a,strlen(temp));
int k;
for(k=0; k<strlen(temp); k++)
{
printf("%c",a[k]);
}
system("pause");
return 0;
}
//选择法排序函数
void inOrder(char array[], int n)
{
int i, j;
char temp;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(array[j]>array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
在DEV C++中编写可用,temp数组只是暂时存放输入字符串的,它的大小可根据你实际需要调大调小。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用C#的,给你一个思路,我懒得写了。
1、将字符串分离到字符数组里
2、判断字符是不是有效
3、将有效字符另存
4、将另存的数组循环排列
5、合并成字符串
1、将字符串分离到字符数组里
2、判断字符是不是有效
3、将有效字符另存
4、将另存的数组循环排列
5、合并成字符串
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void choise(int *a,int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++){
k=i;/*给记号赋值*/
for(j=i+1;j<n;j++)
if(a[k]>a[j]) k=j;/*是K总是指向最小元素*/
if(i!=k){/*当k!=j是才交换,否则a[i]即为最小*/
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
{
int i,j,k,temp;
for(i=0;i<n-1;i++){
k=i;/*给记号赋值*/
for(j=i+1;j<n;j++)
if(a[k]>a[j]) k=j;/*是K总是指向最小元素*/
if(i!=k){/*当k!=j是才交换,否则a[i]即为最小*/
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
参考资料: http://wenku.baidu.com/view/fa5387c69ec3d5bbfd0a7453.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询