首页 > 编程语言 >循环结构程序设计之习题

循环结构程序设计之习题

时间:2024-10-22 18:59:38浏览次数:8  
标签:main int void ++ dSun 循环 程序设计 习题 include

输入两个正整数 m 和 n,求其最大公约数和最小公倍数


//输入两个正整数 m 和 n,求其最大公约数和最小公倍数

#include <stdio.h>

int main(void)
{
	int m, n, iMax, iMin, iGcd;
	
	scanf("%d %d", &m, &n);

	if (m > n)
	{
		iMax = m;
		iMin = n;
	}
	else
	{
		iMax = n;
		iMin = m;
	}

	while (1)
	{
		int iRet = iMax % iMin;

		if (0 == iRet)
		{
			iGcd = iMin;
			break;
		}

		iMax = iMin;
		iMin = iRet;
	}

	printf("最大公约数:%d\n最小公倍数:%d\n", iGcd, m * n / iGcd);

	return 0;
}

在VS编译器内会报C4996错误,解决见下文:(下同)

C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. - EricsT - 博客园 (cnblogs.com)

运行结果:

 

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数


//输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

#include <stdio.h>

int main(void)
{
	char ch;
	int iChar = 0, iSpace = 0, iNum = 0, iOther = 0;

	while ('\n' != (ch = getchar()))
	{
		if (((ch >= 'A') && (ch <= 'Z')) || ((ch >= 'a') && (ch <= 'z')))
			iChar++;
		else if (' ' == ch)
			iSpace++;
		else if ((ch >= '0') && (ch <= '9'))
			iNum++;
		else
			iOther++;
	}

	printf("字母:%d\n空格:%d\n数字:%d\n其他:%d\n", iChar, iSpace, iNum, iOther);

	return 0;
}

运行结果:


#include <stdio.h>
#include <math.h>

int main(void)
{
	int a = 2, n, sun, SUN = 0;

	scanf("%d", &n);

	for (int i = 0; i < n; i++)
	{
		sun = 0;

		for (int j = 0; j <= i; j++)
			sun += a * (int)pow(10, (double)j);

		SUN += sun;
	}

	printf("%d\n", SUN);

	return 0;
}

运行结果:


#include <stdio.h>

int main(void)
{
	long long llSun = 0;

	for (int i = 1; i < 21; i++)
	{
		long long llMul = 1;
		
		for (int j = 1; j < i + 1; j++)
			llMul *= j;

		llSun += llMul;
	}

	printf("%lld\n", llSun);

	return 0;
}

运行结果:


#include <stdio.h>
#include <math.h>

int main(void)
{
	double dSun = 0;

	for (int i = 1; i < 101; i++)
		dSun += i;

	for (int i = 1; i < 51; i++)
		dSun += pow(i, 2.0);

	for (int i = 1; i < 11; i++)
		dSun += pow((double)i, -1);

	printf("%lf\n", dSun);

	return 0;
}

运行结果:

输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153 = 13+53+33


//输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
//例如:153是一个水仙花数,因为153 = 1^3+5^3+3^3

#include <stdio.h>
#include <math.h>

int main(void)
{
	for (int i = 100; i < 1000; i++)
	{
		int i1 = i / 100;
		int i2 = (i % 100) / 10;
		int i3 = (i % 100) % 10;

		int iRet = pow(i1, 3.0) + pow(i2, 3.0) + pow(i3, 3.0);
		
		if (i == iRet)
			printf("%d\n", i);
	}

	return 0;
}

运行结果:

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按格式输出其因子:6 its factors are 1,2,3


//一个数如果恰好等于它的因子之和,这个数就称为“完数”。
//例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。
//编程序找出1000之内的所有完数,并按格式输出其因子:6 its factors are 1,2,3

#include <stdio.h>

