C++-实验1

1.输入一个实数m,计算并输出满足不等式的最小n值

题目描述
输入一个实数m,计算并输出满足下列不等式的最小n值:
1+1/2+1/3+…+1/n>m

输入描述
一个double型数

输出描述
两个数:满足条件的最小的大于m之和,满足不等式的最小n值

输入样例
2.56

输出样例
sum=2.59286,n=7

用户代码

 #include <iostream>
using namespace std;
int main()
{
	double m;
	cin>>m;
	double  sum=0;
	int i=1;
	while(sum<=m)
	{
		sum +=(1.0/i);
		i++;
	}
	cout<<"sum="<<sum<<","<<"n="<<i-1;
	return 0;
}

2. 找出所有满足关系的四位整数

题目描述
找出所有满足关系
(AB+CD)(AB+CD)=ABCD
的四位整数ABCD。
说明:即(两位数+两位数)的平方=ABCD

输入描述

输出描述
满足条件的四位数

输入样例

输出样例
2025
3025

用户代码


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

3.去掉最大与最小值后的10个整数之和

题目描述
输入12个正整数,在去掉一个最小值和一个最大值后,求剩余10个正整数之和。

输入描述
12个整数

输出描述
去掉最大与最小值后的10个整数之和

输入样例
98 45 234 1 5 7 98 6 45 90 4 56

输出样例
sum=454

用户代码

#include <iostream>
using namespace std;
int main()
{
	int s[12]={0};
	int i=0,sum=0,max,min;
	cin>>s[i];
	max=min=sum=s[i];
	for(i=1;i<12;i++)
	{
		cin>>s[i];
		sum += s[i];
		if(max<s[i]) max=s[i];
		if(min>s[i]) min =s[i];
		
	}
	cout<<"sum="<<sum-max-min;
	
	return 0;
 }

4. 输入一个整数,在屏幕上显示数字三角形

题目描述
输入一个整数n(1<n<10),在屏幕上显示数字三角形。例如,n=5,显示:
1
121
12321
1234321
123454321

输入描述
一个整数n

输出描述
显示数字三角形

输入样例
5

输出样例
n=5
1
121
12321
1234321
123454321

用户代码


#include <iostream>
using namespace std;
int main()
{
	 //n-1 kongge + chenshu;
	int n;
	cin>>n;
	cout<<"n="<<n;
	int i,j;
	for(i=1;i<=n;i++)//chenshu
	{
		for(j=1;j<=n-i;j++)
			cout<<" ";
		for(j=1;j<=i;j++)
			cout<<j;
		for(j=i-1;j>0;j--)
			cout<<j;
		cout<<endl;
			

	}
	return 0;
}

5. (10分) Fibonacci数列的动态内存分配

题目描述
编写一个C++风格的程序,用动态分配空间的方法计算Fibonacci数列的前20项并存储到动态分配的空间中。
说明:在C++中可以使用I/O流类库操纵符控制输出格式,在这里使用setw(int)控制整数的域宽,即输出整数所占的宽度。注意包含头文件iomanip。
本题采用的域宽为setw(5)

输入描述

输出描述
Fibonacci数列的前20项值

输入样例

输出样例
//本行是为控制杭电中题目格式而设,输出时不要空行
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765

用户代码


 #include <iostream>
 #include <iomanip>
 using namespace std;
 int main()
 {
 	int *p=new int[20];
 	*p=*(p+1)=1;
 	cout<<setw(5)<<*p<<setw(5)<<*(p+1); 
 	p+=2;
 	for(int i=3,cnt=2;i<=20;i++,p++)
 	{
 		*p=*(p-1)+*(p-2);
 		cout<<setw(5)<<*p;
 		cnt++;
 		if(cnt%5==0)
 			cout<<endl;
 		
	 }
	 p-=20;
  	 delete []p;
 	return 0;
 }
发布了37 篇原创文章 · 获赞 10 · 访问量 755

猜你喜欢

转载自blog.csdn.net/qq_43608850/article/details/104317860