XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[其他] 一个for 循环语句

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [其他] 一个for 循环语句  
 
朱世璋
小水手
Rank: 1



UID 25733
精华 0
积分 2
帖子 2
阅读权限 10
注册 2006-11-22
来自 湖北
状态 离线
一个for 循环语句

Sample TextSample TextSample Text
有这样一个程序
main()
{ int m,s,i;
   for (m=2;m<1000;m++)
      { s=0;      
   for (i=1;i<m;i++)
            if (( m%i==0) s=s+i;
           if (s==m)
             { printf ("%d ,its facots are ",m);
              for (i=1;i<m;i++)
                  if (m%i==0)  printf ("%d",i);
                printf("\n");
              }
         }
}                  
       我想问;为什么”s=0" 不能放在 "int "后面 (即先对s 赋值 为零) 而必须放在第一个for 循环的后面呢?
    / * 本题是一个求1000 以内的完数 输出每个完数的因子*/
2006-11-22 21:23#1
查看资料  Blog  发短消息  顶部
 
youqibin
小水手
Rank: 1



UID 24350
精华 0
积分 7
帖子 7
阅读权限 10
注册 2006-10-22
来自 浙江省苍南县沿浦镇
状态 离线
回答你问题:

如果你把 S=0放在int 后面的话你是给函数里面 s都 赋值为0.
还有一个错误就是:第一个IF语句后面多了一个0哦!
其他就没有了;88走了
2006-11-23 17:23#2
查看资料  Blog  发短消息  QQ  顶部
 
project11
版主
Rank: 7Rank: 7Rank: 7


UID 2246
精华 0
积分 329
帖子 329
阅读权限 100
注册 2006-3-3
来自 秦皇岛
状态 离线
之所以要把 s=0 放在第一个 for 语句里,是因为 s 是用来存放 m 的所有因子的"累加和"的,所以每次循环都要把 s 赋值为 0 .

实践
2006-11-24 12:37#3
查看资料  访问主页  Blog  发短消息  顶部
 
朱世璋
小水手
Rank: 1



UID 25733
精华 0
积分 2
帖子 2
阅读权限 10
注册 2006-11-22
来自 湖北
状态 离线
谢谢大家的帮助
2006-11-24 13:56#4
查看资料  Blog  发短消息  顶部
 
菜鸟113
小水手
Rank: 1



UID 25934
精华 0
积分 1
帖子 1
阅读权限 10
注册 2006-11-26
状态 离线
我没看动
2006-11-27 20:10#5
查看资料  Blog  发短消息  QQ  顶部
 
蓝魔
小水手
Rank: 1



UID 25080
精华 0
积分 5
帖子 5
阅读权限 10
注册 2006-11-9
来自 xinjiang
状态 离线
注意编程风格啦

志当存高远
2006-12-3 12:09#6
查看资料  Blog  发短消息  顶部
 
xp20031119
传说中的水手
Rank: 5Rank: 5



UID 25060
精华 0
积分 24
帖子 24
阅读权限 1
注册 2006-11-9
状态 离线
yun
2006-12-4 09:15#7
查看资料  Blog  发短消息  顶部
 
沙锋
小水手
Rank: 1



UID 30030
精华 0
积分 3
帖子 3
阅读权限 10
注册 2007-4-30
来自 广东
状态 离线
给大家一个c++标准编程格式

一个小程序"字符串处理"  
//=====================================================  
//编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列   
//如字符串s1的值为"pear",字符串s2的值为"apple",将s1和s2连接后得到的字符串"pearapple",  
//存入字符数组s3,排序后得到"aaeelpppr".要求排序用函数实现.   
//===============================================================  
#include < iostream >  
using namespace std;  
#include < string >  
//==============================================================  

class String  
{  

  public:  

void input_str();  
void add_str();  
void output_str();  
void length_str();  
void arr_str();  
void cout_str();  
  private:  
string str1;  
string str2;  
string str3;  
int number;  
};  

//******************************************************************  

void String::input_str()  

{  
cout << " Please input the two strings : ";  
cin >> str1 >> str2;  

}  

//*******************************************************************  

void String::add_str()  
{  
str3 = str1 + str2;  
}  

//********************************************************************  

void String:utput_str()  

{  
cout << " The add of string is : " << str3 << endl;  
}  

//********************************************************************  

void String::length_str()  

{  
number = str3.length()-1;  
}  


//********************************************************************  

void String::arr_str()   
   
{  
int i, j;  
char t;  

for(j = 0; j<number; j++ )  
for ( i = 0; i < number-j ; i++ )  
if ( str3 > str3[i+1] )  
{  
t = str3;  
str3[ i] = str3[i+1];  
str3[ i+1]=t;  
}  
}  

//******************************************************************  
void String::cout_str()  

{  
cout<<"The sort of string is from small to big:";
cout << str3 << endl;  
}  

//*****************************************************************  

int main()  
{  
String array;  
array.input_str();  
array.add_str();  
array.output_str();  
array.length_str();  
array.arr_str();  
array.cout_str();  

return 0;  
}  
//****************************************************************


沙锋
2007-5-4 23:50#8
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
brucellllllll
小水手
Rank: 1



UID 30072
精华 0
积分 10
帖子 10
阅读权限 10
注册 2007-5-9
状态 离线
这个实现可不够C++

#include <iostream>  
#include <algorithm>  
#include <string>  

using namespace std;

int main()
{
    string s1, s2;

        cout << "please enter 2 strings" << endl;
    cin >> s1 >> s2;

        s1 += s2;
    sort( s1.begin(), s1.end() );

        cout << s1 << endl;
}


http://www.cpper.com/c/
2007-5-9 17:59#9
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-11-23 04:06 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver