C++的一些题目

来源:百度知道 编辑:UC知道 时间:2024/06/14 23:30:21
我是初学者,希望能够写一些简单易懂的编程,并且在后面写上注释!!
第一题:求最大公约数?
第二题:一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹的高度是多少?
c++中用的不是scanf printf 而是用cin cout

#include <iostream.h> //函数包含名
void main() //主函数名
{
int i;
double sum=100,h=100; //定义两个变量,sum为初始路程,h为初始高度
for(i=1;i<=9;i++) //从第二次开始记录,开始进入循环
{
sum=sum+h; //第一次加上第二次的两倍,即前一次的加入后一次的两倍
h=h/2; //当第二次加入后,h/2,得出第二次的高度

}
cout<<"跳跃10次后的总路程是:"<<sum<<endl; //输出总的路程
cout<<"最后一次跳跃的高度是:"<<h<<endl; //输出最后一次的高度
}

求最大公约数,用辗转相除法
没得怎么解释哦,一个通用算法
可以理解为一个数学方法,程序如下:
#include<stdio.h>
void swap(int* a, int* b)
{
int c=*a;
*a=*b;
*b=c;
}
int gcd(int a, int b)//求a与b的最大公约数,结果返回
{
int c;
if (a==0) return b;
if (b==0) return a;
if (a>b) swap(a,b);
for (c=a%b; c>