键盘输入一个正整数n,计算整数n的阶乘n!。
由于几种循环语句可以相互替代,因此在必须使用循环的求阶乘的问题中,用while来循环也没有问题。
#include
unsigned long long fact(int n);
int main(void)
{
int num;
printf(" 本机: ULLONG_MAX = %llu
",ULLONG_MAX);
printf(" 请输入一个不大于20的正整数: ");
while(scanf("%d",&num) == 1)
{
if(num<0)
printf(" 不能为负数!
");
else if(num>20)
printf(" 数据不能大于20!
");
else
{
printf(" 计算 %2d! 的结果: %llu
",num,fact(num));
printf("
");
}
printf(" 请输入一个不大于20的正整数: ");
}
printf("
再见!
");
return 0;
}
unsigned long long fact(int n)
{
unsigned long long ans;
for(ans=1;n>1;n--)
ans *=n;
return ans;
}
注意:printf(" 本机: ULLONG_MAX = %llu
",ULLONG_MAX);
是检测本机可以容纳的最大无符号整数,所以n的阶乘不能超过此数值。
编译器必须满足c99规范。
long fac(int k) //
{
long result=1; //
int i;
for (i=2;i<=k;i++) //
{
result*=i;
}
return result; //
}
void main()
{
int m;
long s; //
do
{
scanf("%d",&m); //
}
while (m<0);
s=fac(m);
printf("%d!=%ld",m,s);
}
头文件的部分省去了,修改的地方在代码中用//标出了
...由键盘输入一个正整数n,求n有多少个不同的正整数因子 描述 由键盘...
描述由键盘输入一个正整数n,求n有多少个不同的正整数因子。输入格式输入的数不会大于99999999输入样例24输出样例8 28726503 | 浏览1459 次 |举报 我有更好的答案邀请更新 2012-11-16 最佳答案 #include<stdio.h>int main(void){ long unsigned int num,i,cnt=0; printf("请输入一个正整数!\\n"); ...
请输入一个正整数n,求n的阶乘。
include<iostream> using namespace std;main(){ int n,x=1;cin>>n;for(int i=1;i<=n;i++)x=x*i;cout<<x;}
用C语言编写程序从键盘输入一个正整数数n,输出n!
int n, result;printf("请输入一个正整数:");scanf("%d", &n);result = factorial(n);printf("%d! = %d\\n", n, result);return 0;} 递归函数`factorial`根据定义,当n小于或等于1时返回1,否则返回n乘以(n-1)的阶乘。在主函数`main`中,读取用户输入的n,然后调用`factorial`计算n...
c语言实验编求素数的函数从键盘输入一个正整数n(4<=n<=1000000),判断正...
include#include#defineN_MAX100\/\/N的最大取值#defineX_MAX1000\/\/X的最大取值voidmain(){intN,i;intNs[N_MAX],pri[N_MAX]={0};\/\/用于存放输入,输出的数组intPrime(intnum);\/\/求给出的num的最接近的素数scanf("%d",&N);\/*输入N个数*\/for(i=0;im)\/\/每个2~num*num的素数都会进入...
python 从键盘任意输入一个正整数n,并找出大于n的最小素数,这个程序怎 ...
import mathm=input('请输入一个正整数')n=int(m)while True: n+=1 print(n) f=True a=2 while a<=int(math.sqrt(n)): if n%a==0: f=False break a+=1 if f: print('大于%s)的最小素数是%s'%(m,n)) breakMy style:import mathdef ...
c++程序:通过键盘输入一个正整数n,求出平方值小于n的正整数并输出
include<stdio.h> void main(){ int i,n; \/\/定义i,n printf("输入N:");scanf("%d",&n); \/\/输入n的值 for(i=1;i*i<n;i++) \/\/i的值等于1,i的平方小于n,i自增1 { printf("%d\\t",i); \/\/输出i的值~} printf("\\n");} ...
C语言编程 输入N 求N的阶乘
int main(int argc, char const *argv[]) \/\/主函数 { int n; \/\/变量定义 scanf("%d", &n); \/\/输入一个整数 printf("%d\\n", factorial(n)); \/\/调用函数计算阶乘 return 0;}int factorial(int n) \/\/定义计算n!的函数 { int fact = 1;for (int i = 1; i <=...
用c语言的循环语句,输入一个正整数n,在输入n个整数,输出最小值。
1、新建一个工程和.c文件 ,输入头文件和主函数。2、定义变量类型和赋初值。3、输入整数。4、用for循环计算整数的长度。5、用for循环将各位数字存入数组中。6、用for循环输出数组。7、编译,输出最小值。
c语言 输入一个正整数n,输出n的所有因子
4、用do-while语句执行循环,判断条件为i<m。5、用i对整数m求余,保存在变量r中。6、判断i是否m的质因子,如果是则继续判断是否n的质因子,如果不是n的质因子,则退出循环。7、如果i不是质因子,则自加1,继续判断。8、运行程序,输入两个大于2的正整数后,计算机就会判断整数n是否包含m的所有...
读入1 个正整数 n (n<=50),计算并输出 n! 用while循环
include <stdio.h>int main( ){ int i, n; double fact; scanf("%d", &n); i = 1; fact = 1; while (i <= n) { fact *= i; i++; } printf("%.0f\\n", fact); return 0;} ...