鱼C论坛

 找回密码
 立即注册
查看: 1790|回复: 12

[已解决]找错误

[复制链接]
发表于 2021-10-20 21:23:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写程序,求1!+2!+3!+...+10!的和, 源代码如下,程序中存在错误,请将其改正写在旁边。
#include "stdio.h"
main(){
  int i;
  long sum,temp;/*定义变量*/
  for(i=1,i<=10,i++){/*循环*/
     temp=temp+i; /*计算i的阶乘*/
         sum=sum*temp;/*求和*/
  }
  printf("1!+2!+3!+.....10!=%d",sum);
}
最佳答案
2021-10-21 11:15:58
#include <stdio.h>
int main(){
int i,j;
long int sum=0,temp=1;
for(i=1;i<11;i++)
for(j=i;j=0;j--)
temp=temp*j;
sum=sum+temp;
printf("1!+2!+3!+.....10!=%ld", sum);
}
上面鱼油得函数你可能不懂,这个if的嵌套稍微简单一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-20 21:56:03 | 显示全部楼层
#include "stdio.h"
main(){
  int i;
  long sum,temp;/*定义变量*/
  for(i=1;i<=10;i++){/*循环*/   //for需要 ; 隔开 
     temp=temp+i; /*计算i的阶乘*/
         sum=sum*temp;/*求和*/
  }
  printf("1!+2!+3!+.....10!=%d",sum);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:00:13 | 显示全部楼层

stdio那块用双引号吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 22:13:46 | 显示全部楼层
ZXPoo 发表于 2021-10-20 22:00
stdio那块用双引号吗?

也是一种写法
可以用<>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:18:29 | 显示全部楼层
大马强 发表于 2021-10-20 22:13
也是一种写法
可以用

大哥你那最后答案不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 22:19:30 | 显示全部楼层
啊这我只是改错
答案是多少
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:21:30 | 显示全部楼层
大马强 发表于 2021-10-20 22:19
啊这我只是改错
答案是多少

答案最后是4开头的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 22:41:33 | 显示全部楼层
#include <stdio.h> // 标准库用尖括号

int main(void) // main函数标准做法是返回int 类型
{
    int i;
    long sum = 0, temp = 1;   /*定义变量,并初始化*/
    for (i = 1; i <= 10; i++) // for循环表达式间用分号隔开
    {                         /*循环*/
        temp = temp * i;      /*计算i的阶乘,用乘法*/
        sum = sum + temp;     /*求和,用加法*/
    }
    printf("1!+2!+3!+.....10!=%ld", sum); // long类型格式化说明符用ld

    return 0; // main 函数返回值
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 23:47:50 | 显示全部楼层
本帖最后由 jackz007 于 2021-10-20 23:50 编辑
#include <stdio.h>
int main(void)
{
        int i , j , sum , temp                             ;
        for(sum = 0 , i = 1 ; i <= 10 ; i ++) {           
                for(temp = 1 , j = i ; j ; j --) temp *= j ;
                sum += temp                                ;
        }
        printf("1!+2!+3!+.....10! = %d\n" , sum)           ;
}
        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
1!+2!+3!+.....10! = 4037913

D:\00.Excise\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 10:22:39 | 显示全部楼层
#include <stdio.h>

long int f(int x) // 定义声明函数:用于计算乘阶 factorial
{
    long int res = 1; // 定义与声明长整数 res = 1
    for(int i = x; i > 0; i--) res *= i; // 循环:i = 10, 9, 8, ...., 1,乘积:res = 10*9*8*...*1
    return res;
}

int main()
{
    long int sum = 0; // 定义与声明长整数 sum = 0
    for(int i = 10; i > 0; i--) sum += f(i); // 循环:i = 10, 9, 8, ...., 1,sum = f(10) + f(9) + f(8) + .... + f(1)
    printf("%ld", sum); // 打印
    return 0;
}
4037913
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 11:15:58 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
int main(){
int i,j;
long int sum=0,temp=1;
for(i=1;i<11;i++)
for(j=i;j=0;j--)
temp=temp*j;
sum=sum+temp;
printf("1!+2!+3!+.....10!=%ld", sum);
}
上面鱼油得函数你可能不懂,这个if的嵌套稍微简单一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-21 20:27:21 | 显示全部楼层
谢谢各位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 21:44:07 | 显示全部楼层

求助完设一个最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 17:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表