解题思路:
注意事项:
我是在linux下面写的, factor[length]这个数组本来是和前面的变量定义在一起的.然后就编译,编译也没报错.然后就运行, 发现运行到第37次的时候,程序自动退出了,真的是太奇怪了. 后来让我朋友在MAC上编译了一下,发现有警告,length没有初始化.然后试着放下面, 就正确了.
参考代码:
#include <stdio.h> int main() { int length,i,j,count=0,sum=0; scanf("%d", &length); int factor[length]; for(i=2;i<=length;i++,sum=0,count=0){ for(j=1;j<i;j++){ if( i% j == 0){ factor[count]=j; count++; } } for(j=0;j<count;j++){ sum+=factor[j]; } if(sum == i){ printf("%d its factors are", i); for(j=0;j<count;j++){ printf(" %d", factor[j]); } printf("\n"); } } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:672 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1435 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:580 |
字符逆序 (C语言代码)浏览:505 |
陶陶摘苹果2 (C语言代码)浏览:650 |
C二级辅导-等差数列 (C语言代码)浏览:891 |
敲七 (C语言代码)浏览:2747 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:505 |