首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手,编了个求完全数程序,不能输出结果解决方法

2012-02-14 
新手,编了个求完全数程序,不能输出结果大家看看有什么问题,程序能运行,但不能输出结果,好像是不能循环main

新手,编了个求完全数程序,不能输出结果
大家看看有什么问题,程序能运行,但不能输出结果,好像是不能循环
main()
{
int x,n,i,s;
printf("input number\n");
scanf("%d",&n);
for(x=0;x<=n;x++)/*搜索所有小于n的完整数*/
{
for(i=0,s=0;i<x;i++)/*搜索x所有真因子,累加*/
{
if(x%i==0){s=s+i;}/*判断i是否整除x,假跳过,真进行累加*/
}
if(x==s){printf("%d\n",x);}/*判断s是否等于x,假跳过,真输出屏幕*/
}
}

[解决办法]
这个 你完全可以单步调试一下
[解决办法]

C/C++ code
#include <stdio.h>void main(){int x,n,i,s;printf("input number\n");scanf("%d",&n);for(x=0;x<=n;x++) /*搜索所有小于n的完整数*/{for(i=0,s=0;i<x;i++) /*搜索x所有真因子,累加*/{if(x%i==0){s=s+i;} /*判断i是否整除x,假跳过,真进行累加*/ //这里i是0,不就错了,0不可以做除数}if(x==s){printf("%d\n",x);} /*判断s是否等于x,假跳过,真输出屏幕*/}}
[解决办法]
#include<stdio.h>
#include<stdlib.h>

main()
{
int x,n,i,s;
printf("input number\n");
scanf("%d",&n);
for(x=0;x<=n;x++) /*搜索所有小于n的完整数*/
{
for(i=2,s=0;i<x;i++) /*搜索x所有真因子,累加*/
{
if(x%i==0){s=s+i;} /*判断i是否整除x,假跳过,真进行累加*/
}
if(x==s){printf("%d\n",x);} /*判断s是否等于x,假跳过,真输出屏幕*/
}

system("pause");

}
[解决办法]
C/C++ code
#include <stdio.h>main(){  int x,n,i,s;  printf("input number\n");  scanf("%d",&n);  for(x=0;x<=n;x++) /*搜索所有小于n的完整数*/  {    for(i=0,s=0;i<x;i++) /*搜索x所有真因子,累加*/    {      if(i&&(x%i)==0){s=s+i;} /*判断i是否整除x,假跳过,真进行累加*/    }    if(x&&x==s){printf("%d\n",x);} /*判断s是否等于x,假跳过,真输出屏幕*/  }} 

热点排行
Bad Request.