关于ASCII码数组排序经过大神修改的源码 收获很大

#include<stdio.h>
int main()
{
  int i,j,t,k,N;
  char a[100][3];//题目没有指明N的上限,因此100可能不够大.最好是读入一行,即输出一行,这样定义char a[3]即可.
  //OJ上不能输出此类信息 printf("请输入字符行数N");
  scanf("%d",&N);
  getchar(); //消化"\n"
  //OJ上不能输出此类信息 printf("请输入每行的三个字符");
  for(i=0;i<N;i++)
  {
    for(j=0;j<3;j++)
      scanf("%c",&a[i][j]);
    getchar(); //消化"\n"而不是printf("\n");
  }
  for(i=0;i<N;i++)
  {
    for(j=0;j<3;j++)
      for(k=0;k<2-j;k++)//每三个数比较一次
        if(a[i][k]>a[i][k+1])
        {
          t=a[i][k];
          a[i][k]=a[i][k+1];
          a[i][k+1]=t;
        }
  }
  for(i=0;i<N;i++) //改  for(i=0;i<N;i++);
  {//加
    for(j=0;j<3;j++)//改  for(i=0;i<3;i++);
      printf("%c%s",a[i][j], j<2? " ":"");//对于每组输入数据,输出一行,字符中间用一个空格分开
    printf("\n");
  }//加
  return 0;//加
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值