正整数拆分程序 编写一个程序,输入一个正整数n(假设n
编写一个程序,输入一个正整数n(假设n>
编写一个程序,输入一个正整数n(假设n<7),求1!+2!+3!+4!+……+n!
#include <stdio.h>
int main()
{
int n;
int i;
int sum = 0;
int tmp = 1;
scanf("%d", &n); 输入n
for (i = 1; i <= n; i++)
{
tmp *= i;
sum += tmp;
}
printf("%d", sum); 显示结果
return 0;
}
编写一个程序,求1!+2!+...+n!,n为输入的整数并且3<=n<=20。
第一if(3<=n<=20)这个不能这么写,应该是 if(3<=n&&n<=20)
第二你的主程序写错了,你按照这个程序是算不出来的正确结果的,你算的结果是n!而不是1!+2!+...+n!,你如果想算正确结果我推荐你用递归调用,这样比较容易计算出正确结果。
编写一个程序,输入正整数n,计算s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)
#include<iostream>
using namespace std;
void main()
{
int n,t=0;
long sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
t+=i;
sum+=t;
}
cout<<sum<<endl;
}
编写一个程序 输入一个正整数n 计算1-1/4+1/7-1/10+1/13-…的前n项和
#include<stdio.h>int main(){ int i,j; double add = 0; printf("Please input a number!"); scanf("%d",&i); for(j = 0;j < i;j++) { if(j%2) add -= 1 / (double)(1 + j * 3); else add += 1 / (double)(1 + j * 3); } printf("The result is %f",add); return 0;}编写一个程序,输入n个大于1的正整数(n<100),计算并输出其中质数的个数
#include <stdio.h>
#include <math.h>
#define N 6
int prime(int x)
{
int temp,i,k;

temp=(int)(sqrt(x));
for(i=2;i<=temp;++i)
if(x%i==0)
{ k=0; break; }
if(i>temp)
k=1;
return k;
}
void main()
{
int x;
int k,n,count=0;
for(n=0;n<N;++n)
{ printf("输出数:");
scanf("%d",&x);
k=prime(x);
if(k)
count++;
}
printf("prime has %d n",count);
}
编写一个程序求一个最大的正整数N,使N!<500
#include<stdio.h>
int main()
{
int a=500;
int i=1;
int t;
for(i=1;i<500;i++){
a=a/i;
if(a>1) continue;
if(a<1) break; }
printf("the nummber is %d",i-1);}
printf("the nummber is %d",i);}
编写C语言程序, 从键盘输入一个正整数N(N<=10),并输出
源程序如下:
#include <stdio.h>
int main()
{
int n,i,j,sum=1,t;
scanf("%d", &n);
for(i=1;i<=n;i++)
{
t=1;
for(j=1;j<=i;j++)
{
t *= 2; 每次计算2 ^ i 出来
}
sum += t; sum加上算出来的2 ^ i
}
printf("%dn", sum);
return 0;
}
编写一个程序,求1!+2!+3!+...+n!,其中n<30。
f(int n){
if(n==1)return 1;
if(n==2){return 2;}else{
return f(n-1)*n;
}
}
sum(int n){
if(n==1) return 1;
if(n==2) {return 3;}
else{
return f(n)+f(n-1);
}
}
这是用java写的两个函数,f(n)就是先求阶乘,sum(n)就是求和,直接调用sum(n)就可以了,把参数传给n,如:int sum = sum(10) ;你要求用vc++,你自己转换一下就可以了
编写程序,输入一个正整数n(1<n<=10),再输入n个整数,将它们从大到小排序后输出。
#include <stdio.h>int main()
{int a[10];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%d",&a[i]);for(i=0;i<n;i++) for(j=0;j<n-1-i;j++) if(a[j]<a[j+1]){ int t=a[j]; a[j]=a[j+1]; a[j+1]=t;
}for(i=0;i<n;i++) printf("%d ",a[i]);printf("n");return 0;
}