哪个高手告诉我用C语言怎么编“从键盘上输入一个正整数N
#include <stdio.h> //定义头文件
int main( ) //声明主函数
{
int n,i=1,j=1; //设定数据类型
printf("input n: "); //输入一个正整数
scanf("%d", &n); //输入
while (i<=n) //小于n
{
j=j*i; //求阶乘
i++; //累加
}
printf("%d!=%d\n",n,j); //输出j
return 0; //返回主函数值
}
扩展资料:
其他方法得到n的阶乘:
#include <stdio.h>
int prime(int x);
void main( )
{
int m,n;
printf("Please input numbers: ");
scanf("%d",&m);
n=prime(m);
printf("%d! 的阶乘是: %d\n", m,n);
}
int prime(int x)
{
int s;
if(x>0)
{
s=prime(x-1)*x;
}
else{
return 1;
}
return s;
c语言,输入俩个正整数n和m,求其最大公约数和最小公倍数
# include <stdio.h>
# include <math.h>
int main()
{
int m, n, i = 0, c = 0;
printf("m=");
scanf_s("%d", &m);
printf("n=");
scanf_s("%d", &n);
if (m > n)
{
for (i = m;i > 0;i--)
{
if (m % i == 0 && n % i == 0) break;
}
printf("两个数的最大公约数为:%d", i);
}
else
{
for (i = n; i > 0;i--)
{
if (m % i == 0 && n % i == 0) break;
}
printf("两个数的最大公约数为:%d", i);
}
if (m > n)
{
for (c = m;c < 30000;c++)
{
if (c % m == 0 && c % n == 0) break;
}
printf("两个数的最小公倍数为:%d", c);
}
else
{
for (c = n;c < 30000 ;c++)
{
if (c % m == 0 && c % n == 0) break;
}
printf("两个数的最小公倍数为:%d", c);
}
return 0;
}
c语言有n个整数,去除其中重复的数字
代码示例:
//调用函数trim就行了
#include<stdio.h>
void trim(int arr[],int *pn)
{
int i,j,k;
for(i=0;i<*pn;i++)
{
for(j=i+1;j<*pn;)
{
if(arr[i]==arr[j])
{
for(k=j+1;k<*pn;k++)
arr[k-1]=arr[k];
(*pn)--;
}
else
j++;
}
}
}
int main()
{
inti,n=20,arr[20]={12,12,12,2,2,20,365,700,1001,366,12,12,50,50,50,100,525,700,700,700};
printf("删除重复元素前的数组:");
for(i=0;i<n-1;i++)
{
printf("%d ",arr[i]);
}
printf("%d\n",arr[n-1]);
trim(arr,&n);
printf("删除重复元素后的数组:");
for(i=0;i<n-1;i++)
{
printf("%d ",arr[i]);
}
printf("%d\n",arr[n-1]);
return 0;
}

