键盘输入一批数,输入零时结束,分别计算负数与正数的总和,最后输出结果.求源程序啊.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 18:12:23
键盘输入一批数,输入零时结束,分别计算负数与正数的总和,最后输出结果.求源程序啊.
#include <malloc.h>
#include <string.h>
#include <math.h>
#define MAX(a, b) (a > b ? a : b)
#define MIN(a, b) (a < b ? a : b)
#define POSITIVE(a) (a > 0 ? 1 : 0)
#define NEGTIVE(a) (a < 0 ? 1 : 0)
int main()
{
printf("Input:\n");
int max_size = 128; // max size, can be extended
double *data = (double*) malloc(max_size * sizeof(double));// allocate memory
int num = 0;
while (1)
{
char szBuf[16];
memset(szBuf, 0, 16);
scanf("%s", szBuf);
if (0 == strcmp(szBuf, "over")) break;//input "over" as input over
data[num++] = atof(szBuf);
if (num == max_size) // extend memory
{
max_size *= 2;
data = (double*) realloc(data, max_size);
}
}
double max = data[0], min = data[0];
int posNum = 0, negNum = 0;
for (int i = 0; i < num; ++i)
{
max = MAX(max, data[i]);
min = MIN(min, data[i]);
posNum += POSITIVE(data[i]);
negNum += NEGTIVE(data[i]);
}
printf("\nOutput:\n");
printf("max: %f\nmin: %f\npositive num: %d\nnegtive num: %d\n",
max, min, posNum, negNum);
free(data); // free memory
return 0;
}
数据输入以“over”结束
#include <string.h>
#include <math.h>
#define MAX(a, b) (a > b ? a : b)
#define MIN(a, b) (a < b ? a : b)
#define POSITIVE(a) (a > 0 ? 1 : 0)
#define NEGTIVE(a) (a < 0 ? 1 : 0)
int main()
{
printf("Input:\n");
int max_size = 128; // max size, can be extended
double *data = (double*) malloc(max_size * sizeof(double));// allocate memory
int num = 0;
while (1)
{
char szBuf[16];
memset(szBuf, 0, 16);
scanf("%s", szBuf);
if (0 == strcmp(szBuf, "over")) break;//input "over" as input over
data[num++] = atof(szBuf);
if (num == max_size) // extend memory
{
max_size *= 2;
data = (double*) realloc(data, max_size);
}
}
double max = data[0], min = data[0];
int posNum = 0, negNum = 0;
for (int i = 0; i < num; ++i)
{
max = MAX(max, data[i]);
min = MIN(min, data[i]);
posNum += POSITIVE(data[i]);
negNum += NEGTIVE(data[i]);
}
printf("\nOutput:\n");
printf("max: %f\nmin: %f\npositive num: %d\nnegtive num: %d\n",
max, min, posNum, negNum);
free(data); // free memory
return 0;
}
数据输入以“over”结束
键盘输入一批数,输入零时结束,分别计算负数与正数的总和,最后输出结果.求源程序啊.
用C语言编写程序.输入一些整数,编程计算并输出其中所有正数的和,输入负数或零时,表示输入数据结束.
c语言 键盘上输入输入十个数,分别计算其中正数的总和,负数的总和.
键盘输入一批整数,输入 -1时结束,偶数输出,奇数相加,最后输出奇数的和.
从键盘输入一组正整数,直到输入一个负数或零时截止,输出这组数中最大的那个.
编写两个函数,分别求两个正数的最大公约数和最小公倍数,在主函数中输入两个数,然后调用这两个函数计算并输出结果
c语言 键盘上输入输入十个数,分别计算其中正数和负数的和
C语言.求大神解从键盘上任意输入n个数(以0结束),统计正负数的个数;并分别计算正数和负数的平均值.
从键盘上输入20个整数,分别统计计算并输出所有整数之和、正数之和、负数之和、正数的个数及负数的个数.
输入20个整数,计算正数的平均值以及负数的和,并输出结果(设正数的个数大于零).
编写java程序,输入个数不定的整数,输入0时结束.统计这些整数中正数和负数的个数,并计算它们的总和.
c语言编程写两个函数,分别求两个正数的最大公约数和最小公倍数.用主函数调用这两个函数并输出结果.两个正数由键盘输入