【无标题】

题目名字L1-080 乘法口诀数列 (20 分)

题目链接

题意

在这里插入图片描述

思路

首先定义一个数组,再将前两先输入,再按照题意,计算前两项的值,再将算出的值赋值给数组,在算出新的值之后,要判断是否>10,当大于10的时候要将数字先除以10得到十位上的数,再区域10就可以得到个位上的数,在得到新数时下标要++,并且下标要从3开始,因为算前面两个数的乘积时,就要想到重新定义下标,并且下标从3开始,然后再依次输出;

坑点

  1. 要将重新算的的数,重新定义下标
  2. 最后输出最后一个输出的时候没有空格;
代码
#include<bits/stdc++.h>
using namespace std;
int a[1005];
int main()
{
	int aa,bb;int n;//定义数组中的前两个数,因为输入的值不确定; 
	cin>>aa>>bb>>n;//输入数组的前两个数字; 
 	a[1]=aa,a[2]=bb; 
	int sum;int c=3;
	for(int i=1;i<=n;i++)
	{
		sum=a[i]*a[i+1];//算前两个数的乘积 
		if(sum>=10)//如果sum大于等于10,就要将一个数字分为两个数字; 
		{
			a[c]=sum/10;c++;//取出十位上的数,下标c是从3开始的,并且每取一个数到数组中就将下标++; 
			a[c]=sum%10;c++;//取出个位上的数;
		}
		else if(sum<10)
		{
			a[c]=sum;//就直接将sum存入数组中; 
			c++;//下标++; 
		}	
	}
	for(int i=1;i<=n;i++)
	{
		cout<<a[i];//输出数组; 
		if(i!=n)//如果下标不等于最后一个数,就输出空格; 
		{
			cout<<" ";
		}
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值