c++ 求正整数的所有因子输入一个正整数,求出它所有的因子.所谓正整数i的因子是指所有能够整除i的正整数.输入描述:标准输入包含很多测试用例,第一行输入是一个整数T (1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 20:33:27
c++ 求正整数的所有因子输入一个正整数,求出它所有的因子.所谓正整数i的因子是指所有能够整除i的正整数.输入描述:标准输入包含很多测试用例,第一行输入是一个整数T (1

c++ 求正整数的所有因子输入一个正整数,求出它所有的因子.所谓正整数i的因子是指所有能够整除i的正整数.输入描述:标准输入包含很多测试用例,第一行输入是一个整数T (1
c++ 求正整数的所有因子
输入一个正整数,求出它所有的因子.所谓正整数i的因子是指所有能够整除i的正整数.
输入描述:
标准输入包含很多测试用例,第一行输入是一个整数T (1

c++ 求正整数的所有因子输入一个正整数,求出它所有的因子.所谓正整数i的因子是指所有能够整除i的正整数.输入描述:标准输入包含很多测试用例,第一行输入是一个整数T (1

程序的主要逻辑用c语言完成了,有详细的注释.

程序如下,运行结果见下图:C语言实现.

#include<stdio.h>

#include <stdlib.h>

#define MAX_LEN  200

void main()

{

 int num1[MAX_LEN]; //存放测试用例

 int num_test=0;//测试用例个数

 //初始化数字数组num1[MAX_LEN]

 for (int i=0;i<MAX_LEN;i++)

 {

  num1[i] = -1;

 }

    printf("输入测试用例个数(为整数):");

 scanf("%d",&num_test);

 //输入num_test个测试用例数值存放到num1[max_len]中

 for (i=0;i<num_test;i++)

 {

    printf("请输入第%d个测试用例:",i+1);

       scanf("%d",&num1[i]);

 }

 for(i=0;i<MAX_LEN;i++)

 {

   printf("\n");

  //所有数的因子求玩后推出

  if (num1[i]==-1)

  {

   return;

  }//end if

  printf("%d的所有因子为:",num1[i]);

//处理特殊情况:  你给的条件不清楚.自己处理吧

  //如果测试用例数据为0,那么进入下一循环

  if (num1[i]==0)

  {

   printf(" 你自己填");

   continue;

  }//endif 

  if (num1[i]==1)

  {

   printf(" 你自己填");

   continue;

  }

  //输出因子>1

  for (int j=1;j<=num1[i]-1;j++)

  { 

   //测试数据不为0

   if (num1[i]%j == 0)

   {

    printf("%d ",j);

   }//end if

  }//end for

  printf("\n");

 }//end for

}//end main