【1.7日】(循环语句)Acwing语法基础课

例题

708.偶数

编写一个程序,输出 11 到 100100 之间(包括 11 和 100100)的全部偶数。

输入格式

无输入。

输出格式

输出全部偶数,每个偶数占一行。

输入样例

No input

输出样例

2
4
6
...
100

相关代码

#include<iostream>
using namespace std;
int main()
{
	for(int i=1;i<=100;i++)
	{
		if(i%2==0)cout<<i<<endl;
	}
	return 0;
}

709. 奇数

输入一个整数 XX,输出 11 到 XX 之间(包括 11 和 XX)的全部奇数。

输入格式

一个整数 XX。

输出格式

输出所有满足条件的奇数,每个数占一行。

数据范围

1≤X≤10001≤X≤1000

输入样例:

8

输出样例:

1
3
5
7

相关代码

#include<iostream>
using namespace std;
int main()
{
	int x;
	cin>>x;
	1for(int i=1;i<=x;i++)
	{
		if(i%2!=0)cout<<i<<endl;
	}
	return 0;
}

712. 正数

输入 66 个实数,它们要么是正数,要么是负数。

请你统计并输出正数的个数。

输入格式

六个数字,每个占一行。

输出格式

输出格式为 x positive numbers,其中 xx 为正数的个数。

数据范围

输入数字的绝对值不超过 100100。

输入样例:

7
-5
6
-3.4
4.6
12

输出样例:

4 positive numbers

相关代码

#include<iostream>
using namespace std;
int main()
{
	double n;
	int x=0;
	
	for(int i=1;i<=6;i++)
	{
	    cin>>n;
		if(n>0)x++;
	}
	cout<<x<<" positive numbers"<<endl;
	return 0;
}

714. 连续奇数的和 1

给定两个整数 XX 和 YY,输出在他们之间(不包括 XX 和 YY)的所有奇数的和。

输入格式

第一行输入 XX,第二行输入 YY。

输出格式

输出一个整数,表示所有满足条件的奇数的和。

数据范围

−100≤X,Y≤100−100≤X,Y≤100

输入样例1:

6
-5

输出样例1:

5

输入样例2:

15
12

输出样例2:

13

输入样例3:

12
12

输出样例3:

0

相关代码

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int x,y,s=0;
	cin>>x>>y;
	if(x>y)swap(x,y);
	for(int i=x+1;i<y;i++)
	{
		if(i%2!=0)s+=i;
	}
	cout<<s<<endl;
	return 0;
}

716. 最大数和它的位置

给定 100100 个整数,请你找出其中最大的数字,以及它的输入位置(位置从 11 开始)。

输入格式

共 100100 行,每行包含一个整数。

输出格式

第一行输出最大的数字。

第二行输出该数字的输入位置。

数据范围

1≤输入数字≤500001≤输入数字≤50000,
保证输入数字互不相同。

输入样例:

22229
48558
24992
4755
11923
...
20213

输出样例:

48558
2

相关代码

#include<iostream>
using namespace std;
int main()
{
	int a[110],t=0,y;
	for(int i=1;i<=100;i++)
	{
		cin>>a[i];
		if(a[i]>t){
			t=a[i];
			y=i;
		}
	}cout<<t<<endl<<y;
	return 0;
}

721. 递增序列

读取一系列的整数 XX,对于每个 XX,输出一个 1,2,…,X1,2,…,X 的序列。

输入格式

输入文件中包含若干个整数,其中最后一个为 00,其他的均为正整数。

每个整数占一行。

对于输入的正整数,按题目要求作输出处理。

对于最后一行的整数 00,不作任何处理。

输出格式

对于每个输入的正整数 XX,输出一个从 11 到 XX 的递增序列,每个序列占一行。

数据范围

1≤X≤1001≤X≤100

输入样例:

5
10
3
0

输出样例:

1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
1 2 3

相关代码

#include<iostream>
using namespace std;
int main()
{
	int x;
	while(cin>>x)
	{
		if(x==0)break;
		else for(int i=1;i<=x;i++)cout<<i<<" ";
		cout<<endl;
	}
	return 0;
}

720. 连续整数相加

读入两个整数值 AA 和 NN,计算从 AA 开始的 NN 个连续整数的和。

注意,如果读入的 NN 为 00 或负数,则继续读取数字直至读入 NN 值为正整数为止。

输入格式

共一行,包含整数 AA 和若干个整数 NN(不超过 100100 个)。

输出格式

一个整数,表示从 AA 开始的 NN 个连续整数的和。

数据范围

1≤A≤1001≤A≤100,
−100≤N≤100−100≤N≤100

