C语言程序设计-第六周编程题在线测试

1计算阶乘的和v2.0(4分)
题目内容:

假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。

函数原型: long Fact(int n);
函数功能:计算n的阶乘
输入格式: 无
输出格式:"%d\n"

#include
#include
long Fact(int n);
int main()
{
	int m,a,b,c;
	for(m=100;m<1000;m++){
		a=m/100;
		b=m/10%10;
		c=m%10;
		if(m==Fact(a)+Fact(b)+Fact(c)){
			printf("%d\n",m);
		}
	}
	return 0;	
}
long Fact(int n)
{
	int t=1;
	int i;
	for(i=1;i<=n;i++){
		t=t*i;
	}
	return t;
}

2计算最大的三位约数(4分)
题目内容:

从键盘任意输入一个数n(1000<=n<=1000000),编程计算并输出n的所有约数中最大的三位数(即最大的三位约数)。如果n小于1000或者大于1000000,则输出“Input error!”。

函数原型:int Func(int n);

函数功能:计算n的所有约数中最大的三位数

程序运行结果示例1:

Input n:555555↙

777

程序运行结果示例2:

Input n:1000↙

500

程序运行结果示例3:

Input n:800↙

Input error!

输入提示信息:“Input n:”

输入错误提示信息:“Input error!\n”

输入格式: “%d”

输出格式: “%d\n”

#include
int Func(int n);
int main()
{
	int n;
	printf("Input n:");
	scanf("%d",&n);
	if(n<1000||n>1000000){
		printf("Input error!\n");
	}
	else{
		printf("%d\n",Func(n));
	}
	return 0;	
}
int Func(int n)
{
	int m;
	for(m=999;m>100;m--){
		if(n%m==0){
		    return m;
		}
	}
}

你可能感兴趣的:(c语言)