无题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日

悬赏问题

  • ¥15 r包runway详细安装教程
  • ¥15 Html中读取Json文件中数据并制作表格
  • ¥15 谁有RH342练习环境
  • ¥15 STM32F407 DMA中断问题
  • ¥15 uniapp连接阿里云无法发布消息和订阅
  • ¥25 麦当劳点餐系统代码纠错
  • ¥15 轮班监督委员会问题。
  • ¥20 关于变压器的具体案例分析
  • ¥15 生成的QRCode圖片加上下載按鈕
  • ¥15 板材切割优化算法,数学建模,python,lingo