输入样例1:

3 2

输出样例1:

7

输入样例2:

3 -1 0 -2 2

输出样例2:

7

相关代码

#include<iostream>
using namespace std;
int main()
{
	int a,n,s=0;
	cin>>a;
	while(cin>>n,n<=0);
	for(int j=1;j<=n;a++,j++)s=s+a;
	cout<<s<<endl;
	return 0;
}

724. 约数

输入一个整数 NN,按照从小到大的顺序输出它的全部约数。

输入格式

一个整数 NN。

输出格式

输出全部约数,每个约数占一行。

数据范围

1≤N≤10001≤N≤1000

输入样例:

6

输出样例:

1
2
3
6

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	if(n%i==0)cout<<i<<endl;
	return 0;
}

723. PUM

输入两个整数 NN 和 MM,构造一个 NN 行 MM 列的数字矩阵,矩阵中的数字从第一行到最后一行,按从左到右的顺序依次为 1,2,3,…,N×M1,2,3,…,N×M。

矩阵构造完成后,将每行的最后一个数字变为 PUM。

输出最终矩阵。

输入格式

共一行,包含两个整数 NN 和 MM。

输出格式

输出最终矩阵,具体形式参照输出样例。

数据范围

1≤N,M≤201≤N,M≤20

输入样例:

7 4

输出样例:

1 2 3 PUM
5 6 7 PUM
9 10 11 PUM
13 14 15 PUM
17 18 19 PUM
21 22 23 PUM
25 26 27 PUM

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n,m,a[30][30];
	cin>>n>>m;
	for(int i=1;i<=n*m;i++)
	{
		if(i%m==0)cout<<"PUM"<<endl;
		else cout<<i<<" ";
	}
	return 0;
}

习题

715. 余数

输入一个整数 NN,请按顺序输出 11 到 1000010000 之间(不包括 11 和 1000010000)的所有除以 NN 余 22 的数字。

输入格式

一个整数 NN。

输出格式

输出所有满足条件的数字,从小到大每行输出一个。

数据范围

2<N<100002<N<10000

输入样例:

13

输出样例:

2
15
28
41
...

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<10000;i++)
	if(i%n==2)cout<<i<<endl;
	return 0;
}

710. 六个奇数

读取一个整数 XX,输出 XX 之后的 66 个奇数,如果 XX 也是奇数,那么它也算作 66 个奇数之一。

输入格式

一个整数 XX。

输出格式

所有满足条件的奇数,每个占一行。

数据范围

1≤X≤1001≤X≤100

输入样例:

9

输出样例:

9
11
13
15
17
19

相关代码

#include<iostream>
using namespace std;
int main()
{
	int x,cnt=0;	
	cin>>x;
	for(int i=x;cnt<6;i++)
	if(i%2!=0)cnt++,cout<<i<<endl;
	return 0;
}

711. 乘法表

输入一个整数 NN,输出 NN 的乘法表,如下:

1 x N = N      
2 x N = 2N        
...       
10 x N = 10N 

输入格式

一个整数 NN。

输出格式

输出 NN 的乘法表,具体形式参照输出样例。

数据范围

1<N<10001<N<1000

输入样例:

140

输出样例:

1 x 140 = 140
2 x 140 = 280
3 x 140 = 420
4 x 140 = 560
5 x 140 = 700
6 x 140 = 840
7 x 140 = 980
8 x 140 = 1120
9 x 140 = 1260
10 x 140 = 1400

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=10;i++)
	cout<<i<<" x "<<n<<" = "<<i*n<<endl;
	return 0;
}

718. 实验

医学部一共进行了 NN 场动物实验。

共有三种小动物可用来实验,分别是青蛙、老鼠和兔子。

每次实验都会选取其中一种动物来参与实验,选取数量若干。

现在请你统计一下医学部一共用了多少小动物,每种分别用了多少,每种动物使用数量占总量的百分比分别是多少。

输入格式

第一行包含整数 NN,表示实验次数。

接下来 NN 行,每行包含一个整数 AA(表示一次实验使用的小动物的数量)和一个字符 TT(表示一次实验使用的小动物的类型,C 表示兔子(coney),R 表示老鼠(rat),F 表示青蛙(frog))。

输出格式

请你参照输出样例,输出所用动物总数,每种动物的数量,以及每种动物所占百分比。

注意输出百分比时,保留两位小数。

数据范围

1≤N≤1001≤N≤100,
1≤A≤151≤A≤15

输入样例:

10
10 C
6 R
15 F
5 C
14 R
9 C
6 R
8 F
5 C
14 R

输出样例:

