C语言课后作业答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 18065 所有数字之和(第七章第 2 题) int ret=0; while(n>0) { ret+=n%10; n/=10; } return ret; 18066 元音字母(第七章第 3 题) 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'; 18067 字符统计(第七章第 4 题) int ret=0; while(*s!='\0') { if(*s>='a'&&*s<='z'|| *s>='A'&&*s<='Z')
第5章 18046 字母分类统计(第五章第 2 题) #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; } 18047 1037 计算数列和(第五章第 4 题) #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); }
nL++; else if (*s>='0'&&*s<='9') nN++; else if (*s==' ') ret++; s++; } return ret; 18068 选择排序(第七章第 5 题) j=i+1; j<n; j++ a[k]>a[j] 18069 n==1 x F(x, n-1)*x 18070 18071 学生信息统计(第七章第 8 题) 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"); 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");
Hale Waihona Puke Baidu
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; } 18045 18037 20 秒后的时间(第四章第 8 题) #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; }
18049 迭代法求平方根(第五章第 6 题) #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; }
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; }
第3章 18041 分期还款(第三章第 4 题) #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; } 第4章 18042 计算分段函数值(第四章第 4 题) #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); } 18043 找出 3 个数中最大的数(第四章第 5 题) 18044 成绩等级评分(第四章第 6 题) #include <stdio.h> #include <math.h> int main() { int score; scanf("%d", &score); if(score>100 || score<0) printf("error"); else if(score>=90)
18056 1145 回文串(第六章第 8 题) #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"); } 18057 #include <stdio.h>
if(k*k==i*i+j*j && k<=n) printf("%d %d %d\n", i,j,k); } return 0; }
第6章 18052 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; 18053 18054 输出不同的数(第六章第 3 题) #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]); } } 18055 1051 #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]);
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");
18050 打印三角形(第五章第 7 题) #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; }
18051 勾股数(第五章第 8 题) #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);
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; }
相关文档
最新文档