




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
改错参考答案:(3)将字符串yy在屏幕上输出#includevoid main() /*Found*/ char yy100由于下面的原因,所以此处的yy不能定义成数组,所以使用指针变量 = ok?n; /*Found*/ f0r (; *yy; yy+数组名不能做赋值运算和自增运算) putchar(*yy); #includevoid main() /*Found*/ char *yy=ok?n; /*Found*/ for (; *yy; yy+) putchar(*yy); (4)计算半径为2+3的圆的面积#include#define PI 3.14/*Found*/#define S(r) PI*r*rvoid main() /*Found*/ int mianJi; mianJi = S(2+3)注意:宏定义只做替换工作。所以,用2+3去替换r,而不是用(2+3)去替换; printf(mian ji=%5.2fn, mianJi);#include#define PI 3.14/*Found*/#define S(r) PI*(r)*(r)void main() /*Found*/ float mianJi; mianJi = S(2+3); printf(mian ji=%5.2fn, mianJi);(8)打开文件d:te.c用于读并判断打开是否成功#includevoid main() FILE *fp; /*Found*/ char fileName = d:te.c; /*Found*/ fp = fopen(fileName, w); /*Found*/ if (fp = EOF) puts(File Open Error!); exit(1); putchar(fgetc(fp); fclose(fp);#includevoid main() FILE *fp; /*Found*/ char fileName = d:te.c; /*Found*/ fp = fopen(fileName, r); /*Found*/ if (fp = NULL) puts(File Open Error!); exit(1); putchar(fgetc(fp); fclose(fp);(9)申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间#include#includevoid main() /*Found*/ char p100; /*Found*/ if (p = (char *)malloc(100)p能做赋值运算,所以p不能是数组名,而应该是指针变量。 = NULL) printf(malloc memory fail!n); return ; printf(%pn, p); /*Found*/ fclose(p);#include#includevoid main() /*Found*/ char *p; /*Found*/ if (p = (char *)malloc(100) = NULL) printf(malloc memory fail!n); exit(1); printf(%pn, p); /*Found*/ free(p);(10)将字符串p显示在屏幕上#include/*Found*/#define BEGIN/*Found*/#define ENDvoid main() char *p = const用const说明的量在程序运行过程中始终保持不变,相当于常量。所以下面的i+;是错误的! int i = 0; for (printf(n); pi; ) BEGIN putchar(pi); /*Found*/ i+;这两条语句都是循环体,所以必须用花括号括起来构成复合语句,那么花括号在哪里?此处只能是宏替换来完成这个任务了。 END#include/*Found*/#define BEGIN/*Found*/#define ENDvoid main() char *p = const int i = 0; for (printf(n); pi; ) BEGIN putchar(pi); /*Found*/ p+; END (14)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#include/*Found*/void swap(int x, int y函数形参中,能作出口参数的只能是数组或者是指针变量。普通变量作形参,形参的修改,不影响对应的实参。) int tmp; /*Found*/ _ *x = *y; /*Found*/ y = x;void main() int a = 3, b = 4; /*Found*/ swap(a, b); printf(a=%d b=%dn, a, b);#include/*Found*/void swap(int *x, int *y) int tmp; /*Found*/ tmp = *x; *x = *y; /*Found*/ *y = tmp;void main() int a = 3, b = 4; /*Found*/ swap(&a, &b); printf(a=%d b=%dn, a, b);(15)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#includevoid swap(int *x, int *y) int *tmptmp指针变量没有赋初值,所以不能使用*tmp, xy; /*Found*/ *tmp = x; *x = *y; /*Found*/ y = *tmp;void main() int a = 3, b = 4; /*Found*/ swap(*a, *b); /*Found*/ printf(a=%d b=%dn, &a, &b);#includevoid swap(int *x, int *y) int *tmp, xy; /*Found*/ xy = *x; *x = *y; /*Found*/ *y = xy;void main() int a = 3, b = 4; /*Found*/ swap(&a, &b); /*Found*/ printf(a=%d b=%dn, a, b);(16)worker的信息使用结构体存储,从键盘读入其各项信息并显示#includevoid main() struct WKER long ID; long int num; char name20; char sex; /*Found*/ ; worker.ID = 1L; /*Found*/ scanf(%d %s %s, &worker.num, , &worker.sex); /*Found*/ printf(workers info: num=%d name=%s sex=%sn, worker.num, , worker.sex);#includevoid main() struct WKER long ID; long int num; char name20; char sex; /*Found*/ worker; worker.ID = 1L; /*Found*/ scanf(%ld %s %c, &worker.num, , &worker.sex); /*Found*/ printf(workers info: num=%ld name=%s sex=%cn, worker.num, , worker.sex);(17)函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节#include long userLogin(char *userName) /*Found*/ long userCount该局部变量根据题目的功能看,它不能每次从0开始,换句话说,它的值在该函数调用结束后还应该保留,所以该是静态变量。 = 0; userCount+; printf(welcome user %s. There have %ld users in system.n, userName, userCount); /*Found*/ return ;void main( ) /*Found*/ char *userName指针变量userName本身是不能存放字符串的。它可以指向一片空间,由那片空间来存串的内容。但是,此处它没有赋初值,即没有指向一片可用空间。; int i; while (1) printf(userName: ); scanf(%s, userName); i = userLogin(userName); #include long userLogin(char *userName) /*Found*/ static long userCount = 0; userCount+; printf(welcome user %s. There have %ld users in system.n, userName, userCount); /*Found*/ return userCount;void main( ) /*Found*/ char userName31; int i; while (1) printf(userName: ); scanf(%s, userName); i = userLogin(userName); (19)将inBuf中字符串拆分成一个个的单词这道题目算法本身难一些,但是改错的部分基本不太涉及复杂的算法,一般是赋值语句类型不匹配等比较明显的错误。/* 单词之间的分隔符由串divChar,程序中定义为“;?!,./”。 函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。函数charInStr的功能是判断字符t是否出现在串Str中。主程序的功能是将inBuf中的所有单词在屏幕上显示出来。*/#include#define Yes 1#define No 0char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t);void main() char inBuf100 = how old are/ you?, *p, oneWord20; char divChar = ;?!,./; p = inBuf; while (*p) /*Found*/ getStrFromBuf(p, oneWord, divChar);该函数有返回值 if (*oneWord) puts(oneWord); int charInStr(char *Str, char t) for (; *Str; Str+) /*Found*/ if (*Str = *t关系运算左右两个操作数类型不匹配) /*Found*/ return No; /*Found*/ return Yes;char *getStrFromBuf(char *Buf, char *Str, char *divStr) for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = No) break; for (; *Buf; Buf+) if (charInStr(divStr, *Buf) = Yes) break; /*Found*/ Str = *Buf; Str+; /*Found*/ *Str = 0字符串结束标记0表达错误; /*Found*/ return ;#include#define Yes 1#define No 0char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t);void main() char inBuf100 = how old are/ you?, *p, oneWord20; char divChar = ;?!,./; p = inBuf; while (*p) /*当p未指向字符串结束符*/ /*Found*/ p = getStrFromBuf(p, oneWord, divChar); /*让p指向当前单词后*/ /*如果找到了一个单词,即oneWord第0字符不为0。有可能找不到,例如找到前一单词you后,p指向?且未结束,再找则没有*/ if (*oneWord) puts(oneWord); /* 判断字符t是否出现在串Str中,是则返回Yes,否则返回No */int charInStr(char *Str, char t) for (; *Str; Str+) /*Found*/ if (*Str = t) /*Found*/ return Yes; /*Found*/ return No;/* 从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。返回值指向已找到单词的下一个字符。*/char *getStrFromBuf(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小数乘小数(教学设计)-2024-2025学年五年级上册数学西师大版
- 第二章 有理数的运算-综合与实践-进位制的认识与探究 大单元教学设计方案 2024-2025学年人教版数学七年级上册
- 2025年中国抗衰老肽护肤品行业市场全景分析及前景机遇研判报告
- 2025年中国聚酯漆刷行业市场全景分析及前景机遇研判报告
- 尿毒症防治指南
- 设备采购培训课件
- 信用专题培训课件
- 2024年全球及中国汽车锂电池铝制包外壳行业头部企业市场占有率及排名调研报告
- 中国耐热压制玻璃行业市场深度调查评估及投资方向研究报告
- 2025年中国电子地图市场运行态势及行业发展前景预测报告
- DL-T800-2018电力企业标准编写导则
- 北师大版六年级下册数学期末测试卷a4版可打印
- 五金材料采购投标方案(技术方案)
- IATF16949不符合项整改8D报告
- 《电磁学》梁灿彬课后答案解析
- 产品保修卡模板
- 英国签证申请资料表(请完整填写)
- 苗木采购整体供货方案
- 《建筑材料与构造》课程标准
- 校园足球教师培训
- 在大单元中提出有价值问题的路径探索
评论
0/150
提交评论