Total: 92 animals
Total coneys: 29
Total rats: 40
Total frogs: 23
Percentage of coneys: 31.52 %
Percentage of rats: 43.48 %
Percentage of frogs: 25.00 %

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n,a,c=0,r=0,f=0;
	char t;
	
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a>>t;
		if(t=='C')c+=a;
		if(t=='R')r+=a;
		if(t=='F')f+=a;
	}
	printf("Total: %d animals\n",c+r+f);
	printf("Total coneys: %d\n",c);
	printf("Total rats: %d\n",r);
	printf("Total frogs: %d\n",f);
	printf("Percentage of coneys: %.2lf %%\n",1.0*c*100/(c+r+f));
	printf("Percentage of rats: %.2lf %%\n",1.0*r*100/(c+r+f));
	printf("Percentage of frogs: %.2lf %%\n",1.0*f*100/(c+r+f));
	return 0;
}

713. 区间 2

读取 NN 个整数 X1,X2,…,XNX1,X2,…,XN,判断这 NN 个整数中有多少个在 [10,20][10,20] 的范围内,有多少个在范围外。

输入格式

第一行包含整数 NN,表示共有 NN 个整数需要进行判断。

接下来 NN 行,每行包含一个整数 XiXi。

输出格式

第一行输出 x in,其中 xx 为在范围内的整数的数量。

第二行输出 y out,其中 yy 为在范围外的整数的数量。

数据范围

1≤N≤100001≤N≤10000,
−107<Xi<107−107<Xi<107

输入样例:

4
14
123
10
-25

输出样例:

2 in
2 out

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n,s=0,t=0;
	cin>>n;
	long long a[n+10];
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]>=10&&a[i]<=20)s++;
		else t++;
	}
	cout<<s<<" in"<<endl;
	cout<<t<<" out"<<endl;
	return 0;
}

719. 连续奇数的和 2

输入 NN 对整数对 X,YX,Y,对于每对 X,YX,Y,请你求出它们之间(不包括 XX 和 YY)的所有奇数的和。

输入格式

第一行输入整数 NN,表示共有 NN 对测试数据。

接下来 NN 行,每行输入一组整数 XX 和 YY。

输出格式

每对 X,YX,Y 输出一个占一行的奇数和。

数据范围

1≤N≤1001≤N≤100,
−1000≤X,Y≤1000−1000≤X,Y≤1000

输入样例:

7
4 5
13 10
6 4
3 3
3 5
3 4
3 8

输出样例:

0
11
5
0
0
0
12

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n,x,y;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>x>>y;
		if(x>y)swap(x,y);
		int s=0;
		for(int j=x;j<y;j++)
		if(j%2!=0&&j!=x)s=s+j;
		cout<<s<<endl;
	}
	return 0;
}

717. 简单斐波那契

以下数列 0 1 1 2 3 5 8 13 21 ... 被称为斐波纳契数列。

这个数列从第 33 项开始,每一项都等于前两项之和。

输入一个整数 NN,请你输出这个序列的前 NN 项。

输入格式

一个整数 NN。

输出格式

在一行中输出斐波那契数列的前 NN 项,数字之间用空格隔开。

数据范围

0<N<460<N<46

输入样例:

5

输出样例:

0 1 1 2 3

相关代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[10+n];
	a[1]=0,a[2]=1;
	
	for(int i=3;i<=n;i++)a[i]=a[i-1]+a[i-2];
	for(int i=1;i<=n;i++)cout<<a[i]<<" ";
	return 0;
}

722. 数字序列和它的和

输入若干个整数对 M,NM,N,对于每个数对,输出以这两个数为最大值和最小值的公差为 11 的等差数列。

注意,当输入整数对中,任意一个数为 00 或负整数时,立即停止输入,且该组数对无需作任何处理。

输入格式

输入共若干行,每行包含两个整数。

最后一行的两个整数中,至少有一个是非正整数。

输出格式

对于每组需作处理的数对,输出一个结果,每个结果占一行。

结果包含从最小值到最大值的数字序列以及数字序列各数字之和。

具体格式请参照输出样例。

数据范围

M,N≤100M,N≤100

输入样例:

2 5
6 3
5 0

输出样例:

2 3 4 5 Sum=14
3 4 5 6 Sum=18

相关代码

#include<iostream>
using namespace std;
int main()
{
	int m,n;
	while(cin>>m>>n&&m>0&&n>0)
	{
		if(m<n)swap(m,n);
		int s=0;
		for(int i=n;i<=m;i++)
		{
			cout<<i<<" ";
			s=s+i;
		}
		cout<<"Sum="<<s<<endl;
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胡杨酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值