请求帮助c++问题 !!!! 很有趣的呵

xiaoyuand2010 2010-03-13 05:29:42
编写程序,输入一批整数,以0结束,统计正数和负数的个数


输入


一组整数,以0结束


输出

正数和负数的个数,中间加一个空格分开

样例输入

1 -1 -2 3 -5 0

样例输出

2 3

4
求自守数。自守数是指一个数的平方的尾数等于演数自身。例如,25就是—个自守数,因为252=625,末两位数为25;9376是一个自守数,因为93762=87909376.末4位数为9376。编写程序.从键盘输入整数m和n(10<m<n<200000),求出m与n之间所有的自守数,并且以每行5个数的形式输出。注意:输出的每个数的宽度为7


输入


两个整数m和n


输出


m和n之间的所有自守数,并且以每行5个数的形式输出。注意:输出的每个数的宽度为7


样例输入

11 500

样例输出

25 76 376
...全文
184 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
elegant87 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 a7182388 的回复:]

为什么我发的源代码不能出现C/C++源码的标志?
我的缩进也没有了!

[Quote=引用 19 楼 a7182388 的回复:]

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
int getbase(int num);
int nu……
[/Quote]

//在[code=C/C++] 
之间写代码[/code]
liyanlin122 2010-03-14
  • 打赏
  • 举报
回复
学习了
oldpigzcb 2010-03-13
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
int main()
{
int sum1=0,sum2=0,a;
l1:cin>>a;
if(a>0)
{sum1++;goto l1;}
else if(a<0)
{sum2++;goto l1;}
else
cout<<sum1<<" "<<sum2<<endl;
return 0;
}
a7182388 2010-03-13
  • 打赏
  • 举报
回复
上面是用c写的,以下为运行结果!

please input min and max(10 to 200000):
10 200000

25 76 376 625 9376
87232 139456
a7182388 2010-03-13
  • 打赏
  • 举报
回复
为什么我发的源代码不能出现C/C++源码的标志?
我的缩进也没有了!

[Quote=引用 19 楼 a7182388 的回复:]

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
int getbase(int num);
int num, sqnum;
int max, min, i = 0;
printf("please input min and max(10 to ……
[/Quote]

a7182388 2010-03-13
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
int getbase(int num);
int num, sqnum;
int max, min, i = 0;
printf("please input min and max(10 to 200000):\n");
scanf("%d %d",&min,&max);
if(max <= min)
{
printf("something error!\n");
return 0;
}
for(num = min;num < max;num++)
{
sqnum = num * num;
if(0 == ((num * num) - num) % getbase(num))
{
printf("%7d",num);
i++;
if(0 == i % 5)
printf("\n");
}
}
return 0;
}
int getbase(int num)
{
int basenum;
for(basenum = 10;basenum < 1000000;basenum *= 10)
if(0 == num / basenum)
break;
return basenum;
}
Player1005 2010-03-13
  • 打赏
  • 举报
回复
第二题是不是通过个位数直接删掉一部分?
个位数为2,3,4,7,8,9的数是不可能为自守数啊
yangzhenxifeitian 2010-03-13
  • 打赏
  • 举报
回复
有啥子问题呼我一声
yangzhenxifeitian 2010-03-13
  • 打赏
  • 举报
回复
这个可以这么做嘛:观察到自守数a*(a-1)的后n位(n是此数a的位数)是0;所以问题转化为求a的位数
int getweishu(int a)
{
for(int wei=10;wei<10000000000;wei=wei*10;)
{
if(a/wei==0)return wei;
}
}
void printzishoushu(int min,int max)
{
for(int p=min;p<=max;p++)
{
if(p*(p-1)%getweishu(p)==0)
{
cout<<p;
}
}
}
至于什么五位七位的自已弄弄呗
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
真的没有人会第二题吗??如果有的话,请赐教,小妹不胜感激,我们老师不讲这些题目,所以我必须搞懂,请各位帮忙了!!!
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
现在有没有人会做第二题啊
开心的卡夫卡 2010-03-13
  • 打赏
  • 举报
回复
第一题:

#include<iostream>
using namespace std;
int main()
{
int i;
int m = 0;
int n = 0;
cin>>i;
while(i!= 0)
{
i>0? m++: n++;
cin>>i;
}
cout<<m<<" "<<n<<endl;
return 0;
}
Player1005 2010-03-13
  • 打赏
  • 举报
回复
int i=0,k=0;
把这一行提到while语句上面去,
你放在里面每执行一次while都初始化了一次.
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
我已经弄上去了为啥没人回复我,大家帮帮啊,第一题呢我只会这么多,第二题呢我是完全不会,求大家解决!!!
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
我已经把我写的复制上了,随便你笑,不过你可得给我弄懂啊,上面的程序运行是错误的。
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
int x;
while(cin>>x)
{
int i=0,k=0;
if (x>0) i++;
else if(x<0) k++;
else break;
}
cout<<i<<" "<<k<<endl;
return 0;

}
请指教!!
lovesi3344 2010-03-13
  • 打赏
  • 举报
回复
哇 真的好有趣啊 真的好有趣倻
crushor 2010-03-13
  • 打赏
  • 举报
回复
不会做,把你的代码贴上来学习学习
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
以上是2题, 对不起 啊,写在一起了!!!那么,有会的人吗?可以帮忙解一下吗,小妹这不胜感激。同时,我要声明,我做这个绝不是为了应付老师,我是确实需要帮助,请大家伸出援手!!!
xiaoyuand2010 2010-03-13
  • 打赏
  • 举报
回复
什么啊 是作业不假 可是都交了 ,我只是想了解一下你们有什么想法,程序上我有什么可借鉴的地方,我的方法不太好,当然 请高手帮忙了。
加载更多回复(4)

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