c语言给我点提示,怎么输入三个输出三个

返回一个正整数的所有约数个数,主函数输入若干整数,依次输出其约数个数,一个输出占一行,如果是素数,再此行中再输出: Is Prime。

输入样例:
100 101 1001
输出样例:
9
2 Is Prime
8


#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 10
int IsPrime_number(int count)
{
    int i = 2;
    for (i = 2; i <= sqrt(count); i++)
    {
        if (count%i == 0)
            return 0;

    }
        return 1;
    
}
void Output_divisor(int* nums,int i)
{
    int j = 0;
    for (j = 0; j <= i; j++)
    {
        int k = 1; int count = 0;
        for (k = 1; k <= sqrt(nums[j]); k++)
        {
            if (sqrt(nums[j]) == k)
                count++;
            else
            {
            if (nums[j] % k == 0)
                count += 2;
             }
        }
        if(IsPrime_number(count))
            printf("%d Is Prime\n", count);
        else
            printf("%d \n", count);
    }
}
int main()
{
    int nums[N] = { 0 };
    int i = 0;
    for (i = 0; i < N; i++)
    {
        scanf("%d", &nums[i]);
        if (getchar() == '\n')
            break;
    }
    Output_divisor(nums, i);
    return 0;
}

就是循环输入输出呗,不想写循环就用三个变量

img


望采纳


#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 3
int IsPrime_number(int count)
{
    int i = 2;
    for (i = 2; i <= sqrt(count); i++)
    {
        if (count%i == 0)
            return 0;

    }
        return 1;
    
}
void Output_divisor(int* nums,int i)
{
    int j = 0;
    for (j = 0; j < i; j++)
    {
        int k = 1; int count = 0;
        for (k = 1; k <= sqrt(nums[j]); k++)
        {
            if (sqrt(nums[j]) == k)
                count++;
            else
            {
            if (nums[j] % k == 0)
                count += 2;
             }
        }
        if(IsPrime_number(count))
            printf("%d Is Prime\n", count);
        else
            printf("%d \n", count);
    }
}
int main()
{
    int nums[N] = { 0 };
    int i = 0;
    for (i = 0; i < N; i++)
    {
        scanf("%d", &nums[i]);
        
    }
    Output_divisor(nums, N);
    return 0;
}