撸猫791 2024-06-24 20:23 采纳率: 54.5%
浏览 0

关于#c语言#的问题,请各位专家解答!


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

typedef struct node{
    int num;
    node *next;
}node;

node *Create_stu_Doc(int n){
    int num;
    int size=sizeof(node);
    node *head,*tail,*p;
    head=tail=NULL;
    for(int i=1;i<=n;i++){
        scanf("%d",num);
        p=(node*)malloc(size);
        p->num=num;
        p->next=NULL;
        
        if(head==NULL)
             head=p;
        else
             tail->next=p;
        tail=p; 
    }
    return head;
}

int main (){
    int n,m,k=0,j,g=1;
    scanf("%d %d",&n,&m);
    node *ptr,*ptr1,*head=Create_stu_Doc(n);
    for(ptr=head;ptr!=NULL;ptr=ptr->next){
        k++;
        if(k==(n-m)){
            for(ptr;ptr!=NULL;ptr=ptr->next){
                j=ptr->num;
                g=g*j;
            }
            break;
        }
    }
    printf("%d",g);
}

以上代码的结果为什么会出错

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-24 20:23
    关注

    引自免费微信小程序:皆我百晓生

    这个问题是由于在主函数main()中没有正确地初始化变量kj

    for循环中,我们需要将当前节点的值赋给j,然后将其乘以j的值(即g)。但是,在循环结束后,j并没有被正确地更新为新的值。因此,当我们在if语句中检查j是否等于n*m时,j始终为0,导致程序无法计算正确的结果。

    修复这个问题的方法是在每次迭代后都更新jg

    int main(){
        int n, m, k = 0, j = 1, g = 1;
        scanf("%d %d", &n, &m);
    
        node* ptr, *ptr1, *head = Create_stu_Doc(n);
    
        for (ptr = head; ptr != NULL; ptr = ptr->next){
            k++;
            if(k == (n - m)){
                for(ptr; ptr != NULL; ptr = ptr->next){
                    j *= ptr->num;
                }
                break;
            }
        }
    
        g = 1;
        while(g < n){
            g *= j;
        }
    
        printf("%d", g);
    }
    

    这段修改后的代码应该可以正常运行,并且会输出正确的结果。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月24日

悬赏问题

  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件