C习题(3)

来源:网络收集 时间:2025-04-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

13.5.1略 答案

#include

#define MUL(a,b) ((a)*(b)) main() { int x,y; printf( scanf( printf(}

/*宏定义求两个数的混合运算*/

/*宏定义调用*/

13.5.2

#include

#define MIN(a,b,c) ((a)>(b)?((b)>(c)?(c):(b)):((a)>(c)?(c):(a))) /*宏定义找两个数中较小数*/ main() { int x,y,z; printf(、y、z:\\n scanf( printf( }

函数法

1.嵌套if结构

2.定义一个数组,for循环判断 if(max

14.6.1

#include #include Int main() {

FILE *fp1,*fp2; Int n;

Char ch,filename[20],str[30];

If(fp1=fopen((“C:\\123.txt,r”)==NULL) {

Printf(“can not open the file!\\n”); Exit(0); }

Ch=fgetc(fp1); While(ch!=EOF) {

Putchar(ch); Ch=fgetc(fp1); }

N=Ftell(fp1); Fgets(str,n,fp1);

Printf(“please input filename:\\n”);

/*宏定义调用*/

Scanf(“%s”,&filename); Fp2=fopen(“filename”,”w”); Fputs(str,fp2); Fclose(fp1); Fclose(fp2); }

程序修改如下

这里注意了fp=fopen(const char *path,const char *mode)原型 Fgets(字符数组名,n,文件指针) 注意了这里

n是包括“\\0”的 所以下面程序

中会是n+1 不然会出错

#include #include int main() { FILE *fp1,*fp2; int n; char ch,filename[20],str[30]; if((fp1=fopen( { printf( exit(0); } ch=fgetc(fp1); while(ch!=EOF) { putchar(ch); ch=fgetc(fp1); } printf( n=ftell(fp1); printf( rewind(fp1); fgets(str,n+1,fp1); printf( scanf( fp2=fopen(filename, fputs(str,fp2); fclose(fp1); fclose(fp2); return 0; }

答案

#include main() {

FILE *in,*out; /*定义两个指向FILE类型结构体的指针变量*/ char ch, infile[50], outfile[50]; /*定义数组及变量为基本整型*/ printf( scanf( /*输入将要被复制的文件所在路径及名称*/ printf( scanf( /*输入新建的将用于复制的文件所在路径及名称*/ if ((in = fopen(infile, /*以只写方式打开指定文件*/ {

printf( exit(0); }

if ((out = fopen(outfile, {

printf( exit(0); }

ch = fgetc(in); while (ch != EOF) {

fputc(ch, out); //这个程序就简化多了 /*将in指向的文件的内容复制到out所指向的文件中*/ ch = fgetc(in); }

fclose(in); fclose(out); }

14.6.2

#include Struct student {

Float math; Float chinese; Float english; }stu[i];

Int main() {

FILE *fp; Int n;

Char filename[20];

Printf(“please enter the number of students:\\n”); Scanf(“%d”,&i); For(n=0;n

Puts(please enter the sorce of students:);

Scanf(“%f,%f,%f\\n”,&stu[i].math,&stu[i].chinese,&stu[i].english); }

Puts(please input the filename:) Scanf(“%s”,&filename); Fp=fopen(filename,”w”); Fputs(stu,fp); Fclose(fp); Return 0; } 答案

#include #include struct score_list /*定义结构体存储学生成绩信息*/ {

char name[10]; int math; int Chinese; int English; } score[100];

void save(char *name, int n) /*自定义函数save*/ {

FILE *fp; /*定义一个指向FILE类型结构体的指针变量*/ int i;

if ((fp = fopen(name, /*以只写方式打开指定文件*/ {

printf( exit(0); }

for (i = 0; i < n; i++)

if (fwrite(&score[i],地址开始写入 sizeof(struct score_list), 1, fp) != 1) /*将一组数据输出到fp所指的文件中*/

printf( /*如果写入文件不成功,则输出错误*/ fclose(fp); /*关闭文件*/ }

main() {

int i, n; /*变量类型为基本整型*/ char filename[50]; /*数组为字符型*/ printf( scanf( /*输入学生数*/ printf( scanf( /*输入文件所在路径及名称*/ printf( for (i = 0; i < n; i++) {

printf(

scanf(

&score[i].math,&score[i].Chinese,&score[i].English); save(filename, n); } }

/*输入学生成绩信息*/ /*调用函数save*/

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库C习题(3)在线全文阅读。

C习题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/200126.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219