0.0分
311 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
@暗中讨饭 @luokeli 但是上面不是说了j<i了吗,不是原本就取不到i吗?k是从0开始的吧,如果因子是三个那么就是k0,k1,k2;下面l<k的话,不是只有了l[0],l[1]两个因子了吗?
@暗中讨饭 这样的话就会把i也加进去,原题说的不用加i,例如1+2+3=6是没有加6的
为什么是l<k,而不是l<=k?
@寡妇村村长 你是来搞笑的吗
#include<stdio.h> #define max 1001 int main() { int N,a,b,i,k,m[max],n; scanf("%d",&N); for(i=1;i<N;i++) { a=0; k=0; for(b=1;b<i;i++) { if(i%b==0) { a=a+b; m[k++]=b; } } if(a==i) { printf("%d its factors are ",i); for(n=0;n<k;n++) printf("%d\t",m[n]); printf("\n"); } } return 0; } 我这有啥问题啊!
#include<stdio.h> #define max 1001 int main() { int i,j,s,n,a[max],l,k=0; scanf("%d",&n); for (i=2;i<=n;i++) { s=0; for(j=1;j<i;j++) {if(i%j==0) {s+=j;a[j]=j;} if(s==i){printf("%d its factors are\n",i); for(l=0;l<k;l++){printf("%d",a[l]);} printf("\n"); } } return 0; } } 请问这个能过编译,但是是错的,能告诉我错哪里吗?
@白色枫叶 稍微提一嘴,楼主的数组长度用变量定义,这是c99的语法,如果是准备二级的人的话,这不能用(二级用的是ANSI C)题主的解法挺好看的,比我这堆清爽的多:)
#include <stdio.h> int main() { int n=0; int i=0; int a; int b; int sum; int c=0; int d; scanf("%d",&n); for(i=2;i<=n;i++){ sum=0; for(a=1;a<i;a++){ b=i%a; if(b==0){ sum+=a; } if(a==i-1){ if(sum==i){ printf("%d its factors are ",i); for(c=1;c<sum;c++){ d=sum%c; if(d==0){ printf("%d ",c); } if(c==sum-1){ printf("\n"); } } } } } } return 0; } 没用数组,但麻烦:(
@孙兴磊 输出的格式也不对
谢谢作者啦
#include<stdio.h> #define max 1001 int main() { int N,a,b,i,k,m[max],n; scanf("%d",&N); for(i=1;i<N;i++) { a=0; k=0; for(b=1;b<i;i++) { if(i%b==0) { a=a+b; m[k++]=b; } } if(a==i) { printf("%d its factors are ",i); for(n=0;n<k;n++) printf("%d\t",m[n]); printf("\n"); } } return 0; } 我这有啥问题啊!#include<stdio.h> #define max 1001 int main() { int i,j,s,n,a[max],l,k=0; scanf("%d",&n); for (i=2;i<=n;i++) { s=0; for(j=1;j<i;j++) {if(i%j==0) {s+=j;a[j]=j;} if(s==i){printf("%d its factors are\n",i); for(l=0;l<k;l++){printf("%d",a[l]);} printf("\n"); } } return 0; } } 请问这个能过编译,但是是错的,能告诉我错哪里吗?#include <stdio.h> int main() { int n=0; int i=0; int a; int b; int sum; int c=0; int d; scanf("%d",&n); for(i=2;i<=n;i++){ sum=0; for(a=1;a<i;a++){ b=i%a; if(b==0){ sum+=a; } if(a==i-1){ if(sum==i){ printf("%d its factors are ",i); for(c=1;c<sum;c++){ d=sum%c; if(d==0){ printf("%d ",c); } if(c==sum-1){ printf("\n"); } } } } } } return 0; } 没用数组,但麻烦:(