ImageVerifierCode 换一换
格式:DOC , 页数:28 ,大小:89KB ,
资源ID:4497794      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4497794.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(c语言编程题答案.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c语言编程题答案.doc

1、六、编程题参考答案1编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 #include stdio.h #define N 50 void main() float x; unsigned int s1,s2,s3,i; s1=s2=s3=0; for(i=1;i=N;i+) scanf(%f,&x); if(x0) s1+; else if(x=0) s2+; else s3+; printf(负数%u个,零%u个,正数%u个n,s1,s2,s3); 2. 编程,计算并输出方程 X2+Y2=1989 的所有整数解。 #include stdio.h void main()

2、 int x,y; for(x=-45;x=45;x+) y=-45; while(y=45) if(x*x+y*y=1989) printf(%d*%d+%d*%d=%dn,x,x,y,y,1989); y+; 3编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。 #include stdio.h void main() unsigned int x; printf(请输入一个十进制正整数:); scanf(%u,&x); printf(%d=八进制数 %o=十六进制数%xn,x,x,x); 4编程,找出1000以的所有完数,并输出其因子。 #include stdio.h

3、 void main() int i,j,s=1; for(i=1;i=1000;i+,s=1) for(j=2;j=i/2;j+) if(i%j=0) s+=j; / 求 i的因子和 if(s=i) printf(%d=1,i); / 如果i 是完数则输出其各因子 for(j=2;j=i/2;j+) if(i%j=0) printf(+%d,j); printf(n); 5. 输入一个正整数,输出它的所有质数因子。 #include stdio.h void main() int m,i=2; printf(请输入一个整数:); scanf(%d,&m); while(m!=1) if(m%

4、i=0) printf(%d ,i); m/=i; else i+; printf(n); 6. 输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。 #include stdio.h #define N 20 void main() int aN,i,j; for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN;i+) for(j=0;jN;j+) if(ai%aj=0&i!=j) printf(%dn,ai); break; 7. 输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。 #include stdio.h #define NA 6

5、 #define NB 8 void main() float aNA,bNB; int i,j; for(i=0;iNA;i+) scanf(%f,&ai); for(i=0;iNB;i+) scanf(%f,&bi); for(i=0;iNA;i+) for(j=0;jNB;j+) if(ai=bj) printf(%fn,ai); break; 8. 输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素。 #include stdio.h #define NA 6 #define NB 8 void main() float aNA,bNB; int i,j; for(i=0

6、;iNA;i+)scanf(%f,&ai); for(i=0;iNB;i+)scanf(%f,&bi); for(i=0;iNA;i+) for(j=0;jNB;j+) if(ai=bj) break; if(j=NB) printf(%f ,ai); printf(n); for(i=0;iNB;i+) for(j=0;jNA;j+) if(bi=aj) break; if(j=NA) printf(%f ,bi); printf(n); 9编程,将字符数组S2中的全部字符拷贝到字符数组S1中。 #include stdio.h void main() char s120,s2=Good m

7、orning!; int i=0; while(s1i+=s2i)!=0); printf(%sn,s1); 10给定年份year,判别该年份是否闰年(定义一个宏以判别该年份是否闰年)。 #include #define f(year) year%4=0&year%100!=0|year%400=0 void main() int y; printf(请输入年份:); scanf(%d,&y); if(f(y) printf(%d 年为闰年n,y); else printf(%d 年不是闰年n,y); 11输入一行小写字母后,或输出原文,或将字母变成其下一字母(a变成b、b变成c、x变成y、y

8、变成z、z变成a)输出,用条件编译方法实现以上选择。 #include #define MAX 80 #define SWITCH 1 void main() char strMAX; int i=0; printf(请输入文本行:n); scanf(%s,str); #if(SWITCH) while(stri!=0) if(stri=a&stri=z) if(stri=z)stri=a; else stri+; i+; #endif printf(%sn,str); 12. 编写函数,处理n行n列维数组:将每一行的元素同除以该行上绝对值最大的元素。 #include stdio.h #in

