Problem F: C語言習題 a!+b!+c!

Problem F: C語言習題 a!+b!+c!

Time Limit: 1 Sec  Memory Limit: 128 MB

 

Description

 

求a!+b!+c!的值,用一個函數fac(n)求n!。a,b,c的值由主函數輸入,最終得到的值在主函數中輸出。

Input

a,b,c的值

Output

a!+b!+c!的值

Sample Input

1 2 3

Sample Output

9

HINT

 主函數已給定如下,提交時不需要包含下述主函數

 

/* C代碼 */

 

int main()

 

{

 

  int a,b,c,sum;

 

  scanf("%d%d%d",&a,&b,&c);

 

  sum=fac(a)+fac(b)+fac(c);

 

  printf("%d\n",sum);

 

  return 0;

 

}

 

/* C++代碼 */

 

int main()

 

{

 

  int a,b,c,sum;

 

  cin>>a>>b>>c;

 

  sum=fac(a)+fac(b)+fac(c);

 

  cout<<sum<<endl;

 

  return 0;

 

}

參考答案:

#include <stdio.h>
#include <string.h>
int get_one_digit(double num,int n); /*函數聲明*/
int main()
{
    double number;
    int n;
    int digit;  /*第n位數字*/
    scanf("%lf %d",&number,&n); /*輸入數據*/
    digit=get_one_digit(number,n);  /*調用查找第n位數字並將數字返回複製給digit*/
    printf("%d\n",digit);
    return 0;
}
int get_one_digit(double num,int n) /*函數聲明*/
{
	long int a;
	double b;
	a=(int)num;
	if(n>0)
	{
		b=num-a;
		while(n>0)
		{
			b=b-(int)b;
			b*=10;
			n--;
		}
		return (int)b;
	}
	else
	{
		n=-n;
		while(n>1)
		{
			a/=10;
			n--;
		}
		return a%10;
	}
}




int fac(int a)
{
    int sum=1;
    int i;
    for(i=1;i<=a;i++)
    {
        sum*=i;
    }
    return sum;
}
int main()
{
  int a,b,c,sum;
  scanf("%d%d%d",&a,&b,&c);	
  sum=fac(a)+fac(b)+fac(c);
  printf("%d\n",sum);
  return 0;
}

編程軟件及視頻教程下載:點擊打開鏈接

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章