原来这样啊 2013-10-27 09:14
浏览 2593

杭州电子科技大学 acm 第1001题

题目的输入要求是The input will consist of a series of integers n, one integer per line.输出要求是For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.
我提交的答案总是Runtime Error(ACCESS_VIOLATION).我想知道我写的代码怎么改是正确的,谢了(下面是我的代码)我的想法是一次输入一些数,然后用数组存起来,然后求和后再按行输出。

include
define LEN 20
int main()
{

int in[LEN];

int i = 0 ;

int j;

int n;

while(scanf("%d",&n) != EOF)

{

in[i] = n;//用数组来存储每次输入的n的值
i++;

}

for(j = 0; (j < i) && (in[j] < 65536); j++)//in[j]<65536防止最后的结果超过要求的有符号32位的值

{

printf("%d\n\n", (in[j]%2) ? (((in[j]+1)/2)* in[j]) : ((in[j]/2)*(1+ in[j]))); //按照输入的n的值的顺序求值

}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试