首页 > 试题广场 >

编程题:

[问答题]
编程题:
输入 30 个整数,统计出其中正整数个数,负整数个数及 0 的个数,并分别求出所有负整数与所有正整数的和,最后求出全部数字绝对值之和。

#include "math.h"
main()
{
int a[30],p=0,n=0,z=0,sum=0,i,sumn=0,sump=0;
system("cls");
printf("Please intput 30 numbers:\n");
for(i=0;i<30;i++)
scanf("%d",&a[i]);
for(i=0;i<30;i++)
{
if (a[i]>0)
p=p++;sump=sump+a[i];
else if(a[i]<0)
n=n++;sumn=sumn+a[i];
else
z=z++;
}
for(i=0;i<30;i++)
sum=sum+fabs(a[i]);
printf("The plus number and the addition is:%d,%d\n",p,sump);
printf("The nagative number and the addition is:%d,%d\n",n,sumn);
printf("The zero number is:%d\n",z);
printf("The sum of the absolute value is:%d\n",sum);
}
发表于 2017-05-17 13:04:48 回复(0)
// 实现绝对值自定义函数
int my_abs(int a)
{
    return a < 0 ? -a : a; }

int main(int argc, char const *argv[])
{
    unsigned int positive = 0; // 正
    unsigned int minus = 0;    // 负
    unsigned int zero = 0;     // 零
    int arr[30] = {0};
    int sum = 0;

    int i = 0;
    // printf("%d",my_abs(-98));
    for (i = 0; i < 30; i++)
    {
        scanf("%d", &arr[i]);
        if (arr[i] > 0)
            positive++;
        else if (arr[i] < 0)
            minus++;
        else
            zero++;
        sum += my_abs(arr[i]);
    }
    printf("正整数个数:%d\n", positive);
    printf("负整数个数:%d\n", minus);
    printf("数字绝对值之和:%d\n", sum);
    return 0;
}

编辑于 2022-03-11 13:38:58 回复(0)