《C语言程序设计》第四章例题源代码

【例4-1】
#include<stdio.h>
#include<math.h>
int main(void)
{
int denominator,flag;
double item,pi;
flag=1;
denominator=1;
item=1.0;
pi=0;
while(fabs(item)>=0.0001)
{
item=flag*1.0/denominator;
pi=pi item;
flag=-flag;
denominator=denominator 2;
}
pi=pi*4;
printf("pi = %.4f\n",pi);
return 0;
}
【例4-2】
#include<stdio.h>
int main(void)
{
int num;
double grade,total;
num=0;
total=0;
printf("Enter grade:");
scanf("%lf",&grade);
while(grade>=0)
{
total=total grade;
num ;
scanf("%lf",&grade);
}
if(num!=0)
{
printf("Grade average is %.2f\n",total/num);
}
else
{
printf("Grade average is 0\n");
}
return 0;
}
【例4-3】
#include<stdio.h>
int main(void)
{
int count,number;
count=0;
printf("Enter a number:");
scanf("%d",&number);
if(number<0)
{
number=-number;
}
do
{
number=number/10;
count ;
}
while(number!=0);
printf("It contains %d digits.\n",count);
return 0;
}
【例4-4】
#include<stdio.h>
int main(void)
{
int i,m;
printf("Enter a number:");
scanf("%d",&m);
for(i=2;i<=m/2;i )
{
if(m%i==0)
{
break;
}
}
if(i>m/2)
{
printf("%d is a prime number!\n",m);
}
else
{
printf("No!\n");
}
return 0;
}
【例4-5】
#include<stdio.h>
double fact(int n);
int main(void)
{
int i;
double sum;
sum=0;
for(i=1;i<=100;i )
{
sum=sum fact(i);
}
printf("1! 2! 3! ... 100! = %e\n",sum);
return 0;
}
double fact(int n)
{
int i;
double result;
result=1;
for(i=1;i<=n;i )
{
result=result*i;
}
return result;
}
【例4-6】
#include<stdio.h>
int main(void)
{
int i,j;
double item,sum;
sum=0;
for(i=1;i<=100;i )
{
item=1;
for(j=1;j<=i;j )
{
item=item*j;
}
sum=sum item;
}
printf("1! 2! 3! ... 100! = %e\n",sum);
return 0;
}
【例4-7-1】
#include<stdio.h>
int main(void)
{
int i,mark,max,n;
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d marks:",n);
scanf("%d",&mark);
max=mark;
for(i=1;i<n;i )
{
scanf("%d",&mark);
if(max<mark)
{
max=mark;
}
}
printf("Max = %d\n",max);
return 0;
}
【例4-7-2】
#include<stdio.h>
int main(void)
{
int mark,max;
printf("Enter marks:");
scanf("%d",&mark);
max=mark;
while(mark>=0)
{
if(max<mark)
{
max=mark;
}
scanf("%d",&mark);
}
printf("Max = %d\n",max);
return 0;
}
【例4-8】
#include<stdio.h>
int main(void)
{
int x;
printf("Enter x:");
scanf("%d",&x);
while(x!=0)
{
printf("%d",x);
x=x/10;
}
printf("\n");
return 0;
}
【例4-9】
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,m,n;
count=0;
for(m=2;m<=100;m )
{
n=sqrt(m);
for(i=2;i<=n;i )
{
if(m%i==0)
{
break;
}
}
if(i>n)
{
printf("%6.d",m);
count ;
if(count==0)
{
printf("\n");
}
}
}
printf("\n");
return 0;
}
【例4-10】
#include<stdio.h>
int main(void)
{
int i,x1,x2,x;
x1=1;
x2=1;
printf("mm",x1,x2);
for(i=1;i<=8;i )
{
x=x1 x2;
printf("m",x);
x1=x2;
x2=x;
}
printf("\n");
return 0;
}
【例4-11-1】
#include<stdio.h>
int main(void)
{
int children,women,men;
for(men=0;men<=45;men )
{
for(women=0;women<=45;women )
{
for(children=0;children<=45;children )
{
if(men women children==45&&men*3 women*2 children*0.5==45)
{
printf("men=%d,women=%d,children=%d\n",men,women,children);
}
}
}
}
return 0;
}
【例4-11-2】
#include<stdio.h>
int main(void)
{
int men,women,children;
for(men=0;men<=15;men )
{
for(women=0;women<=22;women )
{
children=45-men-women;
if(men*3 women*2 children*0.5==45)
{
printf("men=%d,women=%d,children=%d\n",men,women,children);
}
}
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/sometimesnevermind/article/details/82720090