《C语言程序设计教程习题答案》由会员分享,可在线阅读,更多相关《C语言程序设计教程习题答案(8页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计教程习题答案部分习题答案 习题三: P43/9: void main int n; printf(please input the number:); scanf(%d,&n); if(n=100 & n = 999) printf(%d%d%d,n%10,(n/10)%10,n/100); else P43/12: #include void main float a,b,c,s,Area; scanf(%f,%f,%f,&a,&b,&c); if(a+b c | a+c b | b+c a) s = (a+b+c)/2; printf(you input number is
2、error!); Area = sqrt(s*(s-a)*(s-b)*(s-c); printf(%fn,Area); else printf(you input the number is error!n); 习题四: P56/10: #include void main int temp=0,month,year; printf(Please input (year,month): ); scanf(%d,%d,&year,&month); if(year%400=0)|(year%4=0&year%100!=0) temp=1; if(month=2) if(temp)printf(%d
3、 year %d month have 29 ,year,month); else if(month%2=0) printf(%d year %d month have 30 ,year,month); else printf(%d year %d month have 28 ,year,month); else printf(%d year %d month have 31 ,year,month); getch; P56/12: 方法一: #include void main int x,y; 方法二: #include void main int x,y; scanf(%d,&x); s
4、canf(%d,&x); if(x-5) y=x-1; else if(x=0) y=x; else if(x0&x8) y=x+1; printf(%d,y); getch; if(x-5) if(x=0)y=x; else printf(Input error!); getch; else if(x0&x8) y=y=x+1; else y=x-1; printf(%d,y); 方法三: #include void main int x,y,i; scanf(%d,&x); if(x-5) if(x=0)i=1; else i=4; switch(i) case 1:y=x;printf(
5、%d,y);break; else if(x0&x8) i=2; else i=3; case 2:y=x+1;printf(%d,y);break; case 3:y=x-1;printf(%d,y);break; case 4:printf(Input error!);break; getch; 习题五: P69/ 1、void main int n,value; int i,count=0; float average = 0; long int sum = 0; scanf(%d,&n); for(i = 0; i = A & ch = a & ch = 0 & ch = 9) sz+
6、; ch = getchar; 3、 void main 4、 long i_value; int sum = 0; int temp = 0; scanf(%ld,&i_value); if(i_value = A & ch = a & ch 500)break; 6、 void main int i,temp=0,bit=0; for(i = 1 ; i = 999; i+) printf(b n); if(i%3 = 0) temp = i; for(;temp != 0;) bit = temp%10; if(bit = 5)printf(%d,i);break; temp = tem
7、p/10; 7、 #include int main(void) int steps = 29, i = 1; while ( steps % 7 ) steps = (30 * +i) - 1; printf(Total steps: %dn, steps); return 0; 8、 main int i,j,k,n; printf(the narcissus number is:n); for(n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if(i*i*i+j*j*j+k*k*k=n) printf(%dn,n); 9、 main float
8、 i,j,temp,n,sum; int t; i=2;j=1;sum=0; scanf(%d,&t); for(n=1;n=t;n+) sum=sum+i/j; temp=i;i=i+j;j=temp; printf(2/1+3/2+5/3+8/5+13/8+.=%fn,sum); 10、 void main int nWidth,a,b; scanf(%d,&nWidth); for(a=(nWidth%2);a=nWidth;a+=2) for(b=0;b=nleft&bnright) chOut =*; printf(%c,chOut); printf(n); 11、 void mai
9、n int i=1,j=1; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%d,i,j,i*j); printf(n) 12、 #include stdio.h void main char c; /count1是正数的个数 /count2是负数的个数 int count1=0,count2=0; /sum1是正数之和 /sum2是负数之和 int sum1=0,sum2=0; int flage = 0; c=getchar; while(c != *) if(c = -)flage = 1; if(flage = 0) sum1+=(c-48);count1+; else if(c != -)sum2-=(c-48);flage=0;count2+; c = getchar; printf(%d,%dn,count1,count2); pr