从键盘上输入8个数字和9个字母,要求顺序混乱,然后将8个数字升序排列后以2*4的矩阵形式输出,9个字母降序后以3*3的矩阵形式输出
从键盘上输入8个数字和9个字母,要求顺序混乱,然后将8个数字升序排列后以2*4的矩阵形式输出,9个字母降序后以3*3的矩阵形式输出
程序代码:/*******************************************************************************
从键盘上输入8个数字和9个字母,要求顺序混乱,然后将8个数字升序排列后以2
*4的矩阵形式输出,9个字母降序后以3*3的矩阵形式输出.
*******************************************************************************/
#include<stdio.h>
#include<string.h>
void sort(char a[])/*----排序 ---------*/
{
int i,j;
char t;
for(i=0;i<strlen(a);++i)
for(j=i+1;j<strlen(a);++j)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
int main(void)
{
char a[18],CHAR[10],num[9];
int i,j,k;
printf("input a[]:\n");
gets(a);
for(i=j=k=0;i<strlen(a);++i)
{
if(a[i]>='0'&&a[i]<='9')
num[j++]=a[i];/*----当某个数据等于数字时,存入数字的字符串 */
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
CHAR[k++]=a[i];/*---当某个数据等于字母时,存入字母的字符串 */
}
num[++j]='\0';
CHAR[++k]='\0';/* 人工添加结束标记 */
sort(CHAR);
sort(num);/* 两个字符串排序*/
printf("----------------------------------------\n\nnum :\n");
for(i=0;i<9;++i)
{
printf("%c",num[i]);
if(i!=0&&i%4==0)
printf("\n");/*升序输出数字字符串,并输出正确格式*/
}
printf("-----------------------------------------\n\nchar :\n");
for(i=9;i>0;--i)
{
if(i%3==0)
printf("\n");
printf("%c",CHAR[i]);/* 降序输出字母字符串,并输出正确格式*/
}
printf("\n");
return 0;
}








