【问题标题】:How I can Assign specific values to the array?如何为数组分配特定值?
【发布时间】:2018-12-27 06:44:37
【问题描述】:

如何将所有除数存储在数组 a 中??

这个程序显示一个数字的除数,然后决定它是质数和/或完美的......问题是我无法将除数的值存储在数组 a 中。

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

int main()
{   int DivCount=0,n,i,j,a[100],sum=0;

    printf("Please Enter the Number : ");
    scanf("%d",&n);

    for(i=1;i<=n;i++)
    if (n%i==0){
            a[i-1]=i;
              DivCount++;
                }

    printf("\nThe Number Has %d divisors : ",DivCount);
    for(i=0;i<DivCount;i++)
    printf("%d\t",a[i]);

    if (DivCount==2)
        printf("\nThe Number is Prime");
    else
        printf("\nThe Number is NOT Prime");

     for(i=0;i<DivCount;i++)
        sum+=a[i];
     printf("\nThe Sum of the divisors is :%d",sum);

    if (sum==n)
        printf("\nThe Number is Perfect");
    else
        printf("\nThe Number is NOT Perfect");

    return 0;
}

例如 (n=6) 数组应该是 = {1,2,3,6}

【问题讨论】:

  • a[i-1]=i; 是主要问题。使用另一个变量进行数组索引,从而保持除数的数量。例如:a[divisor_count++] = i;
  • OT:为了便于阅读和理解:1) 遵循公理:每行只有一个语句,并且(最多)每个语句一个变量声明。 2) 不要省略可选的大括号 '{' 和 '}'

标签: c arrays variable-assignment


【解决方案1】:
#include <stdio.h>
#include <stdlib.h>

int main()
{   int DivCount=0,n,i,j,a[100],sum=0;

    printf("Please Enter the Number : ");
    scanf("%d",&n);

    for(i=1;i<=n;i++)
    if (n%i==0){

        //a[i-1]=i;  <--- check this
        a[DivCount]=i;
        DivCount++;
    }

    printf("\nThe Number Has %d divisors : ",DivCount);
    for(i=0;i<DivCount;i++)
    printf("%d\t",a[i]);

    if (DivCount==2)
        printf("\nThe Number is Prime");
    else
        printf("\nThe Number is NOT Prime");

     for(i=0;i<DivCount;i++)
        sum+=a[i];
     printf("\nThe Sum of the divisors is :%d",sum);

    if (sum==n)
        printf("\nThe Number is Perfect");
    else
        printf("\nThe Number is NOT Perfect");

    return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2016-03-24
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多