9、clude math.h void div(float* a,int n) int i,j; float x; for(i=0;in;i+) x=*(*(a+i); for(j=1;jfabs(x) x=*(*(a+i)+j); for(j=0;jn;j+) *(*(a+i)+j)/=x; return; void main() / 函数引用示例 float b33=1,2,3,4,5,6,7,8,9; int i,j; float* c3; for(i=0;i3;i+) ci=bi; div(c,3); for(i=0;i3;i+) for(j=0;j3;j+) printf(%f ,bij

10、); printf(n); 13. 编写函数,求任意阶多项式 a0+a1X+a2X2+.+anXn 的值并返回多项式的值。 #include stdio.h float f1(float* a,float x,int n) int i; float t=1,y=0; for(i=0;in;i+) y+=*(a+i)*t; t*=x; return y; void main() / 函数引用示例 float b4=1,2,3,4; printf(%fn,f1(b,2,4); 14. 设计一个函数,使给出一个数的原码,能得到该数的补码。 #include / 假定sizeof(int)为2; un

11、signed int getbit(unsigned int value) /第1位为0表示数的原码, if(value15) return (value0x7fff)+1; /其补码即其原码;若value else return value; /右移15位后为1,表示value是负数的原码,负数 /的补码为原码按位取反(第1位不变)后加1。 void main() unsigned int y=0x800c,k; k=getbit(y); printf(%xn,k); 15. 编写函数,求m行、n列的二维数组全体元素中负数的个数。 #include int sum(float *a,int

12、m,int n) int i,j; int y=0; for(i=0;im;i+) for(j=0;jn;j+) if(*(*(a+i)+j)0) y+; return y; void main() / 函数引用示例 float b23=-1,2,-3,4,-5,-6; int i; float* c2; for(i=0;i2;i+) ci=bi; printf(%dn,sum(c,2,3); 16. 编写函数,返回在一个整数组中出现次数最多的数与其出现次数。 #include void fun(float *a,int n,int *k,float *x) int i,j,y; *k=0;

13、for(i=0;in;i+) y=0; for(j=0;j*k) *k=y; *x=*(a+i); return; void main() / 函数引用示例 float c10=0,4,2,4,3,2,4,-3,1.5,7.6,t; int m; fun(c,10,&m,&t); / 若说明float *t; int *m; printf(元素%f出现次数为%dn,t,m); / 引用为 fun(c,10,m,t) 将 / 产生悬挂指针的错误,即t、m不只指向确定的存储单元。17编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。 #include void main() char

14、 *month_name12=January,February,March,April, May, June,July,August,September,October, Novenber,December; int n; printf(请输入月份号:); scanf(%d,&n); if(n12) printf(月份号输入错误!n); else printf(%d月的英文表示是%sn,n,month_namen-1); 18编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。 #include void pline() char ch; if(ch=getchar()!=?)

15、pline(); putchar(ch); return; void main() / 函数引用示例 pline(); printf(n); 19. 编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a0和an-1),要求以指针变量而不是数组名作参数。 #include int num(float *x,int n) int i,k=0; for(i=1;i*(x+i-1)&*(x+i)*(x+i+1) k+; return k; void main() / 函数引用示例 float a10=1,3,4,2,6,7,12,5,9,8; printf(%dn,

16、num(a,10); 20. 编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。 #include void num(float *b,int n,float *max,float *min) *max=*b; *min=*b; for(int i=1;i*max) *max=*(b+i); if(*(b+i)*min) *min=*(b+i); return; void main() / 函数引用示例 float a10=1,3,4,2,6,7,12,5,9,8,x,y; num(a,10,&x,&y); printf(最大值为%f,最小值为%f。n,x,y); 21.

17、编写一个函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并返回统计结果。 #include void sub(float* a,int m,int n,int *fs,int *lin,int *zs) int i,j; *fs=*lin=*zs=0; for(i=0;im;i+) for(j=0;jn;j+) if(*(*(a+i)+j)0) (*fs)+; else if(*(*(a+i)+j)=0) (*lin)+; else (*zs)+; return; void main() / 函数引用示例 float b53=-1,5,2,3,0,-2,0,-3,5, 4,7,

18、-8,3,4,5,*c5; int i,k1,k2,k3; for(i=0;i5;i+) ci=bi; sub(c,5,3,&k1,&k2,&k3); printf(负数%d个,零%d个,正数%d个。n,k1,k2,k3); 22. 编写函数,在给定的一行以.结束的字符中,找出最长的单词并输出。 #include void find(char *str) char *p1,*p2,*p3; int k1=0,k2=0; / k1为最长串的长度,初值为0。 p1=p2=p3=str; / p3指向最长串首字符,p1指向当前处理串首字符, while(*p2!=.) / p2为移动指针,*p2为空

19、格表示查找到单词尾部。 if(*p2!= ) k2+; p2+; else if(k2k1) p3=p1; p1=+p2; k1=k2; k2=0; else k2=0; p1=+p2; for(k2=0;k2=k1;k2+) printf(%c,*(p3+k2); printf(n); return; void main() / 函数引用示例 char a40; int i=0; while(ai+=getchar()!=.); find(a); 23. 编写函数print,打印一个学生的成绩数组,该数组中有若干个学生的数据记录,每个记录包括num,name,score3。 #include

20、 struct student char num7,name9;int score3; ; / 尾部分号不得遗漏 void print(struct student* s,int n) int i; / 运算符*、&的优先级均低于运算符. for(i=0;in;i+) printf(%s %s %4d%4d%4dn,(*(s+i).num,(*(s+i).name, (*(s+i).score0,(*(s+i).score1,(*(s+i).score2); return; void main() struct student t4; int i; for(i=0;i4;i+) scanf(%

21、s%s%d%d%d,&ti.num,&ti.name,&ti.score0, &ti.score1,&ti.score2); print(t,4); 24. 把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中的英文字符。 #include void main() FILE *fpd1,*fpd2; char ch; fpd1=fopen(d1.dat,r); fpd2=fopen(d2.dat,w); while(fscanf(fpd1,%c,&ch)!=EOF) if(ch=A&ch=a&ch=z) fprintf(fpd2,%c,ch); fclose(fpd1)

22、; fclose(fpd2); 25. 编程,把文本文件d1.dat复制到d2.dat(其中空格字符不复制)。 #include void main() FILE *fpd1,*fpd2; char ch; fpd1=fopen(d1.dat,r); fpd2=fopen(d2.dat,w); while(fscanf(fpd1,%c,&ch)!=EOF) if(ch!= ) fprintf(fpd2,%c,ch); fclose(fpd1); fclose(fpd2); 26. 编程,把文本文件d1.dat复制到d2.dat(其写英文字母要转换为小写字母)。 #include void ma

23、in() FILE *fpd1,*fpd2; char ch; fpd1=fopen(d1.dat,r); fpd2=fopen(d2.dat,w); while(fscanf(fpd1,%c,&ch)!=EOF) if(ch=A&ch=Z) ch=ch+32; fprintf(fpd2,%c,ch); fclose(fpd1); fclose(fpd2); 27. 把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字以外的其它容。 #include void main() FILE *fpd1,*fpd2; char ch; fpd1=fopen(d1

24、.dat,r); fpd2=fopen(d2.dat,w); while(fscanf(fpd1,%c,&ch)!=EOF) if(!(ch=A&ch=a&ch=0&ch=9) fprintf(fpd2,%c,ch); fclose(fpd1); fclose(fpd2); 28. 求出1至100之间的素数(只能被1和自身整除的数)并顺序写入文件su.dat。 #include #include void main() FILE *fp; int i,j,k=2; fp=fopen(su.dat,w); fprintf(fp,%4d%4d,2,3); for(i=5;i100;i=i+2) f

25、or(j=3;jsqrt(i) fprintf(fp,%4d,i); k+; if(k%10=0) fprintf(fp,n); fclose(fp); 29磁盘文件a1和a2,各自存放一个已按字母顺序排好的字符串,编程合并二个文件到a3文件中,合并后仍保持字母顺序。 #include #include void main() FILE *fp1,*fp2,*fp3; int i,j,k; char c1,c2; fp1=fopen(a1,r); fp2=fopen(a2,r); / 首先从文件a1、a2中各读入一个字符分别送入变量c1、c2,下面将作 / 循环比较,直到读到文件尾标志为止。

26、fp3=fopen(a3,w); c1=fgetc(fp1); c2=fgetc(fp2); do if(c1c2) fputc(c1,fp3);c1=fgetc(fp1); else fputc(c2,fp3); c2=fgetc(fp2); while(!feof(fp1)&!feof(fp2); / 若a1先读到文件尾,则将c2写入a3,再将a2中其它字符读入后写入a3;. if(feof(fp1) do fputc(c2,fp3); c2=fgetc(fp2); while(!feof(fp2) ; else do fputc(c1,fp3); c1=fgetc(fp1); while

27、(!feof(fp1) ; fclose(fp1); fclose(fp2); fclose(fp3); 30顺序文件C.DAT每个记录包含学号(8位字符)和成绩(三位整数)两个数据项。从文件读入学生成绩,将大于或等于60分的学生成绩再形成一个新的文件SCORE60.DAT保存在A盘上,并显示出学生总人数、平均成绩和与格人数。 #include #include void main() FILE *fp1,*fp2; char s9; int x,zrs=0,pjcj=0,jgrs=0; fp1=fopen(c.dat,r); fp2=fopen(a:score60.dat,w); fscan

28、f(fp1,%s%d,s,&x); do zrs+; pjcj+=x; if(x=60) jgrs+; fprintf(fp2,%s %dn,s,x); fscanf(fp1,%s%d,s,&x); while(!feof(fp1); printf(总人数:%d 平均成绩:%d 与格人数:%dn,zrs,pjcj/zrs,jgrs); fclose(fp1); fclose(fp2);31程序清单:typedef int datatype;typedef struct nodedatatype data;struct node *next;linklist;INVERT(linklist *h

29、ead)linklisk *p,*q; p=head-next; if(p!=NULL) head-next=NULL; doq=p-next; p-next=head-next; head-next=p; p=q;while(p!=NULL);32程序清单:PURGE(linklist *head)linklist *p,*q; q=head-next; if(q=NULL)return;p=q-next;while(p!=NULL)if(p-data=q-data)q=p-next; free(p);p=q-next;elseq=p;p=p-next;33、程序清单:#include ma

30、in()static char x=”computer”; char *p; for(p=x;px+7;p+=2)putchar(*p);printf(“n”);34、#include #include main()int m;char str80,str280;printf(“input a string:n”);gets(str2);printf(“intput m:n);scanf(“%d”,&m);if(strlen(str2)m) printf(“err input!n”);elsecopystr(str1,str2,m);printf(“rsult is :%sn”,str1);c

31、opystr(char *p1,char *p2,int m)int n=0;while(nm-1)p2+; n+;while(*p2!=0)*p1=*p2;p1+=; p2+;*p1=0;35、程序清单:float search(float (pointer)4,int n)float *pt;pt=*(pointer+n);return(pt);36、Main()int score4=60,76,80,90,45,86,57,90,58,95,80,71,78,50,60,85; int (*p)4,j,k,flag;p=score;for(j=0,j4;j+) if(*(*(p+j)+k)60)flag=1; if(flag=1) printf(“NO.%dis fail,svoreare:n”,j);for(k=0,;k=0;I-)printf(“%d”,*(b+i)printf(“n”);、float p(int n,int x)flaot t,t1,t2;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服