通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
0.0分
311 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int main() { int i,j,N,l; int sum=0,k=0; int x[100]; scanf("%d",&N); for(i=1;i<=N;i++) { for(j=1;j<i;j++) { if(i%j==0) { sum+=j; x[k]=j; k++; } } if(sum==i) { printf("%d its factors are",i); for(l=0;l<k;l++) { printf(" %d",x[l]); } printf("\n"); } sum=0; k=0; } return 0; } 我这个也可以
@杰尼杰尼 哪个符号定义重复了吧;
@程序员快龙 a[i]炸了
请大佬帮忙看一下,感觉思路都一样的不知道出错在哪里 我调试的结果: 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 问题在第三行没有出现 #include<stdio.h> void main() { int i,n,u,k; int a[15],m=0; scanf("%d",&n); for(u=1;u<=n;u++) { k=u; for(i=1;i<=u/2;i++) { if(u%i==0) { k=k-i; a[m]=i; m++; } } if(k==0) { printf("%d its factors are",u); for(i=0;i<m;i++) printf(" %d",a[i]); printf("\n"); } m=0; } }
#include<stdio.h> int main(void) { int N,n,sum,i,k,K; int a[]={0}; scanf("%d",&N); printf("%d",N); for(n=1;n<N;n++) { sum=0;k=0; for(i=1;i<n;i++) { if(n%i==0) { a[k++]=i; sum=sum+i; } K=k; } if(sum==n) { printf("%d its factors are ",n); for (k=0;k<K;k++) { printf("%d ",a[k]); } printf("\n"); } } printf("%d ",n); return 0; } 为什么我这个输出6那个答案之后就结束循环了啊
@2340850104史凯 你把重置的那步删了,就知道为啥了
为什么要重置,大佬我不懂
@杰尼杰尼 你没有正确输出因子吧
#include<stdio.h> int main() { int N; scanf("%d",&N); int i,j,k,tem,a[100]; for(i=1;i<=N;i++) { tem=0; k=0; for(j=1;j<i;j++) { if(i%j==0) { tem=tem+j; a[k]=j; k++; } } if(i==tem) { printf("%d its factors are ",i); for(j=0;j<k;j++) { printf("%d",a[j]); } printf("\n"); } } return 0; }
大佬们帮我看看 答案正确 但就是通过不了 为啥啊 #include<stdio.h> int main() { int a,s,b; scanf("%d",&a); for(s=0,b=1;b<a;b++) { if(a%b==0) s=s+b; } if(s==a) { printf("%d its factors are ",a); for(s=0,b=1;b<a;b++) { if(a%b==0) printf("%d ",b); } } }
#include<stdio.h> int main() { int i,j,N,l; int sum=0,k=0; int x[100]; scanf("%d",&N); for(i=1;i<=N;i++) { for(j=1;j<i;j++) { if(i%j==0) { sum+=j; x[k]=j; k++; } } if(sum==i) { printf("%d its factors are",i); for(l=0;l<k;l++) { printf(" %d",x[l]); } printf("\n"); } sum=0; k=0; } return 0; } 我这个也可以请大佬帮忙看一下,感觉思路都一样的不知道出错在哪里 我调试的结果: 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 问题在第三行没有出现 #include<stdio.h> void main() { int i,n,u,k; int a[15],m=0; scanf("%d",&n); for(u=1;u<=n;u++) { k=u; for(i=1;i<=u/2;i++) { if(u%i==0) { k=k-i; a[m]=i; m++; } } if(k==0) { printf("%d its factors are",u); for(i=0;i<m;i++) printf(" %d",a[i]); printf("\n"); } m=0; } }#include<stdio.h> int main(void) { int N,n,sum,i,k,K; int a[]={0}; scanf("%d",&N); printf("%d",N); for(n=1;n<N;n++) { sum=0;k=0; for(i=1;i<n;i++) { if(n%i==0) { a[k++]=i; sum=sum+i; } K=k; } if(sum==n) { printf("%d its factors are ",n); for (k=0;k<K;k++) { printf("%d ",a[k]); } printf("\n"); } } printf("%d ",n); return 0; } 为什么我这个输出6那个答案之后就结束循环了啊#include<stdio.h> int main() { int N; scanf("%d",&N); int i,j,k,tem,a[100]; for(i=1;i<=N;i++) { tem=0; k=0; for(j=1;j<i;j++) { if(i%j==0) { tem=tem+j; a[k]=j; k++; } } if(i==tem) { printf("%d its factors are ",i); for(j=0;j<k;j++) { printf("%d",a[j]); } printf("\n"); } } return 0; }大佬们帮我看看 答案正确 但就是通过不了 为啥啊 #include<stdio.h> int main() { int a,s,b; scanf("%d",&a); for(s=0,b=1;b<a;b++) { if(a%b==0) s=s+b; } if(s==a) { printf("%d its factors are ",a); for(s=0,b=1;b<a;b++) { if(a%b==0) printf("%d ",b); } } }