#K4001. C4.01 高精度(一)

C4.01 高精度(一)

一、程序阅读。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a[1000]={0},b[1000]={0},c[1000]={0};
	int lena,lenb,lenc;
	char a1[1000],b1[10000];	
	cin>>a1;
	cin>>b1;
	lena=strlen(a1);
	lenb=strlen(b1);
	for(int i=0,k=lena-1;i<lena;i++,k--)
	{
	    a[k]=a1[i]-'0';
	}
	for(int i=0,k=lenb-1;i<lenb;i++,k--)
	{
	    b[k]=b1[i]-'0';
	}
	lenc=max(lena,lenb);
	for(int i=0;i<lenc;i++)
	{
	    c[i]=c[i]+a[i]+b[i]; 
	    if(c[i]>=10)
	    {
	       c[i+1]=c[i+1]+c[i]/10;
	       c[i]=c[i]%10;
	    }
	     if(c[lenc]!=0)
	     {
	        lenc++;
	     }
	}
	while(c[lenc]==0)
	{
	   lenc--;
	}
	for(int i=lenc;i>=0;i--)
	{
	    cout<<c[i];
	}
	return 0;
}

判断题

  1. 程序可以输入任意长度字符串? {{ select(1) }}
  1. 程序输入0和0,输出结果等于0? {{ select(2) }}
  1. 程序中第26行和27行代码可以交换? {{ select(3) }}
  1. 程序第5行放在全局变量程序会出错? {{ select(4) }}

选择题

  1. 程序中输入99和1,最后程序中lenc等于多少? {{ select(5) }}
  • 100
  • 3
  • 6
  • 2
  1. 程序输入0和0输出结果是什么? {{ select(6) }}
  • -1
  • 1
  • 0
  • 无输出

二、程序填空

题目描述

楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。

输入格式

一个数字,楼梯数。

输出格式

输出走的方式总数。

4
5

说明:对于 60% 的数据,N≤50;对于 100% 的数据,1≤N≤5000。

#include<bits/stdc++.h>
using namespace std;
int a[5001][5000];
int lena=1;
int main()
{
	int n;
	cin>>n;
	a[1][1]=1;
	a[2][1]=2;
	for(int i=3;i<=n;i++)
	{
	    //对位相加 
	    for(int k=1;k<=lena;k++)
	    {
	        ___①___
	    }
	    //进位
	    for(int k=1;k<=lena;k++)
	    {
	        if(___②___)
	        {
	            a[i][k+1]=a[i][k+1]+a[i][k]/10;
	            a[i][k]=a[i][k]%10;			
	        }
	        if(___③___)
	        {
	           lena++;
	        }
	      } 
	}
	while(___④___)
	{
	    lena--;
	}
	for(int i=___⑤___;i>=1;i--)
	{
	     cout<<a[n][i];
	}
	return 0;
}
  1. 第①处。( ) {{ select(7) }}
  • a[i][k]=a[i-1][k]+a[i-2][k];
  • a[i][k]=a[i][k]+a[i-2][k];
  • a[i][k]=a[i-1][k]+a[i][k];
  • a[i][k]=a[i][k-1]+a[i][k-2];
  1. 第②处。( ) {{ select(8) }}
  • a[i][k]>=10
  • a[i][k]>10
  • a[i][k]<=10
  • a[i][k]<=10
  1. 第③处。( ) {{ select(9) }}
  • a[i][lena]>0
  • a[i][lena-1]>0
  • a[i][lena+1]>0
  • a[i+1][lena+1]>0
  1. 第④处。( ) {{ select(10) }}
  • a[n][lena]==0
  • a[n-1][lena]==0&&lena>=1
  • a[n][lena]!=0&&lena>=1
  • a[n][lena]==0&&lena>1
  1. 第⑤处。( ) {{ select(11) }}
  • lena-1
  • lena+1
  • lena
  • lena++