要求输出格式是:m its factors are 1,2,3 我所犯的错误是把 its factors are 放进循环体里了,另外循环也不对,应该从小到大输出因子,我这样循环输出的不是m的因子是一些不确定的数字。 第三次: #include<stdio.h> void main() { int m,n,sum=0,j,i; int a[100]; for(m=1;m<1001;m++) { ...
include <stdio.h>void main()//main函数应规定类型{int i,a,z,q=0;for(i=2;i<=1000;i++){for(a=1;a<i;a++)//a<=i应改为a<i,i++应改为a++if(i%a==0)q=q+a;if(q==i){//添加括号printf("\n%d, its factors are",q);for(z=1;z<q;z++)//z<=q应改为z<qi...
j,k;int sum=1;printf("完数如下:");for(j=6;j<1000;j++){sum = 1; //每次循环都要将sum赋值1for(i=2;i<=j/2;i++) //这个需要小于j/2,而不是sqrt(j){if(j%i==0)sum=sum+i;}if(sum==j){printf("\n%d its factors are:1",...
kingfeng588 采纳率:59% 来自:芝麻团 擅长: 教育/科学 编程语言 办公软件 广东 C/C++ 为您推荐: 完数的输出 c语言完数输出因子 c语言找完数 C语言完数因子 什么是因子 输出一个完数因子 输出菱形的c语言程序 完数c语言程序 完数vb 因子 完数是什么 其他类似问题2012-01-11 用c语言求1000之内...
结果是正确的,你只输出了完数,没有输出他的因子。include<stdio.h>int main(void){ int i, j, item, r; char ch; for(i = 1; i <= 200; i++) { item = 0; for(j = 1; j < i; j++) { if(i % j == 0) { item = item + j; ...
回答如下:include "stdio.h"int main(void){ int i,j,m; for(i=4;i<1000;i+=2){ for(m=1,j=2;j*j<=i;j++) if(!(i%j)) m+=(j!=i/j ? j+i/j : j); if(m==i){ printf("%3d = 1",i); for((m>>=1)+=1,j=2;j<m;j++) ...
在两层for循环之间写一个b=0;
C语言程序:求1000以内的完数并且并且按照以下格式输出因子: 6 its factors are 1,2,3 程序我已编好为什么只能输出1行?不能输出28 和496?求大神解答,帮我找程序的漏洞#include<stdio.h>#include<math.h>int main (){int i,j,k; int sum=1; printf("完数如下"); for(j=6;j<10
void main(){ int i,t,n=0,sum=0,m=0;int a[50]={0};// 增加={0} for(i=2;i<=1000;i++){ //a[50]={0}; // 去掉 for(t=1;t<i;t++){ if(i%t==0){ a[n]=t;n++;sum=sum+a[n];} if(i==sum){ printf("%d\n",i);while(a[m]!=0&&m<=50)// ...
void main(){ int i,t,n=0,sum=0,m=0;int a[50]={0};// 增加={0} for(i=2;i<=1000;i++){ //a[50]={0};// 去掉 for(t=1;t<i;t++){ if(i%t==0){ a[n]=t;n++;sum=sum+a[n];} if(i==sum){ printf("%d\n",i);while(a[m]!=0&&m<=50)// 修改...