#include<stdio.h> int main() { int n; scanf("%d",&n); for(int i=2; i<=n; i++) { int sum=0; for(int j=1; j<i; j++) { if(i%j==0) { sum+=j; } } if(sum==i) { printf("%d its factors are",i); for(int k=1; k<i; k++) { if(i%k==0) { printf("%d ",k); } } printf("\n"); } } return 0; } 哪里错了?
输入后只输出换行,不知道哪错了 #include<stdio.h> #define max 1001 int main() { int a,b,d,e=0,k,h; int yin[max]; scanf("%d",&a); for(b=1;b<=a;b++){ d=0;k=0; for(d=1;d<b;d++){ if(b%d==0){ e+=d; yin[k++]=d; } } if(e==b) { printf("%d its factors are",e); for(h=0;h<k;h++){ printf(" %d",yin[h]); } printf("\n"); } } return 0; }
大佬们哪里错了,谢谢 #include<stdio.h> int main() { int a,d,b; scanf("%d",&a); for ( b =1;b <= a;b++) { int c=0; for ( d=1 ;d <= a;d++) { if (d % b == 0) { c += b; } } if (d == c) { printf("%d\n", c); } } return 0; }
为毛跑得出来说我格式错误 #include<stdio.h> int main() { int i, j,m, n = 0, sum = 0; scanf_s("%d",&m); for (n = 1; n <=m; n++) { sum = 0; for (i = 1; i < n; i++) { if (n % i == 0) { sum += i; } } if (sum == n) { printf("\n%d its factors are ", n); for (j = 1; j < n; j++) { if (n % j == 0) printf("%d ", j); } } } return 0; }
dotcpp0782798 2024-08-23 10:58:50 |
hh他这都能说我错。。。#include <stdio.h> int main() { int n; printf("请输入一个正整数:\n"); scanf("%d", &n); for (int j = 2; j <= n; j++) { int sum = 0; for (int i = 1; i <= j / 2; i++) { if (j % i == 0) { sum = sum + i; } } if (j == sum) { printf("%d its factors are ",sum); for (int i = 1; i <= sum/ 2; i++) { if (sum % i == 0) { printf(" %d ", i); } } printf("\n"); } } return 0; }
#include <stdio.h> int main(){ int N; scanf("%d",&N); int number[N]; int i,j,sum=0; for(i=0;i<N;i++){ number[i]=i+4; sum=0; for(j=1;j<number[i];j++){ if(number[i]%j==0){ sum+=j; if(number[i]==sum){ printf("%d\n",number[i]); } } } } return 0; } 各位大佬,能不能帮忙看看,当我键入N=1000的时候,会多一个24出来,其他的结果和题目给的例子是符合的,想知道是哪里出了问题
盛世致远 2024-04-14 21:53:55 |
当i=24时,第12行代码sum=24时直接输出了number[i],你将第二个if给提出来就可以解决这个问题。有兴趣的话可以加个QQ一起讨论以下怎么学习C语言吗?1707999651我是大学生
luliju 2024-05-26 00:12:43 |
#include<stdio.h> //**第六章(1017)完数的判断**// /* 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子*/ //N //? its factors are ? ? ? int main() { int i, j,m, n = 0, sum = 0; scanf("%d",&m); for (n = 1; n <=m; n++) // 假定在1到1000之间寻找 { sum = 0; for (i = 1; i < n; i++) { if (n % i == 0) { sum += i; } } if (sum == n) { printf("\n%d its factors are ", n); for (j = 1; j < n; j++) { if (n % j == 0) printf("%d ", j); } } } return 0; }
#include<stdio.h> int main() { int N,sum=0,k; char arr[1001]="0"; scanf("%d",N); for(int i=1;i<=N;i++) { sum=0,k=0; for(int j=1;j<i;j++) { if(i%j==0) { sum+=j; arr[k++]=j; } } if(sum==i){ printf("%d its factors are",i); for(int l=0;l<k;l++){ printf(" %c",arr[l]); } printf("\n"); } } return 0; } //想知道错在哪,为什么输出不出内容
清欢 2024-03-07 20:22:18 |
没事了
#include<stdio.h> int main() { int N; scanf("%d",&N); for(int i=2;i<=N;i++){ int sum=0; for(int j=1;j<i;j++){ if(i%j==0){ sum+=j; } } if(sum==i){//找到完数立马循环输出因子 printf("%d its factors are",i); for(int j=1;j<i;j++){ if(i%j==0){ printf(" %d",j); } } printf("\n"); } } return 0; }
看我这个 #include <stdio.h> int main() { int n = 0; scanf("%d", &n); int arr[100] = { 0 }; for (int i = 6; i <= n; i++) { int c = 0,d=0; for (int j = i; j >= 2; j--) { if (i % j == 0) { arr[c++] = i / j; d += (i / j); } } if (d == i) { printf("%d its factors are ", i); for (int e = 0; e < c; e++) { printf("%d ", arr[e]); } printf("\n"); } } return 0; }
本人酷爱递归实现很多问题,这里也是浏览:632 |
DNA (C语言描述,蓝桥杯)浏览:1653 |
文科生的悲哀 (C语言代码)浏览:1538 |
1013题解浏览:596 |
1024题解浏览:879 |
1054题解浏览:516 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:630 |
母牛的故事 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题7.2 (C++代码)浏览:452 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:444 |