return0;
}
(四)实验题目四:
编写函数:
intcount(intm);该函数完成如下功能:
输入一个整数m,统计并返回m左端连续相同数字的个数。
如:
2220511左端连续相同数字2的个数是3;-923000左端连续相同数字9的个数是1。
编写主程序,测试该函数。
#include
#include
#include
#include
usingnamespacestd;
intcount(intm)
{
vectornum;
intcut=1,temp;
if(m<0)m=-m;
while(m>0)
{
temp=m%10;
m=m/10;
num.push_back(temp);
}
for(inti=num.size()-2;i>=0;i--)
{
if(num[i]==num[i+1])
cut++;
else
break;
}
returncut;
}
intmain()
{
longm;
cout<<"请输入要统计的数字:
";
cin>>m;
cout<"<return0;
}
(五)实验题目五:
编写程序:
求1-9999之内所有递减数的平均数,所谓递减数指该数各位数字从左至右递减排列,例如:
4332211、654321、9955、22222222等都是递减数。
例如:
32768、43987、123498都不是递减数。
假设求出递减数是4个,分别是A、B、C、D,则按下面格式输出结果:
(A+B+C+D)/4=结果值
#include
usingnamespacestd;
intk(intn)
{
inta,b,c,d;
a=n/1000;
b=(n/100)%10;
c=(n/10)%10;
d=n%10;
return(a>=b&&b>=c&&c>=d);
}
intmain()
{
intm=0,sum=0;
cout<<"(";
for(intn=1;n<10000;n++)
if(k(n))
{
m++;
cout<sum=sum+n;
}
cout<<"\b)/"<return0;
}
三、个人小结
本次程序设计主要是对前面的知识进行梳理和巩固,发现和弥补前面的漏洞。
题目综合度较大,颇有点难度!
经过仔细分析和学习回顾,问题大多得到了解决!
具体到第四题,由于对数位确定不了,无法进行数位分离,觉得无从下手。
所以XX了一个程序代码,运行正确,只是看的一知半解,接下来还要请教老师!
第五题输出困难,要不断调试来使输出结果适应!
恩,再接再厉!