当前位置: 代码迷 >> C语言 >> 这个式子什么含义??????????
  详细解决方案

这个式子什么含义??????????

热度:242   发布时间:2008-04-04 22:54:45.0
这个式子什么含义??????????
函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
  条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,右边部分按字符的ASCII值降序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。
  例如:位置   0 1 2 3 4 5 6 7 8
     源字符串 h  g  f  e  a  b  c  d
                    8  7  6  5  9  1  2  3  4
     则处理后字符串 e  f  g  h  d  c  b  a
                    5  6  7  8  9  4  3  2  1
void jsSort()
{
int i,j,k,strl;
char ch;
  for(i=0;i<20;i++)
  {
  strl=strlen(xx[i]);
   for(j=0;j<strl/2;j++)
        for(k=j+1;k<strl/2;k++)
           if(xx[i][j]>xx[i][k])
             {
              ch=xx[i][j];
              xx[i][j]=xx[i][k];
              xx[i][k]=ch;
                           }
if(str1%2) half++;     (half=str1/2)
for(j=half;j<str1-1;j++)


[[it] 本帖最后由 cbullet 于 2008-4-4 23:26 编辑 [/it]]
搜索更多相关的解决方案: 字符  含义  函数  dat  ASCII  

----------------解决方案--------------------------------------------------------
if(x)  中x为0,则为假  为非0 则为真  你的问题不太明朗
----------------解决方案--------------------------------------------------------
完整代码。。
----------------解决方案--------------------------------------------------------
你的str1是字符串还是整型?
名字像是字符串,用法却是整型。
如果是整型,这个句子就是判断是否是奇数
奇数为真,偶数为假
----------------解决方案--------------------------------------------------------
if(str1%2)
首先,先看str1是字符型还是整型.
字符型则用它的ASCII 值去对2取余.
整型的你就应该知道了吧.

所以if(str1%2)的含义就是:
如果str1%2 == 0 进入if
否则执行后续语句.
----------------解决方案--------------------------------------------------------
strl为整型,
strl=strlen(xx[i]);//xx[i]的长度
if(str1%2) half++;//xx[i]的长度为奇数时half++,偶数时执行后面.
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]meteor57[/un] 在 2008-4-4 23:09 的发言:[/bo]

if(str1%2)
首先,先看str1是字符型还是整型.
字符型则用它的ASCII 值去对2取余.
整型的你就应该知道了吧.

所以if(str1%2)的含义就是:
如果str1%2 == 0 进入if
否则执行后续语句. ...

有一个严重的问题...
不好意思,手误.
"如果str1%2 == 0 进入if"
应该是
如果str1%2 == 1 进入if
----------------解决方案--------------------------------------------------------
代码还是有点问题,half没定义,就出现了++。不过大概意思就是6楼所说的那样
----------------解决方案--------------------------------------------------------
LZ用strl是string length的缩写吧,不是很好的命名
----------------解决方案--------------------------------------------------------
恩,我看那些都是str1=strlen(xx[i]),后面就用str1了
----------------解决方案--------------------------------------------------------
  相关解决方案