第一篇:C語言蘇小紅版第六章習(xí)題答案[推薦]
第六章習(xí)題 1.(1)#include
int i,j,k;
char space=' ';
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
{
printf(“%c”,space);} for(k=1;k<=6;k++){
printf(“*”);}
printf(“n”);
} }
(2)#include
if(n % 2 == 0)continue;
k--;} printf(“k = %d,n = %dn”,k,n);}
(3)#include
int k = 4, n;
} for(n = 0;n < k;n++){ if(n % 2 ==0)
break;k--;} printf(“k = %d, n = %dn”, k, n);2.
(1)計(jì)算1+3+5+……99+101=
#include
int i,sum=0;
for(i=1;i<=101;i=i+2)
{
sum=sum+i;
}
printf(“sum=%dn”,sum);}
(2)計(jì)算1*2*3+3*4*5+...+99*100*101= #include
long i;
long term,sum=0;
for(i=1;i<=99;i=i+2)
{ term=i*(i+1)*(i+2);
sum=sum+term;
}
printf(“sum=%ld”,sum);}
(3)計(jì)算a+aa+aaa+...+aa...a(n個(gè)a)的值
#include
long term=0,sum=0;
int a,i,n;
printf(“input a,n:”);
scanf(“%d,%d”,&a,&n);
for(i=1;i<=n;i=i++)
{ term=term*10+a;
sum=sum+term;
}
printf(“sum=%ldn”,sum);}(4)計(jì)算1—1/2+1/3-...+1/99-1/100+...,直到最后一項(xiàng)的絕對值小于10#include
int n=1;
float term=1.0,sign=1,sum=0;
while(fabs(term)>=1e-4)
{
term=sign*1.0/n;
sum=sum+term;
sign=sign*(-1);
n++;
}
printf(“sum=%fn”,sum);}
-4。
(5)#include
int n=1,count=1;
float x;
double sum,term;
printf(“input x:”);
scanf(“%f”,&x);
sum=x;
term=x;
do{
term=(-1)*term*x*x/((n+1)*(n+2));
sum=sum+term;
n=n+2;
count++;
}while(fabs(term)>=1e-5);
printf(“sin(x)=%f,count=%dn”,sum,count);}
3.#include
while(!find)
/*當(dāng)沒找到時(shí)繼續(xù)執(zhí)行循環(huán)*/ {
x++;
if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0)
{
printf(“x=%dn”,x);
find=1;
} } }
4. #include
m=i*i;
p=i*i*i;
printf(“m=%ld,p=%ldn”,m,p);} }
5.#include
f=9/5*c+32;
printf(“f=%fn”,f);
}
}
6.#include
x=x*pow(1+c,12)-1000;
n++;}while(x>0);
} printf(“x=%dn”,x);7.#include
x=x*(1+a);
n++;}while(x<=200.0);printf(“n=%dn”,n);}.#include
int n=1,count=1;
float sum=0,term=1.0,sign=1;
do{
term=sign*1.0/n;
sum=sum+term;
sign=sign*(-1);
n=n+2;
count++;
}while(fabs(term)>=1e-4);
sum=4*sum;
printf(“sum=%f,count=%dn”,sum,count);}
9. #include
int n=1,count=1;
float sum=1,term=1.0;
do{
term=term/n;
sum=sum+term;
n=n+1;
count++;
}while(fabs(term)>=1e-5);
printf(“e=%f,count=%dn”,sum,count);}
10.#include
int m;
for(m=100;m<=999;m++)
{
if(m==pow(m/100,3)+pow(m/10%10,3)+pow(m%10,3))
printf(“m=%dn”,m);
} }
11.#include
int i=0,n;
long sum=0,term=1;
printf(“Inputn:”);
scanf(“%d”,&n);
do{
i++;
term=term*i;
sum=sum+term;
}while(sum printf(“%dn”,i-1);} 12.#include int i,n,m,sum=0,count=0; printf(“input n:”); scanf(“%d”,&n); for(i=1;i<=n;i++) { printf(“please enter m:”); scanf(“%d”,&m); if(m>0) { sum=sum+m; count++; } else { break; } printf(“sum=%d,count=%dn”,sum,count);} printf(“program is over!n”);} 13.#include int i,n,m,sum=0,count=0; printf(“input n:”); scanf(“%d”,&n); for(i=1;i<=n;i++) { printf(“please enter m:”); scanf(“%d”,&m); if(m>0) { sum=sum+m; count++; } else if(m<0) { continue; } else { break; } printf(“sum=%d,count=%dn”,sum,count);} printf(“program is over!n”);} 14.#include for(y=0;y<=25;y++) { for(z=0;z<=30;z++) } { if(x+y+z==30&&3*x+2*y+1*z==50)printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } 15.#include for(y=0;y<97;y++) { if(x+y==98&&2*x+4*y==386) printf(“x=%d,y=%dn”,x,y); } } } 16.#include for(y=0;y<=33;y++) { for(z=0;z<=100;z++) { if(x+y+z==100&&5*x+3*y+z/3.0==100) } printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } 17.#include for(y=0;y<=20;y++) { for(z=0;z<=100;z++) { if(x+y+z==50&&10*x+5*y+z==100) printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } } 18.#include int i,j,k,c=0; for(i=1;i<=9;i++) printf(“%6d”,i); printf(“n”); for(i=1;i<=9;i++) printf(“ -”); printf(“n”); for(int x=1;x<=9;x++){ for(int y=1;y<=9;y++) printf(“%6d”,x*y); printf(“n”); } } #include int i,j,k,c=0; for(i=1;i<=9;i++) printf(“%6d”,i); printf(“n”); for(i=1;i<=9;i++) printf(“ -”); printf(“n”); for(int x=1;x<=9;x++){ for(int y=1;y<=x;y++) printf(“%6d”,x*y); printf(“n”); } } #include int i,j,k,c=0; for(i=1;i<=9;i++) printf(“%6d”,i); printf(“n”); for(i=1;i<=9;i++) printf(“ -”); printf(“n”); for(i=1;i<=9;i++) { for(k=1;k<=c;k++) printf(“ ”); c++; j=0; while(j<9) { j++; if(j printf(“%6d”,i*j); } printf(“n”); } } 2.2 #include #include #include #include a=a; printf(“a=%fn”,a);} else { a=-a; printf(“a=%fn”,a);} } 5.2 #include printf(“a是偶數(shù)”);} else { printf(“a是奇數(shù)”);} } 5.3 #include s=(a+b+c)/2; area=(float)sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%fn”,area);} else { printf(“不是三角形”);} } 5.4 #include printf(“該方程不是一元二次方程n”);} if(b*b-4*a*c>0){ x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf(“x=%f,y=%fn”,x,y);} else if(b*b-4*a*c==0){ x=-b/(2*a); y=-b/(2*a); printf(“x=%f,y=%fn”,x,y);} else { printf(“該方程無實(shí)根n”);} } 5.5 #include flag=1;} else { flag=0;} if(flag==1){ printf(“%d is a leap year!n”,year);} else { printf(“%d is not a leap year!n”,year);} } 5.6 #include printf(“%d is a leap year!n”,year);} else { printf(“%d is not a leap year!n”,year);} } 5.7 #include ch=getchar(); ch=ch-32; printf(“%c,%dn”,ch,ch);} else if(ch>='A'&&ch<='Z'){ ch=getchar(); ch=ch+32; printf(“%c,%dn”,ch,ch);} else { printf(“%c”,ch);} } 5.8 #include if(ch>=48&&ch<=57) { printf(“ch是數(shù)字字符n”); } else if(ch>=65&&ch<=90) { printf(“ch是大寫字母n”); } else if(ch>=97&&ch<=122) { printf(“ch是小寫字母n”); } else if(ch==32) { printf(“ch是空格n”); } else { printf(“ch是其他字符n”); } } 5.9 #include grade=score/10;if(score<0||score>100){ printf(“Input errorn”);} if(score>=90&&score<=100) { printf(“%d--An”,score); } else if(score>=80&&score<90) { printf(“%d--Bn”,score); } else if(score>=70&&score<80) { printf(“%d--Cn”,score); } else if(score>=60&&score<70) { printf(“%d--Dn”,score); } else if(score>=0&&score<60) { printf(“%d--En”,score); } } 5.10 #include if(month>12||month<=0){ printf(“error monthn”);} else { switch(year,month){ case 12: case 10: case 8: case 7: case 5: case 3: case 1: printf(“31天n”); break;case 11: case 9: case 6: case 4: printf(“30天n”); break;case 2: if(year%4==0&&year!=0||year%400==0) { printf(“29天n”); } else { printf(“28天n”); } break; default: printf(“Input errorn”);} } } 6.1(1)#include for(j=1;j<=i;j++) { printf(“%c”,space); } for(k=1;k<=6;k++) { printf(“*”); } printf(“n”);} } 6.1(2) #include if(n%2==0) continue; k--;} printf(“k=%dn,n=%dn”,k,n);} 6.1(3)#include if(n%2==0) break; k--;} printf(“k=%d,n=%dn”,k,n);} 6.2(1) #include sum=sum+i;} printf(“sum=%dn”,sum);} 6.2(2)#include term=i*(i+1)*(i+2); sum=sum+term;} printf(“sum=%ldn”,sum);} 6.2(4) #include term=1.0/sign; sum=sum+term; sign=sign+n; n++;} printf(“sum=%fn”,sum);} 6.2(5) #include term=-term*x*x/((n+1)*(n+2)); sum=sum+term; n=n+2; count++;}while(fabs(term)>=1e-5);printf(“sin(x)=%f,count=%dn”,sum,count);} 6.3 #include while(!find){ if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) { printf(“x=%dn”,x); find=1; x++; } } } /* int x,find=0;for(x=1;!find;x++){ if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) { printf(“x=%dn”,x); find=1; } } }*/ 6.4 #include p=i*i; m=i*i*i; printf(“p=%d,m=%dn”,i,p,i,m);} } 6.5 #include f=9/5*c+32; printf(“f=%fn”,f);} } 6.6 #include x=x*pow(1+c,12)-1000; n++;}while(x>0); printf(“x=%dn”,x);} 6.7 #include a=a*(1+c); n++;}while(a<=200); printf(“n=%dn”,n);} 6.8 #include term=pow(-1,count)*(1.0/(n+2)); sum=sum+term; n=n+2; count++;} sum=4*sum;printf(“sum=%f,count=%dn”,sum,count);} 6.9 #include term=term*(1.0/n); sum=sum+term; n++; count++;} printf(“sum=%f,count=%dn”,sum,count);} 6.10 #include if(x==pow(x/100,3)+pow(x/10%10,3)+pow(x%10,3)) printf(“x=%dn”,x);} } 6.11 #include i++; term=term*i; sum=sum+term;}while(sum for(i=1;i<=n;i++) { printf(“Inputm:”); scanf(“%d”,&m); if(m>0) { sum=sum+m; count++; } else { break; } printf(“sum=%d,count=%dn”,sum,count); } } 6.13 #include printf(“Inputm:”); scanf(“%d”,&m); if(m>0||m<0) { sum=sum+m; count++; } else { break; } printf(“sum=%d,count=%dn”,sum,count);} } 6.14 #include for(y=0;y<=25;y++) { 3*x+2*y+z==50; z=30-x-y; if(3*x+2*y+z==50&&x+y+z==30) printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } 6.15 #include y=98-x; 2*x+4*y==386; if(x+y==98&&2*x+4*y==386) { printf(“x=%d,y=%dn”,x,y); } } } 6.16 #include for(y=0;y<=33;y++) { 3*y+5*x+z/3.0==100; z=100-x-y; if(5*x+3*y+z/3.0==100&&z+x+y==100) { printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } } 6.17 #include for(y=1;y<=17;y++) { 10*x+5*y+z==100; z=50-x-y; if(10*x+5*y+z==100&&x+y+z==50&&z>0) { printf(“x=%d,y=%d,z=%dn”,x,y,z); } } } } 7.1 #include static int i=1; i+=Square(i); printf(“%d,”,i);} printf(“%dn”,i);return 0;} 7.2 #include second=0; minute++;} if(minute==60){ minute=0; hour++;} if(hour==24) hour=0;} void display(){ printf(“%d,%d,%dn”,hour,minute,second); } void delay(){ int t;for(t=0;t<100000000;t++);} int main(){ int i;void updaye(),display(),delay();for(i=0;i<1000000;i++){ update(); display(); delay();} return 0;} 7.3 #include return m;else return n;} 7.4 #include if(x%n==0&&x%m==0) { find=1; } } return x-1;} 7.5 #include printf(“%d!=%ldn”,a,Fact(a));} return 0;} long Fact(int n){ int i;long result=1;for(i=2;i<=n;i++) result*=i;return result;} 7.6 #include result*=i; sum=sum+result;} return sum;} 7.7(1)#include a%t==0; b%t==0; if(a%t==0&&b%t==0) return t;} find=1;} 7.7(2) #include return b;else do{ temp=b; b=r; a=temp; r=a%b; }while(r!=0); return b;} 8.1(1)#include #include b[j]=j;} } int main(){ static int a[]={5,6,7,8},i;Func(a);for(i=0;i<4;i++){ printf(“%d”,a[i]);} return 0;} 8.2(1) int PositiveNum(int a[],int n){ int i,count=0;for(i=0;i if(a[i]>0) count++;} return 0;} 8.2(2) void Fib(long f[],long n){ int i;f[0]=0;f[1]=1;for(i=2;i f[i]=f[i-1]+f[i-2];} } 8.2(3) #include scanf(“%d”,&a[n]);} max=min=a[0];maxPos=minPos=0;for(n=0;n<10;n++){ if(a[n]>max) { max=a[n]; maxPos=n; } else if(a[n] { min=a[n]; minPos=n; } } printf(“max=%d,pos=%dn”,max,maxPos);printf(“min=%d,pos=%dn”,min,minPos);return 0;} 8.3 void DivArray(int *pArray,int n){ int i;for(i=0;i pArray[i]/=pAttay[0];} } 8.4 #include if(score[i]<60) count++;} return count;} void ReadScore(int score[],int n){ int i;printf(“Input score:”);for(i=0;i scanf(“%d”,&score[i]);} } 8.5 #include sum=sum+score[i]; aver=sum/n;} for(i=0;i if(score[i]>aver) count++;} return count;} int ReadScore(int score[]){ int i=-1;do{ i++; printf(“Input score:”); scanf(“%d”,&score[i]);}while(score[i]>=0);return i;} 8.6 #include i++; printf(“Input student's ID and score:”); scanf(“%ld%d”,&num[i],&score[i]);}while(num[i]>0&&score[i]>=0);return i;} int FindMax(int score[],long num[],int n){ int max,i;max=score[0];for(i=1;i if(score[i]>max) max=score[i];} return i;} 8.7 #include printf(“Input a:”); scanf(“%d”,&a[i]);return i;} int ChangeArry(int a[],int n){ int max,min,i,maxpos,minpos,term;max=min=score[0];for(i=1;i if(a[i]>max) max=score[i]; maxpos=n; else(a[i] min=a[i]; minpos=n; temp=maxpos; maxpos=minpos; minpos=temp;} return a[i];} 8.10 #include int a[N][N];int sum = 0;int i, j; printf(“請輸入一個(gè)%d*%d的矩陣n”,N,N);for(i = 0;i < N;i++){ for(j = 0;j < N;j++) { scanf(“%d”,&a[i][j]); } } for(i = 0;i < N;i++){ for(j = 0;j < N;j++) { if(i == j || i + j == N-1) sum=sum+a[i][j]; } } printf(“對角線元素之和為:%dn”,sum);} 8.11 #include for(j = 0;j< M;j++) { scanf(“%d”,&a[i][j]); sum1=sum1+a[i][j]; } } printf(“請輸入一個(gè)%d*%d的矩陣n”,N,M);for(i = 0;i for(j = 0;j { scanf(“%d”,&b[i][j]); sum2=sum2+a[i][j]; } } sum=sum1+sum2;printf(“sum=%dn”,sum);} 8.12 #include for(j=0;j<=i;j++) { printf(“%4d”,b[i][j]); } printf(“n”);} } void YangHui(int a[N][N],int n){ int i,j;for(i=0;i a[i][0]=1; a[i][i]=1;} for(i=2;i for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j];} } 8.13 #include f[i]=f[i-1]+f[i-2]; printf(“%d:%dn”,i+1,f[i]);} } 8.14 #include b1++;if(a[i]==2) b2++;if(a[i]==3) b3++;if(a[i]==4) b4++;if(a[i]==5) b5++;if(a[i]==6) b6++;p1=(float)(b1/6000.0);p2=(float)(b2/6000.0);p3=(float)(b3/6000.0);p4=(float)(b4/6000.0);p5=(float)(b5/6000.0);p6=(float)(b6/6000.0);} printf(“骰子出現(xiàn)1的概率:%.2fn”,p1);printf(“骰子出現(xiàn)2的概率:%.2fn”,p2);printf(“骰子出現(xiàn)3的概率:%.2fn”,p3);printf(“骰子出現(xiàn)4的概率:%.2fn”,p4);printf(“骰子出現(xiàn)5的概率:%.2fn”,p5);printf(“骰子出現(xiàn)6的概率:%.2fn”,p6);} 9.1(1) void Swap(int *x,int *y){ int *pTemp;//*pTemp未進(jìn)行初始化,*pTemp指向哪里位置 *pTemp=*x;*x=*y;*y=*pTemp;} 9.1(2) void Swap(int *x,int *y){ int *pTemp;pTemp=x;x=y;y=pTemp;} //錯(cuò)誤,x,y沒有指向類型 9.2 #include printf(“ %dn”,a[i]);} for(i=0;i<6;i++){ printf(“%dn”,b[i]);} for(i=0;i<6;i++){ Swap(&a[i],&b[i]); } printf(“After Array n”);for(i=0;i<6;i++) { printf(“%dn”,a[i]); } for(i=0;i<6;i++) { printf(“%dn”,b[i]); } return 0;} void Swap(int *x,int *y){ int temp; temp=*x; *x=*y; *y=temp;} 9.4 #include scanf(“%d”,&a[i]);} FindMaxMin(a,&maxa,&maxnum,&mina,&minnum);printf(“maxa=%d,maxnum=%d,mina=%d,minnum=%dn”,maxa,maxnum,mina,minnum);return 0;} void FindMaxMin(int a[],int *pMaxa,int *pMaxnum,int *pMina,int *pMinnum){ int i;*pMaxa=a[0];*pMina=a[0];*pMaxnum=0;*pMinnum=0;for(i=0;i<10;i++){ if(a[i]>*pMaxa) { *pMaxa=a[i]; *pMaxnum=i; } else if(a[i]<*pMina) { *pMina=a[i]; *pMinnum=i; } } } 10.1 void MYStrcpy(char *dstStr,const char *srcStr){ while((*dstStr++=*srcStr++)!='
第二篇:C語言程序設(shè)計(jì)蘇小紅版答案