如何克服运行时错误

如何克服运行时错误

本文介绍了如何克服运行时错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

银行比较

问题描述

有两家银行;银行A和银行B.他们的利率各不相同。您已收到两家银行的年度利率,任期和整个任期内利率变化的报价。



您必须选择哪个优惠花费你最不感兴趣并拒绝另一个。



做计算并做出明智的选择。



贷款还款按月发生,每月分期付款(EMI)使用下面的公式计算:



EMI = loanAmount * monthlyInterestRate /



(1 - 1 /(1 + monthlyInterestRate)^(numberOfYears * 12))



限制条件

1< = P< = 1000000



1< = T< = 50



1< = N1< = 30



1< = N2< = 30



输入格式

第一行:P - 本金(贷款金额)



第二行:T - 总任期(以年为单位)。



李三ne:N1是A银行给定时期内的利率板数。第一块板从第一年开始,第二块板从第一块板的末端开始,依此类推。



下一个N1线将包含利率及其期限。



在N1线之后我们将收到N2即。第二家银行提供的楼板数量。



接下来的N2线是B银行给定时期的利率板数。第一块板块从第一年开始,第二块板从第一块板的末端开始,依此类推。



期间和费率将由单个空格分隔。



输出

您的决定 - 银行A或银行B.





说明

例1



输入



$



20



3



5 9.5



10 9.6



5 8.5



3



10 6.9



5 8.5



5 7.9



输出



银行B



例2



输入



500000



26







13 9.5



3 6.9



10 5.6







14 8.5



6 7.4



6 9.6



输出



银行B



我尝试过:



Bank Compare
Problem Description
There are two banks; Bank A and Bank B. Their interest rates vary. You have received offers from both bank in terms of annual rate of interest, tenure and variations of rate of interest over the entire tenure.

You have to choose the offer which costs you least interest and reject the other.

Do the computation and make a wise choice.

The loan repayment happens at a monthly frequency and Equated Monthly Installment (EMI) is calculated using the formula given below :

EMI = loanAmount * monthlyInterestRate /

( 1 - 1 / (1 + monthlyInterestRate)^(numberOfYears * 12))

Constraints
1 <= P <= 1000000

1 <=T <= 50

1<= N1 <= 30

1<= N2 <= 30

Input Format
First line : P – principal (Loan Amount)

Second line : T – Total Tenure (in years).

Third Line : N1 is number of slabs of interest rates for a given period by Bank A. First slab starts from first year and second slab starts from end of first slab and so on.

Next N1 line will contain the interest rate and their period.

After N1 lines we will receive N2 viz. the number of slabs offered by second bank.

Next N2 lines are number of slabs of interest rates for a given period by Bank B. First slab starts from first year and second slab starts from end of first slab and so on.

The period and rate will be delimited by single white space.

Output
Your decision – either Bank A or Bank B.


Explanation
Example 1

Input

10000

20

3

5 9.5

10 9.6

5 8.5

3

10 6.9

5 8.5

5 7.9

Output

Bank B

Example 2

Input

500000

26

3

13 9.5

3 6.9

10 5.6

3

14 8.5

6 7.4

6 9.6

Output

Bank B

What I have tried:

//This is The Coding Area
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
  long int p;
  int  t,n1,n2,i,j;
  scanf("%ld%d%d%d",&p,&t,&n1,&n2);
  int pea[n1],peb[n2];
  float ra[n1],rb[n2],ai,bi,a = 0,b = 0;
  for(i=0;i<n1;i++)
  {
    scanf("%d%lf",&pea[i],&ra[i]);
    a = a+(p*pea[i]*ra[i]);
  }
  for(j=0;j<n2;j++)
  {
     scanf("%d%lf",&pea[i],&rb[i]);
     b = b+(p*peb[j]*rb[j]);
  }
  ai = a/(100);
  bi = b/(100);
  if(ai<bi)
  {
    printf("Bank A");
  }
  else
  {
    printf("Bank B");
  }
 return 0;
}





这是我上述问题的代码

i已经收到运行时错误

你能否提出任何建议以避免运行时错误?



this is my code for the above problem
i have been getting runtime error
can you please give any suggestions to avoid runtime error?

推荐答案



scanf("%d%lf",&pea[i],&rb[i]);
b = b+(p*peb[j]*rb[j]);



您正在读取 pea 数组,但在计算中使用 peb 元素。


You are reading a value into an element of the pea array, but using an element of peb in your calculations.


这篇关于如何克服运行时错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 15:23