24小时热门版块排行榜    

查看: 518  |  回复: 1

苒叶枫

铁杆木虫 (正式写手)

[交流] 【求助】C语言上机编程。。。。【有效期至2010年9月17日】

计算机3级网络技术上机试题(ASCII码左移以及相关逻辑判断)

题干如下
实现StrCharJL()函数功能为:以行为单位把字符串种的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变;否则把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍然存入到原字符串对应的位置。最后把已处理的字符串仍按行重新存入字符串数组XX中
#include
#include
#include

char xx[50][80];
int maxline=0;

int ReadDat(void);
void WriteDat(void);

void StrCharJL(void)
{

}

void main()
{
system("CLS";
if(ReadDat())
    {
     printf("数据文件IN.DAT不能打开\n\007";  
     return;
    }
StrCharJL();
WriteDat();
}

int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN.DAT","r")==NULL)  return 1;
while(fgets(xx,80,fp)!=NULL)
      {
       p=strchr(xx,'\n');
       if(p)
           *p=0;
       i++;
      }
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void )
{
FILE *fp;
int i;
system("CLS";
fp=fopen("OUT.DAT","w";
for(i=0;i      {
      printf("%s\n",xx);
      fprintf(fp,"%s\n",xx);
     }
fclose(fp);
}

源文件中文章为:
Economic development
will inevitably generate
industrial waste which
in turn
will cause pollution
to the living environment.
Economic prosperity and a
clean environment can
not coexist.
You have to make a
choice between the two

答案给出结果为:
void StrCharJL(void)
{  int i,j;                     /*定义循环控制变量*/
int str;
char ch;
for(i=0;i {
   str=strlen(xx);       /*求得当前行的字符串长度*/
   for(j=0;j    {
     ch=xx[j]<<4;
     if(ch<=32 || ch>100)
       continue;        /*如果左移4位后字符的ASCII值小于等于32或大于100,则原字符保持不变*/
     else
       xx[j]+=4;    /*否则就把左移后的字符ASCII值加上原字符的ASCII*/
   }
}
}
文件变为
Igonomig hizilopminx

will inizixably giniraxi
inhywxrial wawxi whigh
in xyrn
will gaywi pollyxion
xo xhi lizing inzironminx.
Igonomig prowpirixy anh a
glian inzironminx gan
nox goixiwx.
Yoy hazi xo maki a
ghoigi bixwiin xhi xwo

感觉答案不对,按自己的思路运行结果又是乱码,求高手指教,希望附上调试结果,谢谢。


这是我自己做的。好像也没什么错误啊。可是运行的结果却。。。。
void StrCharJL(void)
{ int i,j;
  int k;
  for(i=0;i   { k=strlen(xx);
    for(j=0;j         { if((xx[j]<<4)<=32||(xx[j])>100)
          continue;
      else
                  xx[j]+=xx[j]<<4;
        }
  }

}


结果:
晸onomi?velopment
will inevitq俵y generqte
instriql wqste whi揾
in turn
will 搎use pollution
to the living environment
晸onomi?prosperity qn?q
搇eqn environment 搎n
not 搊exist
閛u hqve to mqke q
揾oi揺 俥tween the two


[ Last edited by 苒叶枫 on 2010-9-14 at 10:38 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

一生一代一双人。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

苒叶枫

铁杆木虫 (正式写手)

求当前字符串长度时括号中应该是xx。这儿显示不出来。

所以这点不是错误。

谢谢大家。


怎么没人啊。

[ Last edited by 苒叶枫 on 2010-9-20 at 09:43 ]
一生一代一双人。
2楼2010-09-14 10:41:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 catduolieg 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见