问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我用C语言写了个程序 可以运行 但是得不到结果 求解呀·

发布网友 发布时间:2022-06-02 22:11

我来回答

5个回答

热心网友 时间:2023-10-06 06:08

你得不到结果,不知道是不是你的程序还没有运行完的缘故,for(n=1;n<=1000000000;n++)的循环次数太多了。其他的我就不清楚了。
还要提醒你一下的是你的变量denominator,变量名字母太多了,写程序时要做到变量名简明,能看懂就行。

热心网友 时间:2023-10-06 06:08

运行结果确实是4
16
48
但你的程序中一下值得注意:
cout<<endl;
而不是
cout<<end1;
这样的低级语法错误不应该犯;
而且一般写程序也不建议使用void
main(),而应使用int
main(int
argc,
char
*argv[])

热心网友 时间:2023-10-06 06:09

for(n=1;n<=1000000000;x++){
这个循环里面的循环变量应该是n吧,你却来个x++,n就一直是1,当然是个死循环。而且你的这个数1000000000太大了,整形的变量会溢出变成负数的,在VC++上的话你可以试试__int64,在DEV-C上的话就试试long long

热心网友 时间:2023-10-06 06:09

/*
Enter x = 5
sum = 66.5865
Press any key to continue
*/
#include<stdio.h>
#include<math.h>

int main(void) {
double fact(int n),sum = 0;
unsigned int n,count = 0;
double x,denominator,b;
printf("Enter x = ");
scanf("%lf",&x);
for(n = 1;n <= x;n++) {
denominator = fact(n);
count++;
b = pow(x,count)/denominator;
sum += b;
if(1.0/denominator < 0.00001) break;
//else continue; // 冗余语句
}
printf("sum = %.4lf\n",sum); // 输出double类型数据的格式是%lf
return 0;
}

double fact(int n) {
int i,j,s = 0,fact;
for(i = 1;i <= n;i++) {
fact = 1;
for(j = 1;j <= i;j++) fact *= j; // 求i的阶乘
s += fact; // 各个阶乘结果求和
}
return s; // 返回阶乘和
}追问您好 为什么要加上这个unsigned啊·unsigned表示什么意思啊·?而且我判断结束的语句是x^n/n!的绝对值<10的-5次方 才算结束; 为什么else continue 是冗余的啊 ··?我把我源代码改了 改正if(b<0.00001) 把sum=0;为什么这可以运行当X=1的时候 其他的值运行部了

追答这个不加,因为你原来的循环结束条件是n < 1000000000,后来改为n就不必要了。
unsigned是无符号类型,比如unsigned char是无符号字符类型,unsigned int是无符号整形等等。
else continue 是冗余的,因为如果满足条件(1.0/denominator < 0.00001)就结束循环,否则就继续,不加该语句其功能是完全等同的。
x = 1时,可以正常运行,其结果是sum = 1.0000

热心网友 时间:2023-10-06 06:10

上面的SUM没有初始化,下面还没看,你的SUM应该在定义的时候写上SUM=0,这样才能显出结果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见穿堂风 没有爱情我们一样会快乐的对吗 没有爱情的人会快乐么? 解除合同的效力有什么 合同解除会产生什么法律效力 合同解除后,哪些条款仍具效力? 合同解除产生哪些效力呢 民法典中合同解除产生哪些效力 解除合同的效力有哪些 济南七中学校怎么样 中国学者为什么一代不如一代 为什么我运行C语言后,显示不到结果? 为什么在中国古代,合格的皇帝和优秀的皇帝都是开国皇帝,后面的皇帝一代不如一代,越来越不合格? C语言下面程序运行没有结果? 为什么中国皇帝总是一代不如一代,只有开国之君做得好??? C语言我这个有什么错误,可以运行但是没有结果? c语言程序运行后出不来结果? 以后的中国一代不如一代对吗 为什么中国的年轻一代不如一代 c语言程序显示没有问题但运行结果是空白的? C语言printf 的问题,运行后不显示结果,说程序有问题? C语言运行这程序 为什么没有结果出来的 C语言编译成功却没有结果显示怎么破? c语言为什么没有运行结果? c语言程序运行之后为什么没有结果 c语言,运行后为什么没结果。 教师资格认定选哪门课好呢?我的专业是思想*教育,报考初中的思想品德怎么样? 一个面积是252平方米的长方形菜地长28场增加了28快不变框架后的面积是多少? 309道德与法治学科知识与教学能力是初中政治吗 一个正方形的表面积是252厘米它的一个面的面积是多少厘米? C语言程序可以运行,但不显示结果 中国孩子一代不如一代了 本人想买个二手笔记本买什么牌子好呢? c语言可以运行,但显示不出结果? 国内有一种说法,中国的最上层,一代不如一代 - 信息提示 为什么在中国有一代不如一代的感慨 中国人是不是一代比一代幸福 小康之家 幸福一生两全保险(分红型) 二手笔记本,哪个牌子好一点 谁说中国的孩子一代不如一代 《觉醒年代》火出圈,年轻人备受争议,难道真的一代不如一代? 泰康人寿幸福一生 有关于陶行知故事点石成金的陶行知名言不? 泰康人寿少儿保险幸福一生 中国的大学生为何一代不比一代强? 社会进行了,可中国人为什么一代比一代活得累, 泰康甜蜜人生保险条款 能表达 大气 (豪迈 豪放 豪爽)的形容词和名词有哪些 帮忙想一个四个字的词语或是成语,要大气,非主流(是指词语非主流,不是字体)