永发信息网

关于C语言的 位运算问题

答案:2  悬赏:80  手机版
解决时间 2021-04-28 22:04

函数ReadDat()实现从文件IN。DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJL(),其功能是:以行为单位把字符串中所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到的新字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT。DAT中。
  原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分程序已经给出。

StrCharJL()是自己写的··其他的部分已经给出

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include<windows.h>

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

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

void StrCharJL(void)
{
 int i,j;
 int str;
 for(i=0;i<maxline;i++)
 {
  str=strlen(xx[i]);
  for(j=0;j<str;j++)
  if((xx[i][j]<<4)<=32||(xx[i][j]<<4)>100)
  continue;
  else
  xx[i][j]=xx[i][j]+xx[i][j]<<4;
 }

}

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[i],80,fp)!=NULL){
  p=strchr(xx[i],'\n');
  if(p)*p=0;
  i++;
 }
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{
 FILE *fp;
 int i;

 system("cls"); 
 fp=fopen("OUT7.DAT","w");
 for(i=0;i<maxline;i++){
  printf("%s\n",xx[i]);
  fprintf(fp,"%s\n",xx[i]);
 }
 fclose(fp);
}

我写完之后 通过编译之后执行 得到的CMD框显示的不是更改后的文章··
求高手指点错误 谢谢··
StrCharJL函数有问题吗? 


最佳答案

以行为单位把字符串中所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到的新字符仍存入原字符串对应的位置上。


-------------------------------------------------


英文字母的ASCII码范围是65~122,空格忘了是30还是33,回车是13换行是10,请问你文章字符的ASCII左移4位(左移时会隐式转换成整形,相当于乘16却不会溢出)后还在32~100的区间?

全部回答
我会,就不告诉嫩~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
几个英语短语的意思。
星光制刷厂这个地址在什么地方,我要处理点事
乳液和霜到底该用那个
为什么现在的人都喜爱玩游戏
手机QQ下载版本该怎么使用
开个20台的小网吧大概要多少钱?(配置中上等
2015年3d230期锦州凌海字谜是啥意思
为什么让电池休息一下,会用得更久
嘻嘟嘟儿童乐园地址在什么地方,想过去办事
环保局是事业单位吗,在环保局工作不属事业编
电脑杀毒软件开启不了
柚子有哪些功效?
梦见了一个跟蚌精挺像的东西咬住了我是怎么了
怎样才能把QQ空间的照片传到百度帖吧里?
全身体毛过多怎么办(女生)
推荐资讯
谁有"cry on my shoulder"的背景音乐啊
DELL PP05L 开机就要求输入密码,高手们如何破
上联;小家大家大小都是家 下联呢?
不喜欢交朋友的人心理是不是有病啊。
漳州亨立物业发展有限公司地址在哪,我要去那
谁能帮我把这个跑跑情侣名字加点符号啊,卡布
无双大蛇z的sp技怎么用?
怎么样把QQ好友复制到另1个分组
最近 气温
春风春雨春色的下一句,首句歌词是戏曲不到园
青春痘可以用肤乐王霜剂
跪求谁有尘埃2下载地址
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?