第一篇:C語(yǔ)言程序設(shè)計(jì)蘇小紅版答案
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(“該方程無(wú)實(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是大寫(xiě)字母n”);
}
else if(ch>=97&&ch<=122)
{
printf(“ch是小寫(xiě)字母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(“請(qǐng)輸入一個(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(“對(duì)角線元素之和為:%dn”,sum);} 8.11 #include for(j = 0;j< M;j++) { scanf(“%d”,&a[i][j]); sum1=sum1+a[i][j]; } } printf(“請(qǐng)輸入一個(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沒(méi)有指向類(lèi)型 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++)!='