当前位置: 代码迷 >> C语言 >> [求助]有大侠能帮我答几道题吗?---之五
  详细解决方案

[求助]有大侠能帮我答几道题吗?---之五

热度:107   发布时间:2007-03-19 10:20:54.0
[求助]有大侠能帮我答几道题吗?---之五
5. 编程求1+2+….+100的和。
搜索更多相关的解决方案: 编程  100  

----------------解决方案--------------------------------------------------------
和 1*2*3*....*100的意思一样
----------------解决方案--------------------------------------------------------
main()
{int i,sum=0;
for(i=1;i<=100;i++) sum+=i;
printf(“sum=%d\n”,sum);
}

这个对吗?别处找的。
----------------解决方案--------------------------------------------------------

是这样


----------------解决方案--------------------------------------------------------

那为什么运行时显示:构建中止2个错误0个警告啊?


----------------解决方案--------------------------------------------------------
可以这样

求:sum=1*2*3*4*5*..........*n

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 400

void getResult(char *result,char *temp){
char str[MAX+10] = {0};
int i,m,n,k,y;
unsigned int j;

for(i = strlen(temp) - 1,k = 0; i >= 0; k ++,i --)
for(y = k, j = 0; j < strlen(result); y ++,j ++){
m = (temp[i] - '0') * (result[j] - '0');
n = y;
do{
if(str[n] == '\0'){
str[n] = m % 10 + '0';
if(m / 10)
str[n+1] = m / 10 + '0';
break;
}
m = (m + str[n] - '0');
str[n] = m % 10 + '0';
m = m / 10;
n ++;
}while(m);
}
if(strlen(str) >= MAX){
puts("your should make the macro MAX bigger !");
system("pause");
exit(1);
}
strcpy(result,str);
}

int main(void){
char result[MAX] = {0};
char strTemp[4];
int i;
int n;

strcpy(result,"1");
printf("The program will computer(n!)\nPlease enter n:");
scanf("%d",&n);
for(i = 1; i <= n; i ++){
itoa(i,strTemp,10);
getResult(result,strTemp);
}
printf("(%d!)=",n,strlen(result));
for(i = strlen(result) - 1; i >= 0; i --)
putchar(result[i]);
putchar('\n');
return 0;
}

[此贴子已经被作者于2007-3-19 11:26:46编辑过]


----------------解决方案--------------------------------------------------------
这个蹦出来的框框显示:
The program will computer<n!>
please enter n:

什么意思?

[此贴子已经被作者于2007-3-19 11:45:44编辑过]


----------------解决方案--------------------------------------------------------
以下是引用蓝色人鱼在2007-3-19 10:45:30的发言:
main()
{int i,sum=0;
for(i=1;i<=100;i++) sum+=i;
printf(“sum=%d\n”,sum);
}

这个对吗?别处找的。

缺少了头文件
标准输入输出
#include<stdio.h>
main()
{
int i,sum=0;
for(i=1;i<=100;i++)
sum+=i;
printf(“sum=%d\n”,sum);
}


----------------解决方案--------------------------------------------------------

这个蹦出来的框框显示:
The program will computer<n!>
please enter n:


运行时应该在里面输什么来求和啊?


----------------解决方案--------------------------------------------------------

这个东西太简单了,建议楼主多看看书吧。


----------------解决方案--------------------------------------------------------
  相关解决方案