无题12 2022-12-23 13:12 采纳率: 100%
浏览 94
已结题

怎么修改呀(真正的要求在代码下面)

arr[1] = 1;

public int fn(int n) {
    return n<=0?0:(n==1?1:(arr[n]!=0?arr[n]:(arr[n] = fn(n-1)+fn(n-2))));
}

上面的代码是假的,题目在下面
编写一个程序,这个程序要处理命令行参数,也就是在运行程序的命令中,除了程序名之外,还需要传递给程序一些参数。需要用main 函数的第二种形式来处理:int main(int argc, char *argv).用这种方式编写一个程序,程序运行的命令行中,除了本身的程序名称以外,还需要输入一个自然数参数,按回车建运行程序后,程序打印这个自然数的质数分解。不要忘记把字符串参数转换成整数类型的数据。
已知代数定理,任何大于1的自然数都可以写成质数的乘积。例如4=2*215=3*518=2*3*3,如果这个自然数就是质数,则不用分解。 
提示:把质数放在数组中,用n去除这个数组中的质数,如果可以整除,则继续找质数来除,直到把n变成1为止。把可以整除n的质数放在一个数组中,最后循环打印。
  • 写回答

2条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2022-12-23 13:45
    关注

    img

    #include <stdio.h>
    #include<string.h>
    int main(int argc, char *argv[])
    {
        int i,n=0,f=1;
        char s[50];
        scanf("%s",s);
        if(s[0]==' ')
        {
            printf("The program needs at least one integer parameter to run");
            f=0;
        }
    
        else
        {
            for(i=0; s[i]!='\0'; i++)
            {
                if(s[i]>='0'&&s[i]<='9')
    
                {
                    n=n*10+s[i]-'0';
                    printf("%d \n",n);
                }
                else
                {
                    f=0;
                    printf("The  parameter has to be an integer format");
                    break;
                }
            }
        }
    
        if(f==1)
        {
            printf("%d=",n);
            for(int i=2; i<n; i++)
            {
                while(n>i)//进入循环n的值会变所以要再次判断ni的值大小情况
                {
                    if(n%i==0)
                    {
                        printf("%d*",i);
                        n/=i;//商
                    }
                    else
                    {
                        break;//不符合直接终止循环
                    }
                }
    
            }
            printf("%d",n);//这里是把最后一个值输出
            printf("\n");
    
        }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月23日
  • 已采纳回答 12月23日
  • 赞助了问题酬金15元 12月23日
  • 创建了问题 12月23日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来