函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数encrypt
第1题
函数ReadDat()的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT7.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
第2题
函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。
例如,原文:Adb.Bcdza
abck.LLhj
结果:Aec.Bdeab
bcdl.LLik
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
第3题
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果xx输出到文件OUT88.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:ABCdef
AACCbb
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
include<stdio.h>
include<string.h>
include<conio.h>
char xx[50] [80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void SortCharA ()
{
}
void main()
{
clrscr();
if (ReadDat())
{
printf ("数据文件IN88.DAT不能打开! \n\007");
return;
}
SortCharA();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN88.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()
{
FILE *fp;
int i;
clrscr();
fp=fopen("OUT88.DAT","w");
for(i=0;i {
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
第4题
第5题
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数$ortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,捧序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT35.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
include<stdio.h>
include<string.h>
include<conio.h>
char xx[50] [80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void SortCharD()
{
}
void main()
{
clrscr();
if (ReadDat())
{
printf ("数据文件 IN35.DAT 不能打开!\n\007 ");
return;
}
SortCharD();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN35.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()
{
FILE *fp;
int i;
clrscr();
fp=fopen("OUT35.DAT","w");
for(i=0;i<maxline;i++)
{
printf ("%s\n",xx[i]);
fprintf(fp,"%s\n',xx[i]);
}
fclose(fp);
}
第6题
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT35.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意;部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WrteDat()的内容。
试题程序:
include<Stdio.h>
include<String.h>
include<conio.h>
char xx[50][80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void SortCharD()
{
}
void main()
{
Clrscr();
if (ReadDat())
{
printf("数据文件 IN35.DAT不能打开!\n\007");
return;
}
SortChar D();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
Char*p;
if((fp:fOpen("IN35.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()
{
FILE *fp;
int i;
Clrscr();
fp:fopen("OUT35.DAT","w");
for(i:0;i<maxline;i++)
{
printf("%s\",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
第7题
第8题
函数ReadDat()的功能是实现从文件IN2.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数 StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT2.DAT中。
例如:原文:YOU He Me
I am a student.
结果: Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
include <stdio.h>
include <string.h>
include <conio.h>
include <ctype.h>
char xx[50] [80];
int maxline = 0;/* 文章的总行数 */
int ReadDat (void);
void WriteDat (void);
void StrOL(void)
{
main ()
{
clrscr ();
if (ReadDat ())
{
printf("数据文件 IN2.DAT不能打开! \n\007");
return;
}
StrOL ();
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
char *p;
if((fp = fopen("IN2.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 (rD):
return 0;
}
void WriteDat (void)
{
FILE*fp;
int i;
clrscr ();
fp = fopen("OUT2.DAT", "w");
for(i = 0; i < maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]);
}
fclose (fp);
}
第9题
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数 Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT93.DAT文件中。
计算方差的公式如下:
原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
试题程序:
include<stdio.h>
include<stdlib.h>
include<string.h>
define MAX 1000
int xx[MAX],odd=0,even=0;
double aver=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{
FILE *fp;
if((fp=fopen("IN93.DAT","r"))==NULL
return 1;
fclose(fp);
return O;
}
void Compute(void)
{
}
void main()
{
int i;
for(i=O;i<MAX;i++)
xx[i] =0;
if (ReadDat () )
{
print f ("数据文件IN93.DAT不能打开! \007\n");
return;
}
Compute();
printf("ODD=%d\nEVEN=%d\nAVER=%lf\nTOTFC=%lf\n",
odd, even,aver,totfc);
WriteDat();
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("OUT93.DAT","w");
fprintf(fp,"%dln%dln%lf\n%lfkn",odd,even,aver,totfc);
fclose(fp);
}
第10题
函数ReadDat()的功能是实现从文件ENGl8.IN中读取一篇英文文章,存少、到字符串数组xx中:请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数纽xx的对应的位置上,最后凋用函数WriteDat()把结果xx输出到文件PS18.DAT中。
替代关系:f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(P)的值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
include<conio.h>
include<ctype.h>
unsigned char xx[50] [80];
int maxline = 0; /*文章的总行数 */
int ReadDat(void);
void WriteDat(void);
void encryptChar()
{
}
main ()
{
clrscr();
if(ReadDat())
{
printf("数据文件ENG18.IN不能打开! \n\007 ");
return;
}
encryptChar();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp = fopen("ENG18.IN", "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;
fp = fopen("PS18.DAT", "w");
for(i = 0; i < maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]);
}
fclose(fp);
}
第11题
函数ReadDat()的功能是实现从文件IN39.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ChA(),该函数的功能是:以行为单位把字符串的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的字符,以此类推一直处理到倒数第二个字符,最后一个字符的ASCII值加第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后仍按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT39.DAT中。
注意:部分源程序已给出。
原始文件存放的格式是:每行的宽度小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
include<stdio.h>
include<string.h>
include<conio.h>
char xx[50] [80];
int maxline=0;
int ReadDat ();
void WriteDat();
void ChA(void)
{
}
void main()
{
clrscr ();
if (ReadDat ())
{
printf ("数据文件IN39.DAT不能打开! \n\007");
return;
}
ChA();
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i=0;
char *p;
if ((fp=fopen ("IN39.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()
{
FILE *fp;
int i;
clrscr ();
fp=fopen ("OUT39.DAT", "w");
for (i=0; i<maxline; i++)
{
printf ("%s\n", xx [i] );
fprintf (fp, "%s\n", xx [i] );
}
fclose (fp);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!