int main(void)
{
	for (int i = 2; i < 1001; i++)
	{
		int iSun = 0;
		
		for (int j = 1; j < i; j++)
		{
			if (0 == i % j)
				iSun += j;
		}

		if (i == iSun)
		{
			printf("%d its factors are ", i);
			for (int j = 1; j < i; j++)
			{
				if (0 == i % j)
					printf("%d,", j);

			}
			printf("\n", i);
		}
	}

	return 0;
}

运行结果:


#include <stdio.h>

int main(void)
{
	int iDown = 1, iUp = 2;
	double dSun = 0;

	for (int i = 0; i < 20; i++)
	{
		double dRet = iUp / (double)iDown;
		dSun += dRet;

		int iTemp = iDown;
		iDown = iUp;
		iUp += iTemp;
	}

	printf("%lf\n", dSun);

	return 0;
}

运行结果:

一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高


//一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。
//求它在第10次落地时,共经过多少米,第10次反弹多高

#include <stdio.h>

int main(void)
{
	double dSun = 0, dH = 100;

	for (int i = 0; i < 10; i++)
	{
		dSun += dH;
		dH = 0.5 * dH;

		if (9 != i)
			dSun += dH;
	}

	printf("10次落地共 %lf 米\n第10次反弹 %lf 米\n", dSun, dH);

	return 0;
}

运行结果:

猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上再想吃时,就只剩下一个桃子了。求第一天共摘了多少个桃子


//猴子吃桃问题。
//猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
//第2天早上又将剩下的桃子吃掉一半,又多吃一个。
//以后每天早上都吃了前一天剩下的一半零一个。
//到第十天早上再想吃时,就只剩下一个桃子了。
//求第一天共摘了多少个桃子

#include <stdio.h>

int main(void)
{
	int iSun = 1;

	for (int i = 0; i < 9; i++)
		iSun = (iSun + 1) * 2;

	printf("%d\n", iSun);

	return 0;
}

运行结果:


#include <stdio.h>
#include <math.h>

int main(void)
{
	int a;

	scanf("%d", &a);

	double x0 = a, x1;

	while (1)
	{
		x1 = 0.5 * (x0 + a / x0);

		if (fabs(x1 - x0) < 1E-5)
			break;

		x0 = x1;
	}

	printf("%lf\n", x1);

	return 0;
}

运行结果:

标签:main,int,void,++,dSun,循环,程序设计,习题,include
From: https://www.cnblogs.com/EricsT/p/18492281

相关文章

  • 习题2.5
    习题2.5代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......
  • python第六章课后习题
    点击查看代码print("学号:2023310143028")点击查看代码defprim(graph,start):num_nodes=len(graph)visited=[False]*num_nodesmin_heap=[(0,start,-1)]mst_cost=0mst_edges=[]whilemin_heap:......
  • python第四章课后习题
    点击查看代码importnumpyasnpimportcvxpyascpx=cp.Variable(6,pos=True)obj=cp.Minimize(x[5])a1=np.array([0.025,0.015,0.055,0.026])a2=np.array([0.05,0.27,0.19,0.185,0.185])a3=np.array([1,1.01,1.02,1.045,1.065])k=0.05;kk=[];qq=[]whil......
  • 第3讲:分支和循环(上)
    文章目录第3讲:分支和循环(上)1.if语句1.1if1.2else1.3分支中可以包含多条语句1.4嵌套if1.5悬空else问题2.关系操作符3.条件操作符4.逻辑操作符:&&,||,!4.1逻辑取反运算符!4.2逻辑与运算符4.3逻辑或运算符4.4练习:闰年的判断4.5短路5.switch语句5.1if......
  • 二叉树习题其三-Java【力扣】【算法学习day.10】
    前言书接上篇文章二叉树习题其二,这篇文章我们将基础拓展###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!习题1.从中序与后序遍历序......
  • 习题2.3
    习题2.3代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......
  • 习题2.2
    习题2.2代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......
  • 习题2.1
    习题2.1代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......
  • 习题2.9
    习题2.9代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......
  • 习题2.8
    习题2.8代码importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_unicode=True)importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC']plt.rcParams['mathtext......