首页 > 编程语言 >郑州大学2023-2024第二学期高级语言程序设计-实验6

郑州大学2023-2024第二学期高级语言程序设计-实验6

时间:2024-05-27 23:29:42浏览次数:16  
标签:10 int void 2023 cin 学期 2024 printf include

郑州大学2023-2024第二学期高级语言程序设计-实验6

1 抗疫凯旋

这道题已经给了提示如何在while的括号里判断,这里用的是返回值。大家应该知道你在使用getline函数的时候。 getline函数会有返回值,分别是0和1。如果是1的话,那么判断结果为真,就可以继续getline函数的进行,如果是0的话就终止。
那么什么时候是0,什么时候返回1呢?就如我题中所用的getline,就是当还在输入的时候,它就会持续地返回1,如果没有输入就会返回0,就是这样的情况。
大家可以搜一下如何使用getline,以及这个函数的一些操作,这个实验后面还用得着。

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
	string a;
	int ans=0;
	while(getline(cin,a))
	{
		ans++;
	}
	printf("%d",ans);
}

2 求10个点到原点的距离和

非常简单的一道题啊,注意一下细节就好了。

#include<bits/stdc++.h>
using namespace std;

double dis(double x,double y)
{
	return sqrt(x*x+y*y);
}
int main(void)
{
	double x,y,ans=0;
	for(int i=0;i<10;i++)
	{
		scanf("%lf%lf",&x,&y);
		ans+=dis(x,y);
	}
	printf("distance = %.6lf",ans);
}

3 最小公倍数

同样没什么难度,而且C++里面还有一个直接对应的函数__gcd(),可以简化代码。

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
	int a,b;
	while(scanf("%d%d",&a,&b)!=EOF)
	{
		printf("%d\n",a*b/__gcd(a,b));
	}
}

4 变量有多少字节?

这道题依旧用到了getline函数用来直接输入字符串。并且这道题用到了C++里面一个关于字符串的性质。在 C++里面字符串之间可以直接进行比较。并不需要strcmp函数。具体的情况大家可以自己查一下,我就不在这里赘述了。

#include<bits/stdc++.h>
using namespace std;

void dis()
{
	string a;
	getline(cin,a);
	if(a=="char") printf("1\n"); 
	if(a=="int") printf("4\n");
	if(a=="long") printf("4\n");
	if(a=="long long") printf("8\n");
	if(a=="__int128") printf("16\n");
	if(a=="float") printf("4\n");
	if(a=="double") printf("8\n");
	if(a=="long double") printf("16\n");
}
int main(void)
{
	int t;cin>>t;t++;
	while(t--) dis();
}

5 是否是斐波那契家族的一员?

这道题题目里面都已经说了,可以先单独做一个生成斐波那契数列的。函数,然后再去查找相关的斐波那契数。不过需要注意的是你生成的斐波那契数需要包含它所给的数据范围。

#include<bits/stdc++.h>
using namespace std;

int a[40];
void fei()
{
	a[0]=1,a[1]=1;
	for(int i=2;i<40;i++)
	{
		a[i]=a[i-1]+a[i-2];
	}
}

int main(void)
{
	int ans=-1,n;
	cin>>n;
	fei();
	for(int i=0;i<40;i++)
	{
		if(n==a[i])
		{
			ans=i+1;break;
		}
	}
	cout<<ans;
}

6 递归实现逆序输出整数

使用递归的时候注意终止条件,当a等于零的时候就可以直接终止了。a不等于零的时候就输出末位数然后将a/10。

#include<bits/stdc++.h>
using namespace std;

void digui(int a)
{
    if(a==0) return ;
    else
    {
        printf("%d",a%10);
        digui(a/10);
    }
}
int main(void)
{
	int a;
    cin>>a;
    digui(a);
}

7 河南的抗疫英雄

这道题非常常规,正常写就行了

#include<bits/stdc++.h>
using namespace std;


int main(void)
{
	int n;
	cin>>n;
	int ans=0;
	for(int i=0;i<n;i++)
	{
		string a;
		cin>>a;
		cin>>a;
		if(a=="HA") ans++;
	}
	cout<<ans;
}

8 出生年

首先要判断你所输入的数里面有几个不同的数。要注意的是,如果这个数小于1000的话,要自动默认0是一个存在的数。之后直接与n进行对比就可以了,并得出答案。要注意的是首位补零可以通过%0nd的来决定。

#include<bits/stdc++.h>
using namespace std;

int a[10];
int ji(int y)
{
	memset(a,0,sizeof(a));
	if(y<1000) a[0]=1;
	while(y)
	{
		if(y%10==0) a[0]=1;
		if(y%10==1) a[1]=1;
		if(y%10==2) a[2]=1;
		if(y%10==3) a[3]=1;
		if(y%10==4) a[4]=1;
		if(y%10==5) a[5]=1;
		if(y%10==6) a[6]=1;
		if(y%10==7) a[7]=1;
		if(y%10==8) a[8]=1;
		if(y%10==9) a[9]=1;	
		y=y/10;
	} 
	return accumulate(a,a+10,0);
}
int main(void)
{
	int y,n;
	cin>>y>>n;
	int i=0;
	while(ji(y+i)!=n)
	{
		i++;
	}
	printf("%d %04d",i,i+y);
}

9 汉诺塔问题

非常常规的汉诺塔问题,要注意的是它输入的是字符串。

#include<bits/stdc++.h>
using namespace std;

