#include<stdio.h>
int main()
{
int what(int z); //对被调用函数的声明
int n,a,b,sum; //定义变量,n存储学号,a存储十位数,b存储个位数,sum为阶乘的和
printf("请输入学号:\n");
scanf("%d", &n); //输入n
a=n/10; //求十位数,赋给a
b=n-10*a; //求个位数,赋给b
sum=what(a)+what(b); //调用函数what两次,并求和赋给sum
printf("sum=%d\n", sum); //输出sum的值
return 0; //返回函数值为0
}
int what(int z) //定义what函数,z为形参
{
int c=1,i; //定义变量c并赋值1,c为乘积,定义i
for(i=2;i<=z;i++) //当i不大于z时循环
{
c=c*i; //求乘积
}
return c; //将c作为what函数值,返回到调用what函数的位置
}
//初学C语言,写的很乱,结果好像是对的
#include<string.h>
int f(int n)
{
int r=1;
while(n)
r*=n--;
return r;
}
int main()
{
char id[64];
int g=0,sh=0,len;
printf("请输入你的学号:");
scanf("%64s",id);
len=strlen(id);
if(len)
{
g=id[len-1]-'0';
len--;
if(len)
{
sh=id[len]-'0';
printf("%d!+%d!=%d\n",sh,g,f(sh)+f(g));
return 0;
}
}
printf("你输入的学号低于2位\n");
return 0;
}