c语言编写程序求1.1+2.2+3.3+4.4+……+n.n的和(n是从键盘输入的整数)

特别是到了11.11,100.100==怎么做

#include "stdio.h"
int main()
{
int n,i=1;
printf("输入n:");
scanf("%d",&n);
double z=0,x=0,t; /*z存整数部分和,x存小数部分和,最后输出z+x.*/
while(i<=n)
{
z+=i;
t=i;
while(t>=1) t/=10; /* 此处初始状态t=i, 循环完后t就变成 0.t 了*/
x+=t;
i++;
}
printf("总和为:%f\n",z+x);

return 0;
}

运行下试试看结果对不, 最后默认输出的是6位小数, 你自己可以按你的需要 进行调整
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-07
#include<stdio.h>
int main()
{
int i,n;
float g=1.1,s=0;
printf("输入一个正整数n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s+=g;每一次循环都加上1.1 2.2 .... n.n
g+=1.1;成为下一个需要加的n.n
}
printf("%f\n",s);
return 0;
}
第2个回答  2010-04-07
思路:把整数部分和小数部分分开加
void main()
{
int n,s=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++) s+=i;
float c=(float)s+((float)s)/10;
printf("%.1f",c);
}
第3个回答  2010-04-07
#include <stdio.h>

main()
{
int n,i=1,flag=1;
float s=0;
float test;
n = 56;

while(i<=n)
{
flag = flag *10;
while(i<flag && i<= n)
{
s += (float)i;
s += (float)i/flag;
test = (float)i + (float)i/flag;
printf("%f\n",test);
i++;
}
}

printf("%f",s);
getch();

}

c语言编写程序求1.1+2.2+3.3+4.4+……+n.n的和(n是从键盘输入的整数...
{ int n,i=1;printf("输入n:");scanf("%d",&n);double z=0,x=0,t; \/*z存整数部分和,x存小数部分和,最后输出z+x.*\/ while(i<=n){ z+=i;t=i;while(t>=1) t\/=10; \/* 此处初始状态t=i, 循环完后t就变成 0.t 了*\/ x+=t;i++;} printf("总和为:%f\\n",z+...

...1+2,1+2+3,...,1+2+3+...+n 的前n项之和.(n从键盘输入)
include<stdio.h>int slSum(int n);\/\/数列求和1+2+3...n 返回和int main(){ int n,i,sum=0; printf("输入n:"); scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+slSum(i); } printf("%d项之和为:%d\\n",n,sum); return 0;}int sl...

c语言 计算y=1^1+2^2+3^3+...+n^n,n的值由键盘输入。
main(){ int sum=0,j,i,k,n,p=1;scanf("%d",&n);for(i=1;i<=n;i++){ for(k=i,j=1;j<=i;j++){ p=p*k; \/\/算i的i次方的值 } sum=sum+p;\/\/加上i的i次方的值 } p=1;\/\/让p重新开始计算下一轮i的i次方的值 } printf("%d",sum);} ...

...1234 + …… 的前n(设0<n<10)项的和,n从键盘输入。
} printf("The result is %d \\n",s);} 有个问题,n大于5的时候显示有问题,因为c不好定义比较大的数字,可考虑用字符串表示

c++程序设计题,求数列S=1+2!+3!+4!+...+N!的前N项和,N由键盘输入
void fun(int N){ long sum = 0;long product = 1;int temp=1;while(temp<=N){ int temp2 = temp;product = 1;while (temp2 >=1){ product *= temp2;temp2--;} sum +=product;temp++;} cout << "结果为"<<sum << endl;} int main(){ int value;cout << "请输入值...

C语言编程 计算1!+2!+3!+...+n!的值,其中n的值通过键盘输入
编写用于求1!+2!+3!+…+n!1、C程序 include<stdio.h> void main(){ int i,a;float n=1,sum=0;scanf("%d",&a);for(i=1;i<=a;i++){ n=n*i;sum=sum+n;} printf("1!+2!+3!+...+n!=%.0f",sum);} 2、C++程序 include<iostream.h> void main(){ int i;...

c语言 求1!+2!+3!+...+n!的值.n由键盘输入
printf("%d\\n",sum);return 0;} 例如:include <stdio.h> \/* 通过递归计算一个数的回阶乘 *\/ int factorial(int num){ if (num==1)return 1;else return (num * factorial(num - 1));} int main(){ int i,n;long sum = 1;scanf("%d",&n);for (i = 2;i <=...

c语言怎么编写程序计算:1+22+333+4444+...的前n项的值,n由用户输入(n...
include<math.h> main(){ int i,n;long j,k,sum=0;printf("input the n:\\n");scanf("%d",&n); \/*n为项数*\/ for(i=1;i<=n;i++){ k=0;for(j=i;j>0;j--)k+=i*pow(10,j-1);printf("%ld",k); \/*打印输出情况*\/ if(i!=n) printf("+");else printf("=");...

用C语言编写程序:求s=1!+2!+3!+……+n!(n由键盘输入)
include<stdio.h> main(){ int i,n,s,sum;sum=0;s=1;scanf("%d",&n);for(i=1;i<=n;i++)s*=i;sum+=s ;printf("%d\\n",sum);getch();} 编译通过且符合题意

如何使用c语言编程输入整数n,求1+2+3+……+n和n!?
2. 使用c语言编程输入整数n,求1+2+3+……+n和n!include<stdio.h> include<math.h> int Factorial(int n);int Add(int n);int main(){ printf("阶乘:%d\\n",Factorial(10));printf("求和:%d\\n",Add(10));} int Factorial(int n){ if(n==1){ return 1;} else { return n*...

相似回答