int n;
void jie(int n,string a,string b,string c)
{
	if(n==1)
	{
		cout<<a<<"->"<<c<<endl;
		return;
	}
	else 
	{
		jie(n-1,a,c,b);
		cout<<a<<"->"<<c<<endl;
		jie(n-1,b,a,c);
	}
}
int main(void)
{
	cin>>n;
	string a,b,c;
    cin>>a;
    cin>>b;
    cin>>c;
	jie(n,a,b,c);
}

10 素因子分解

首先要写一个判断素数的函数。妻子。蔡恩统一的时候要注意会直接输出1等于1。除此之外的话就是一套非常常规的题。我选择的是用结构体来储存一个数出现的次数和这个数本身。可以从小到大遍历,直接跑暴力就可以获得答案了。

#include<bits/stdc++.h>
using namespace std;

bool pan(long long a)
{
	if(a<=1) return 0;
	for(int i=2;i*i<=a;i++)
	{
		if(a%i==0) return 0;
	}
	return 1;
}
struct ji{
	long long a,b;
}m[100];
int main(void)
{
	long long n;
	cin>>n;
	int j=0;
    if(n==1) printf("1=1");
    else{
        printf("%lld=",n);
	while(n!=1)
	{
		for(int i=1;i<=n;i++)
		{
			if(pan(i))
			{
				if(n%i==0)
				{
					int sum=0;
					while(n%i==0)
					{
						sum++;
						n=n/i;	
					}
					m[j].a=i,m[j].b=sum;
					j++;	
				} 
			}
		}
	}
	for(int i=0;i<j;i++)
	{
		if(m[i].b==1) printf("%lld",m[i].a);
		else printf("%lld^%lld",m[i].a,m[i].b);
		if(i!=j-1) printf("*");
	}
    }
}

标签:10,int,void,2023,cin,学期,2024,printf,include
From: https://blog.csdn.net/xunxianxian/article/details/139250084

相关文章

  • 【专题】2024餐饮行业及营销趋势报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=36256原文出处:拓端数据部落公众号2024年,餐饮行业的趋势展望聚焦于健康、国潮、单品爆款和情感体验四大方向。首先,健康成为了消费者在选择餐饮时的首要考量。人们越来越注重食材的新鲜度和健康性,对菜品的口味也有了更高的要求。这意味着餐饮品牌需......
  • 【2023全网最全最火】Selenium WebDriver教程(建议收藏)
    在本教程中,我将向您介绍SeleniumWebdriver,它是当今市场上使用最广泛的自动化测试框架。它是开源的,可与所有著名的编程语言(如Java、Python、C#、Ruby、Perl等)一起使用,以实现浏览器活动的自动化。通过本文,我将告诉您开始使用SeleniumWebDriver测试Web应用程序所需了解的所有信......
  • 2024年5月27日第五十六篇
    今天做了一个网页开发,联系了自己的增删改查,和弹出式表单的设计。<template><el-containerclass="layout-container-demo"><el-asidewidth="200px"><el-scrollbar><el-menu:default-openeds="['1','3�......
  • 2024/05/27
    今日学习有关知识时长:78分钟代码行数:80行发表博客数量:1篇今日学习的内容主要是有关数据库操作中的触发器和储存过程。触发器(trigger)就相当于事件绑定,当你进行某类sql语句操作时将会自动调用你你所设置的触发器来进行操作。储存过程(procedure)就相当于我们Java中的方法,可以带有......
  • MindSponge分子动力学模拟——多路径分子模拟(2024.05)
    技术背景在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用、定义分子系统、计算单点能和迭代器等等。这些模块和功能,更多的是凭借MindSpore深度学习框架的自动微分、GPU加速和Python语言的灵活性,而本文......
  • 2024 蓝桥杯省赛游记
    Day-inf看了眼去年的题,一个插头dp一个杜教筛,恐怖如斯群里问了句发现hkhmtr也参加Day1完全没压力所以随便玩了。开场扫了一眼只有8道题,有个树上莫队?T1赛后看知乎好像能直接拿excel生成字符串形式的日期T2一开始没注意白棋一定有13个子,跑完了再看题才想到,提答的......
  • 2024年中国金融行业网络安全案例集
    随着科技的飞速发展,金融行业与信息技术的融合日益加深,网络安全已成为金融行业发展的生命线。金融行业作为国家经济的核心支柱,正在面临着日益复杂严峻的网络安全挑战。因此,深入研究和探讨金融行业的网络安全问题,不仅关乎金融行业的稳健运行,更关系到国家经济的安全和社会的稳......
  • 2024-05-23_结构体概念等作业
    1.如有以下代码:structstudent{intnum;charname[32];floatscore;}stu;则下面的叙述不正确的是:()A.struct是结构体类型的关键字B.structstudent是用户定义的结构体类型C.num,score都是结构体成员名D.stu是用户定义的结构体类型名解析:A:正确,在C......
  • 2024最全java面试题整理(持续更新)
    1.springboot项目和maven项目的区别?(1)打包方式:传统项目如果需要打成war包,需要在WEB-INF目录结构配置web.xml文件;springboot则不需要(2)项目启动方式:传统web项目启动方式:在eclipse和tomcat插件中导入项目,然后启动tomcat,项目也启动了。或者将项目打成war包,放入tomcat中,启动tomca......
  • android studio2024最新详解(完全小白)安装-运行第一个程序
    前面我用2023最新版本的,死活就卡在引入依赖那里卡了两天,俺的崩溃谁知啊!! 后面我就换了个思维,看着网上大多的教程都是基于2022或者2020的,我就找了个看起来非常详细的视频,里面的是2020的,所以我就下载了2020。  有点小伙伴可能会找不到androidstudio的过往版本,这里我就直......