电脑网站制作,昆明网站制作维护,常州网站设计湛江公司电话,帮别人备案网站吗第56套#xff1a;
给定程序的功能是#xff1a;从键盘输入若干行文本#xff08;每行不超过80个字符#xff09;#xff0c;写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现…第56套
给定程序的功能是从键盘输入若干行文本每行不超过80个字符写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include string.h
#include stdlib.h
void WriteText(FILE *);
void ReadText(FILE *);
main()
{ FILE *fp;
if((fpfopen(myfile4.txt,w))NULL)
{ printf( open fail!!\n); exit(0); }
WriteText(fp);
fclose(fp);
if((fpfopen(myfile4.txt,r))NULL)
{ printf( open fail!!\n); exit(0); }
ReadText(fp);
fclose(fp);
}
void WriteText(FILE ___1___)
{ char str[81];
printf(\nEnter string with -1 to end :\n);
gets(str);
while(strcmp(str,-1)!0) {
fputs(___2___,fw); fputs(\n,fw);
gets(str);
}
}
void ReadText(FILE *fr)
{ char str[81];
printf(\nRead file and output to screen :\n);
fgets(str,81,fr);
while( !feof(fr) ) {
printf(%s,___3___);
fgets(str,81,fr);
}
} 解题思路 本题要求是把键盘上输入的内容写到指定的文件中。程序中共有三处要填上适当的内容 使程序能运行出正确的结果。 第一处要求填写文件流的自变量名在这个函数中已有的语句fputs(\n,fw);分析可知由于文件流变量fw在函数体没有定义过所以本处应填*fw或fw[]。 第二处通过while循环语句把键盘上输入的内容要写入到指定的文件中键盘上输入的内容已存入字符串str变量中因此本处应填写str。 第三处要把已存入文件中的内容再从文件中读出且已存入字符串变量str中最后在屏幕显示出来因此此处应填写str。 给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如当s中的数为7654321时t中的数为7531。 请改正程序中的错误使它能得出正确的结果。 注意不要改动main函数不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
void fun (long s, long t)
{ long sl10;
*t s % 10;
while ( s 0)
{ s s/100;
*t s%10 * sl *t; sl sl*100;
}
}
main()
{ long s, t;
printf(\nPlease enter s:); scanf(%ld, s);
fun(s, t);
printf(The result is: %ld\n, t);
} 解题思路 第一处在函数fun中使用了t但在函数定义时没有使用t所以应改为void fun(long s,long t)。 第二处每循环一次sl的值就乘以10所以应改为slsl10;。 *************************************************** 函数fun的功能是将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是将a数的十位和个位数依次放在c数的个位和百位上 b数的十位和个位数依次放在c数的千位和十位上。 例如当a45b12时调用该函数后c1524。 注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
void fun(int a, int b, long *c)
{
}
main()
{ int a,b; long c;
printf(Input a, b:);
scanf(%d,%d, a, b);
fun(a, b, c);
printf(The result is: %ld\n, c);
NONO();
} 解题思路 本题是给出两个两位数的正整数分别取出各位上的数字再按条件组成一个新数。 取a十位数字的方法a/10 取a个位数字的方法a%10 参考答案
void fun(int a, int b, long *c)
{
*c(b/10)*1000(a%10)*100(b%10)*10(a/10);
}