C程序设计(第四版)第二章习题

版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/86547963
  1. 求n的阶乘
# include <stdio.h>
void main()
{
	int n,a;
	printf("请输入您需要的阶乘数据:");
	scanf("%d",&n); 
	a = f(n);
	printf("%d的阶乘为:%d",n,a);
}

int f(int x)
{
	if(x==1) return 1;
	else return x*f(x-1); 
}
  1. 求(1-1/2+1/3~~-1/100)
# include <stdio.h>
void main()
{
	int a=-1; 
	//i要定义为double类型
	double sum=0, temp,i;
	for(i=1;i<=100;i++)
	{
		a = -a;
		temp =(1/i)*a;
		sum = sum + temp;
	}
	printf("这个算式结果为%f",sum);
}
  1. 求10个数中的最大值
# include <stdio.h>

void main()
{
	int i,max =0,temp;
	for(i=1;i<=10;i++)
	{
		printf("请输入值:");
		scanf("%d",&temp);
		if(max<temp)	max = temp;
	}
	printf("最大值为:%d",max);
	
}
  1. 3个数a,b,c按大小顺序输出
# include <stdio.h>
void main()
{
	int a,b,c,i;
	printf("请依次输入a,b,c的值:");
	scanf("%d,%d,%d",&a,&b,&c);
	if(a>b){
		if(a>c){
			if(b>c)	printf("大小值依次为:%d,%d,%d",a,b,c);
			else printf("大小值依次为:%d,%d,%d",a,c,b);
		}
		else	printf("大小值依次为:%d,%d,%d",c,a,b);
	} 
	else{
		if(b>c){
			if(c>a)	printf("大小值依次为:%d,%d,%d",b,c,a);
			else printf("大小值依次为:%d,%d,%d",b,a,c);
		}
		else	printf("大小值依次为:%d,%d,%d",c,b,a);
	}
	
}
  1. 前100项的累加和
# include <stdio.h>
void main()
{
	int i,sum=0;
	for (i=1;i<=100;i++){
		sum = sum+i;
	}
	printf("前100项的累加和为:%d",sum);
}
  1. 判断一个数n能否同时被3和5整除
# include <stdio.h>

void main()
{
	int n;
	printf("请输入n的值:"); 
	scanf("%d",&n);
	if((n%3==0)&&(n%5==0))	printf("%d可以被3和5同时整除",n);
	else printf("%d不可以被3和5同时整除",n);
}
  1. 求100~200之间的素数
    素数:除了1和它本身为,不能被其它数整除
# include <stdio.h>

void main()
{
	int i,j,temp;
	for(i=100;i<=200;i++)
	{
		for(j=2;j<i;j++)
		{
			if((i%j)==0)	break;
		}
		if(j==i) printf("%d是素数\n",i);
	}
}


  1. 求两个数m和n的最大公约数
# include <stdio.h>

void main()
{
	int m,n,count;
	int flag =1;
	while(flag==1)
	{
		printf("请输入m,n:");
		scanf("%d,%d",&m,&n);
		count = Max_common_divisor(m,n);
		printf("m与n的最大公约数为:%d\n",count);
		printf("是否继续判断(0 or 1):");
		scanf("%d",&flag);
	}
}

int Max_common_divisor(int m,int n)
{
	int r;
	//始终保持m大于n
	if(m<n)	return Max_common_divisor(n,m);
	else
	{ 
		r = m%n; 
		if (r==0)	return n;
		else {
			m = n;
			n = r;
			return Max_common_divisor(m,n);
		}
	} 
}
  1. 判断1900~2000年份中的闰年
# include <stdio.h>
void main()
{
	int i;
	for(i=1900;i<=2000;i++)
	{
		if((i%4==0)&&(i%100)!=0)	printf("%d是闰年\n",i);
		if((i%100==0)&&(i%400)!=0)	printf("%d是闰年\n",i);
		
	}
}

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/86547963