C语言对字符串中的字符按照字母顺序和数字顺序重新排列?
#include<stdio.h>#include<string.h>int main(){ char a[100]; char b[100]; char c[100]; int n,i,x,y; scanf("%s",a); n=strlen(a); y=0; x=0; for(i=0;i<n;i++) { if(a[i]>=48 && a[i]<=57) b[y++]=a[i]; if(a[i]>=65&& a[i]<=90 || a[i]>=97 && a[i]<=122) c[x++]=a[i]; } b[y]='\0'; c[x]='\0'; printf("%s%s\n",c,b);}
C语言,如何对二维数组进行按列排序?
在C语言中,二维数组按行存储,对每一行排序很方便,可以把每一行当成一个一维数组,使用排序函数直接进行排序。
然而对每一列进行排序,就不能直接当成一维数组进行排序。但是仍然可以把第j列a[0...M-1][j]在逻辑上当成一维数组进行排序,下面以使用冒泡排序为例对其排序。
对二维数组按列排序后,进一步展示了如何调用快速排序函数按行进行排序。
程序源码:
#include
编译运行后的结果如下:
程序源码和编译后的可执行程序已经打包放在附件里,可以直接下载运行。
如何用c语言分离字符串中的字母和数字并分别输出?
给你个思路吧,你能实现小写的排序,编程本身应该难不到你
程序直接分三部分写,小写的排序,大写的排序,数字的排序。这三个部分可以循环完成。
在小写的排序中这样实现:
1.搞两个指针从前往后找(不想用指针,直接用整形标记下标也行)
2.找到依次两个小写字母,若第一应该在第二之后,交换这两个的位置
3.第一指针指向第二个的位置,第二个继续找下一个小写字母,然后重复步骤2到尾部结束。
4.记录下小写字母的个数n。以上1-3再重复n-1次。
其实就是针对小写字母做冒泡把非小写字母排除在外不动它就是了。
大写和数字的可以循环完成。
具体实现我就不把代码写出来了,你不明白的再问吧
是用C语言实现如下功能:从键盘输入8个整数,使用冒泡排序法把他们升序输出?
#include <stdio.h>
int main()
{
int a[6],i,j;
printf("请输入6个数字:\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)//冒泡。
{
for(j=0;j<5-i;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("冒泡排序后:\n");
for(i=0;i<6;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

