c++简单程序如何重复操作
3个回答
展开全部
我给你罗列的这些习题是我自己初学时也做过的,
因为题目也比较多,所以我只把一部分给你,
在我的空间里,你将能找到更多的关于C++的习题。
此外,我把自己经过测试和优化的代码放在空间里了,
要是你在练习的过程中有什么疑问或是有空的时候,你可以去看看。
或许对你会有一定的帮助。
一、取出整数各个位数:
1、输入一数,输出各个位数的平方和,如输入123,输出14。
2、输入一个数,将这个数逆序后输出, 如:输入123 输出321
3、试编写一个程序,任意输入一个整数,求出该整数是几位数,并把它按逆序输出(例,原数据258,应输出852,原数据-357,应输出 -753)。
4、在窗体上输出1至99之间的全部同构数,同构数是这样一组数:它出现在它的平方数的右边。例如:5是25右边的数,25是625右边的数,因此,5和25都是同构数。
5、输出n位数的所有的"水仙花数",所谓"水仙花数"是指一个n位数,其各位数字的n次方之和等于数字本身。例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
6、输入a和b的值(a<b),寻找并输出a~b之间的数m,它满足m、m2、m3均为回文数。
回文数:各位数字左右对称的整数。
例如:11满足上述条件:
112=121,113=1331
注意,1也是回文数
(要求:编写一个函数bool huiwen(int n),判断n是否为回文数,是返回true,不是返回false)
二、有关年、月、日的计算
7、输入年、月、日,计算并输出该日是该年的第几天。
三、计算数列的和
8、任意输入a的值,求Sn=a+aa+aaa+...+aa...a之值(加到a个a为止),其中a是一个1~9之间的数字。如输入5,则
Sn=5+55+555+5555+55555
9、输入n,求Sn=1!+2!+3!+...+n! 。
10、有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,... 求其前n项之和。
11、求下列表达式的值。 1-1/3+1/5-1/7+…+(-1)n-1/(2*n-1),直到误差小于0.0001为止
12、计算下列式子的和:
1+(1+3)+(1+3+5)+(1+3+5+7)+……+(1+3+5+……+99)
13、计算1 / (1*3) + 1 / (5*7) + 1 / (9*11) +…+1/((4*n-3)*(4*n-1)) ,直至误差小于0.0000001。
四、求最大公约数和最小公倍数
14、输入两个正整数m和n,分别用以下两种方法求其最大公约数和最小公倍数,并输出。
编程分析:最小公倍数=x*y / 最大公约数。
求最大公约数的方法有两种:
第一种方法:穷举法
(1)比较x、y中较小的值取出来,放到div中
(2)div到1之间,如果有被x和y整除的数,则这个数就是最大公约数。
第二种方法:辗转相除法
(1)、对于已知两数x、y,先比较x和y的大小,使得x>y
(2)、x除以y得余数,即r = x mod y;
(3)、若余数r=0,则y为求得的最大公约数,循环结束;否则执行第 (4) 步。
(4)、x = y ,y = r,重复执行第 (2) 步
例如:求56和17的最大公约数。
56 除以 16 得余数8,8不为零;所以继续16除以 8得余数0;余数为0,因此8为最大公约数。
以上是基本的数据类型的一些简单练习,你可以去试试。
因为题目也比较多,所以我只把一部分给你,
在我的空间里,你将能找到更多的关于C++的习题。
此外,我把自己经过测试和优化的代码放在空间里了,
要是你在练习的过程中有什么疑问或是有空的时候,你可以去看看。
或许对你会有一定的帮助。
一、取出整数各个位数:
1、输入一数,输出各个位数的平方和,如输入123,输出14。
2、输入一个数,将这个数逆序后输出, 如:输入123 输出321
3、试编写一个程序,任意输入一个整数,求出该整数是几位数,并把它按逆序输出(例,原数据258,应输出852,原数据-357,应输出 -753)。
4、在窗体上输出1至99之间的全部同构数,同构数是这样一组数:它出现在它的平方数的右边。例如:5是25右边的数,25是625右边的数,因此,5和25都是同构数。
5、输出n位数的所有的"水仙花数",所谓"水仙花数"是指一个n位数,其各位数字的n次方之和等于数字本身。例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
6、输入a和b的值(a<b),寻找并输出a~b之间的数m,它满足m、m2、m3均为回文数。
回文数:各位数字左右对称的整数。
例如:11满足上述条件:
112=121,113=1331
注意,1也是回文数
(要求:编写一个函数bool huiwen(int n),判断n是否为回文数,是返回true,不是返回false)
二、有关年、月、日的计算
7、输入年、月、日,计算并输出该日是该年的第几天。
三、计算数列的和
8、任意输入a的值,求Sn=a+aa+aaa+...+aa...a之值(加到a个a为止),其中a是一个1~9之间的数字。如输入5,则
Sn=5+55+555+5555+55555
9、输入n,求Sn=1!+2!+3!+...+n! 。
10、有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,... 求其前n项之和。
11、求下列表达式的值。 1-1/3+1/5-1/7+…+(-1)n-1/(2*n-1),直到误差小于0.0001为止
12、计算下列式子的和:
1+(1+3)+(1+3+5)+(1+3+5+7)+……+(1+3+5+……+99)
13、计算1 / (1*3) + 1 / (5*7) + 1 / (9*11) +…+1/((4*n-3)*(4*n-1)) ,直至误差小于0.0000001。
四、求最大公约数和最小公倍数
14、输入两个正整数m和n,分别用以下两种方法求其最大公约数和最小公倍数,并输出。
编程分析:最小公倍数=x*y / 最大公约数。
求最大公约数的方法有两种:
第一种方法:穷举法
(1)比较x、y中较小的值取出来,放到div中
(2)div到1之间,如果有被x和y整除的数,则这个数就是最大公约数。
第二种方法:辗转相除法
(1)、对于已知两数x、y,先比较x和y的大小,使得x>y
(2)、x除以y得余数,即r = x mod y;
(3)、若余数r=0,则y为求得的最大公约数,循环结束;否则执行第 (4) 步。
(4)、x = y ,y = r,重复执行第 (2) 步
例如:求56和17的最大公约数。
56 除以 16 得余数8,8不为零;所以继续16除以 8得余数0;余数为0,因此8为最大公约数。
以上是基本的数据类型的一些简单练习,你可以去试试。
展开全部
用死循环,然后遇见不符合条件的部分就调用break
比如:
while(1)
{
//这里是符合条件的部分,会在里面执行
if(这里是不符合条件的部分)
{
//如果不符合条件,就执行break语句。。。
//break;
}
}
不知道这个答案你是否满意。。。
比如:
while(1)
{
//这里是符合条件的部分,会在里面执行
if(这里是不符合条件的部分)
{
//如果不符合条件,就执行break语句。。。
//break;
}
}
不知道这个答案你是否满意。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(;;)
{
这里是你要执行的操作;
if(添加退出的条件,例如当输入q时退出)
{
break;
}
}
{
这里是你要执行的操作;
if(添加退出的条件,例如当输入q时退出)
{
break;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询