Tag:

为什么我的符号测试总是报告“否定”?

以下程序应打印数组元素的总和是正数还是负数: #include #define ARR_SIZE 5 int main() { int array[ARR_SIZE] = {1,-2,3,4,-5}; unsigned sum; int i; for(i=0, sum=0; i -1) printf(“non negative\n”); else printf(“negative\n”); return 0; } 该计划没有做到它应该做的事情; 无论收到什么数组值,它都会打印“负数”。 例如,在上面的程序中写入的数组的总和是1,因此我期望以下输出: sum 1 sum -1 sum 2 sum 6 sum 1 1 non negative 而输出是: sum 1 sum -1 sum 2 sum 6 sum 1 1 […]

在C中使用递归的数字总和

对于我们今天的活动,我们的任务是使用数字之和进行递归。 我已经制作了这个节目: int main() { int num = 0, sum; printf(“Enter an integer: “); scanf(“%d”,&num); //counter=1; for ( sum=0; num>0;) { sum = sum + num % 10; num = num /10; } printf(“Sum = %d”, sum); getch(); return 0; } 我们的老师补充说“输入和输出必须在main()函数中完成。” 我做对了吗? 或者我在代码中遗漏了什么?

加权区间调度问题与动态程序

我的问题与其他讨论有关 。 我正在尝试使用动态程序将该算法实现为递归调用。 问题陈述: 作业j从sj开始,在fj结束,并且具有重量或值vj 。 如果两个作业不重叠,则会兼容。 目标:找到相互兼容的作业的最大权重子集。 书籍提出的解决方案是使用解决方案表来存储所有问题,这些问题将在递归迭代调用期间在需要时重用。 解决问题的步骤是: Input: n, s1,…,sn , f1,…,fn , v1,…,vn Sort jobs by finish times so that f1 > f2 >… > fn. Compute p(1), p(2), …, p(n) Where p(j) = largest index i < j such that job i is compatible with j. for j = 1 […]

最快的算法,可以将数字加总到N

我想在C中使用非常快的算法或代码来执行以下任务:对于任何给定的整数N,将所有数字从1加到N,而不假设N是正数。 我做了一个从1到N的求和循环,但它太慢了。