C语言课后作业答案 下载本文

k=m; if (m==i*i*i+j*j*j+k*k*k) n++, printf(\ }printf(\水仙花数的个数=%d\\n\}

水仙花数2

#include void main() { int a=0,i,j,k,m,n; for (i=1;i<=9;i++) for (j=0;j<=9;j++) for (k=0;k<=9;k++) { m=i*100+j*10+k; n=i*i*i+j*j*j+k*k*k; if (m==n) a++, printf(\ }printf(\水仙花数的个数=%d\\n\}

三—7—16

#include void main() { float s=100,h; int n; h=s/2; for (n=2;n<=10;n++) { s=s+2*h; h=h/2; } printf(\第十次落地共经过的米数:%f\\n\ printf(\第十次反弹的高度:%f\\n\}

#include #include void main() { int a; float b,x,sum; a=1; b=1; x=1;

sum=0; while ((fabs(x))>1e-7) { sum=sum+x; b=b*2; x=a/b; } sum=sum*100+100; printf(\}

课本习题四第四大题第一小题数组的值逆序输出 #include void main() { int i,a[5]; for (i=0;i<5;i++) scanf(\ for (i=4;i>=0;i--) printf(\}

实验五的补充题5名学生3门课成绩求各科的平均分 #include void main() { int i,j,s,v[3],score[5][3]; for (i=0;i<5;i++) for (j=0;j<3;j++) scanf(\ for (i=0;i<3;i++) { s=0; for (j=0;j<5;j++) s=s+score[j][i]; v[i]=s/5; } printf(\各科平均成绩为:\ for (i=0;i<3;i++) printf(\}

矩阵相加 正确

#include void main() { int i,j; int a[3][3],b[3][3],c[3][3]; printf(\请输入矩阵 a[3][3]:\\n\ for(i=0;i<3;i++)

for(j=0;j<3;j++) scanf(\ printf(\请输入矩阵 b[3][3]:\\n\ for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\ for(i=0;i<3;i++) for(j=0;j<3;j++) c[i][j]=a[i][j]+b[i][j]; printf(\矩阵相加结果 c[3][3]:\\n\ for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\ printf(\ } }

最高最低温度 正确

#include void main () { float max,min,a[31]; int i; printf(\请输入31天的温度:\ for (i=0;i<31;i++) { scanf(\ } min=max=a[0]; for (i=0;i<31;i++) { if (a[i]>max) max=a[i]; if (a[i]

printf(\最高温度:%f,最低温度:%f\ }

5-6计算字符串长度

用指向字符串指针变量实现 #include

void main() { int n=0; char *c=\ while (*(c+n)!='\\0') n++; printf(\}

#include #include void main() { char a[100]; int i= 0;

printf(\ gets(a);

while(a[i]!='\\0') i++;

printf(\你输入的字符串的长度为%d\\n\}

#include main() { char a[100],*p; int n; p=a;

scanf(\

for(n=0;*(p+n)!='\\0';n++); printf(\ }

输入一个字符串,将其逆序输出 #include #include void main() { char str[100]; int i; gets(str); i=strlen(str)-1; for(;i>=0;i--) putchar(str[i]); printf(\}

判断一个字符串是否回文 #include #include

void main() { int x,i; char str[100]={0}; gets(str); x=strlen(str)-1;

for(i=0;i<=x/2;i++)///比到一半就不比了,原理已讲 if(str[i] != str[x-i])///这就是比较两端的字符 break;//不是回文 if(i> x/2)///没执行break,就是回文 printf(\是回文\\n\ else printf(\不是回文\\n\ }

#include #include #define N 50 void main() {

int i,x=0; char st1[N+1]; char *pst1,*pst2;

printf(\ scanf(\ pst1=st1; pst2=st1;

while(*pst1!='\\0') pst1++; i=0; pst1--;

while(*pst1==*pst2 && *pst1!='\\0') { pst1--; pst2++; i++; }

x=strlen(st1);

if(i==x) printf(\ else printf(\ }

支持多个字符串判断是否回文 #include #include void main() { char str[20][20];