华农C语言教材习题答案.docx
《华农C语言教材习题答案.docx》由会员分享,可在线阅读,更多相关《华农C语言教材习题答案.docx(13页珍藏版)》请在咨信网上搜索。
注:答案仅供参考 分期还款: #include <stdio.h> #include <math.h> int main() { double d, p,r; scanf("%lf%lf%lf",&d,&p,&r); printf("%.1f", log10(p/(p-d*r))/log10(1+r)); return 0; } 计算分段函数函数值: #include <stdio.h> int main() { double x; scanf("%lf",&x); if(x<1) printf("%.2f", x); else if(x>=1 && x<10) printf("%.2f", 2*x-1); else printf("%.2f", 3*x-11); } 成绩等级评分: #include <stdio.h> #include <math.h> int main() { int score; scanf("%d", &score); if(score>100 || score<0) printf("error"); else if(score>=90) printf("A"); else if(score>=80) printf("B"); else if(score>=70) printf("C"); else if(score>=60) printf("D"); else printf("E"); return 0; } 20秒后时间: #include <stdio.h> #include <stdlib.h> int main() { int h,m,s; scanf("%d:%d:%d", &h,&m,&s); s=s+20; if(s>59) { s=s%60; m++; if(m>59) { m=m%60; h++; if(h>23) h=0; } } printf("%02d:%02d:%02d\n", h, m, s); return 0; } 分期还款(加强版): #include <stdio.h> #include <math.h> int main() { double d, p,r; scanf("%lf%lf%lf",&d,&p,&r); if(d==0) printf("0.0\n"); else if(d*(1+r)-p>d) printf("God\n"); else { printf("%.1f", log10(p/(p-d*r))/log10(1+r)); } return 0; } 字母分类统计: #include <stdio.h> #include <math.h> int main() { char ch; int nL=0, nN=0, nS=0, nO=0; while((ch=getchar())!='\n') { if(ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z') nL++; else if (ch>='0'&&ch<='9') nN++; else if (ch==' ') nS++; else nO++; } printf("%d %d %d %d\n", nL, nN, nS, nO); return 0; } 计算数列和: #include<stdio.h> main() { int i,n; double a=2,b=1,s=0; scanf("%d",&n); for(i=1;i<=n;i++) { s=s+a/b; a=a+b; b=a-b; } printf("%.4f\n",s); } 自由落体: #include <stdio.h> #include <math.h> int main() { double sum=-100, d=100; int i,n; scanf("%d", &n); for(i=1; i<=n; i++) { sum+=2*d; d/=2; } printf("%.3f %.3f", sum, d); return 0; } 迭代法求平方根: #include <stdio.h> #include <math.h> int main() { double a, x0, x1=1; scanf("%lf", &a); do { x0=x1; x1=1.0/2*(x1+a/x1); }while(fabs(x1-x0)>=1e-5); printf("%.4lf\n", x1); return 0; } 打印三角形: #include <stdio.h> #define abs(x) ((x)>=0?(x):-(x)) int main() { int n,i,j; scanf("%d", &n); for(i=-(n-1); i<=(n-1); i++) { for(j=0; j<abs(i); j++) printf(" "); for(j=0; j<n-abs(i); j++) printf("*"); printf("\n"); } return 0; } 勾股数: #include <stdio.h> #include <math.h> int main() { int i,j,k,n; scanf("%d", &n); for(i=1; i<=n; i++) for(j=i; j<=n; j++) { k=(int)sqrt(i*i+j*j); if(k*k==i*i+j*j && k<=n) printf("%d %d %d\n", i,j,k); } return 0; } 插入数据: int n,i; scanf("%d", &n); for(i=14; i>=0; i--) if(a[i]>n) a[i+1]=a[i]; else break; a[i+1]=n; 输出不同的数: #include"stdio.h" main() { int a[20]; int i,t,p=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); for(t=0;t<i;t++) if(a[t]==a[i])break; if(t==i) printf("%d\n", a[i]); } } 鞍点: #include <stdio.h> #include <stdlib.h> int main() { int i,j,a[3][4],flag=0,col,r; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) { col=0; for(j=1;j<4;j++) if(a[i][j]>a[i][col]) col=j; for(j=0;j<4;j++) { if(a[i][j]==a[i][col]) { for(r=0;r<3;r++) if(a[r][j]<a[i][j]) break; if(r==3) { printf("%d\n", a[i][j]); flag=1; } } } } if(!flag) printf("NO\n"); return 0; } 回文串: #include "stdio.h" #include "string.h" main() { int i, j; char buf[100]; scanf("%s",buf); for(i=0, j=strlen(buf)-1;i<j; i++, j--) if(buf[i]!=buf[j]) break; if(i>=j) printf("Y"); else printf("N"); } ASCII码值之和的差: #include <stdio.h> int sum(char *s) { int t=0,i=0; while(s[i]!='\0') t+=s[i++]; return t; } int main() { char s1[81],s2[82]; gets(s1); gets(s2); printf("%d", sum(s1)-sum(s2)); return 0; } 所有数字之和: #include "stdio.h" int sum(int n) { int ret=0; while(n>0) { ret+=n%10; n/=10; } return ret; } main() { int n; scanf("%d", &n); printf("%d", sum(n)); } 元音字母: #include "stdio.h" void yuan(char *s,char *s2) { while(*s!='\0') { if(*s=='a' ||*s=='o' ||*s=='e' ||*s=='i' ||*s=='u' || *s=='A' ||*s=='O' ||*s=='E' ||*s=='I' ||*s=='U') {*s2=*s; s2++;} s++; } *s2='\0'; } main() { char str[81], str2[81]; gets(str); yuan(str,str2); printf("%s", str2); } 字符统计: #include <stdio.h> #include <string.h> #include <math.h> int nL=0, nN=0; int statistics(char *s) { int ret=0; while(*s!='\0') { if(*s>='a'&&*s<='z'|| *s>='A'&&*s<='Z') nL++; else if (*s>='0'&&*s<='9') nN++; else if (*s==' ') ret++; s++; } return ret; } int main() { char s[81]; int nS; gets(s); nS = statistics(s); printf("%d %d %d\n", nL, nN, nS); return 0; } 选择排序: #include <stdio.h> int sort(int a[], int n) { int i,j,k,tmp; for(i=0;i<n-1; i++) { k=i; for(j=i+1; j<n; j++) if(a[k]>a[j]) k=j; tmp=a[k];a[k]=a[i];a[i]=tmp; } } int main() { int a[10]; int i; for(i=0; i<10; i++) scanf("%d", &a[i]); sort(a,10); for(i=0; i<10; i++) printf("%d\n", a[i]); return 0; } x的n次方: #include <stdio.h> int F(int x, int n) { if(n==1) return x; else return F(x, n-1)*x; } int main() { int x, n; scanf("%d%d", &x, &n); printf("%d", F(x, n)); return 0; } 行列互换: #include <stdio.h> void swap(int *a, int *b) { int temp; temp=*a;*a=*b;*b=temp; } void col(int a[][4], int i, int j) { int k; for(k=0; k<4; k++) swap(&a[k][i], &a[k][j]); } void row(int a[][4], int i, int j) { int k; for(k=0; k<4; k++) swap(&a[i][k], &a[j][k]); } int main() { int a[4][4]; int i,j; for(i=0; i<4; i++) for(j=0; j<4; j++) scanf("%d", &a[i][j]); col(a,0,2); row(a,0,2); col(a,1,3); row(a,1,3); col(a,0,3); row(a,0,3); for(i=0; i<4; i++) { for(j=0; j<4; j++) printf("%d ", a[i][j]); printf("\n"); } return 0; } 学生信息统计: #include <stdio.h> void average(double a[][5], int n) { int i,j;double sum; for(i=0; i<n; i++) { sum=0; for(j=0; j<5; j++) sum+=a[i][j]; printf("%.2f ", sum/5); } printf("\n");} void average2(double a[][5], int n) { int i,j;double sum; for(j=0; j<5; j++) { sum=0; for(i=0; i<n; i++) sum+=a[i][j]; printf("%.2f ", sum/n); } printf("\n");} void top(double a[][5], int n) { int i,j; double max; for(j=0; j<5; j++) { max=a[0][j]; for(i=1; i<n; i++) if(a[i][j]>max) max = a[i][j]; printf("%.2f ", max); } printf("\n");} int main() { double a[10][5]; int i, j; for(i=0; i<10; i++) for(j=0; j<5; j++) scanf("%lf", &a[i][j]); average(a,10); average2(a,10); top(a,10); return 0; } 一年的第几天: #include <stdio.h> struct DATE { int year; int month; int day; }; int days(struct DATE date) { int day,sum; if(date.year%4==0&&date.year%100!=0||date.year%400==0) { day=29; } else { day=28; }; switch(date.month) { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=31+day;break; case 4:sum=62+day;break; case 5:sum=92+day;break; case 6:sum=123+day;break; case 7:sum=153+day;break; case 8:sum=184+day;break; case 9:sum=215+day;break; case 10:sum=245+day;break; case 11:sum=276+day;break; case 12:sum=306+day;break; }; return(sum+date.day); } int main() { struct DATE d; scanf("%d-%d-%d", &d.year, &d.month, &d.day); printf("%d", days(d)); }学生成绩表: #include <stdio.h> struct data { int num; char name[20]; double score[3]; double average;}; int main() { int i,j; struct data stu[10],tmp; for(i=0; i<10; i++) { scanf("%d%s%lf%lf%lf", &stu[i].num, stu[i].name, stu[i].score, stu[i].score+1, stu[i].score+2); stu[i].average=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; } for(i=0; i<9; i++) for(j=0; j<9-i; j++) { if(stu[j].average<stu[j+1].average) { tmp=stu[j];stu[j]=stu[j+1];stu[j+1]=tmp; } } for(i=0; i<10; i++) { printf("%d %s %.0lf %.0lf %.0lf\n", stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]); } return 0; } 13 / 13- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华农 语言 教材 习题 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文