|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面是代码:、
#include <stdio.h>
int main(void)
{
int i, large;
int *pnum = NULL;
long int sum;
large = 0;
sum = 0;
for (i = 0; i <= 121; i++)
{
if ((i % 5 == 0) || (i % 3 == 0))
{
large = large + 1;
pnum = (int *)realloc(pnum, large);
pnum[large - 1] = i;
}
}
printf("121以下能被3或5整除的数有: ");
for (i = 0; i < large; i++)
{
printf("%d ", pnum[i]);
sum = sum + pnum[i];
}
putchar('\n');
printf("他们的和为%d\n", sum);
return 0;
}
各位可以试着修改一下,改成12、100、1000什么的
之后希望有大神可以解答以下小生的疑惑
谢谢
你的代码有问题。 - #include <stdio.h>
- #include <stdlib.h> //需要这个头文件
- int main(void)
- {
- int i, large = 0;
- int *pnum = (int *)malloc(sizeof(int)); // realloc 需要先有 malloc
- long int sum = 0;
-
- for (i = 0; i <= 121; i++)
- {
- if ((i % 5 == 0) || (i % 3 == 0))
- {
- large = large + 1;
- pnum = (int *)realloc(pnum, large * sizeof(int)); //要说明新开的空间要放什么数据类型
- pnum[large - 1] = i;
- }
- }
-
- printf("121以下能被3或5整除的数有:\n");
- for (i = 0; i < large; i++)
- {
- printf("%d ", pnum[i]);
- sum = sum + pnum[i];
- }
- free(pnum); //记得释放
- putchar('\n');
-
- printf("他们的和为%d\n", sum);
-
- return 0;
- }
复制代码你的代码会动态调整,不怕
|
|