
编程1到1000之间能被7或11整除,但不能同时被7和11整除将它们放在数组中,通过n返回这些数的个数
求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数main(){inti,n=0,*p;for(i...
求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数
main()
{int i,n=0,*p;
for(i=1;i<=1000;i++)
if((i%7==0||i%11==0)&&i%77!=0)
{*(p++)=i;
puts(p);
n++;
}
printf("%d\n",n);}
这是我编的程序,不知道哪里错了不能输出结果 展开
main()
{int i,n=0,*p;
for(i=1;i<=1000;i++)
if((i%7==0||i%11==0)&&i%77!=0)
{*(p++)=i;
puts(p);
n++;
}
printf("%d\n",n);}
这是我编的程序,不知道哪里错了不能输出结果 展开
展开全部
#include <stdio.h>
#include <malloc.h>
int main()
{
int i,n=0,*p = (int*)malloc(sizeof(int)*1000); //对指针指向的堆申请空间。不然给指针所指向位置的赋值是不合法的
for(i=1;i<=1000;i++)
{
if(( i%7 == 0 || i%11 == 0)&&(i % 77 != 0))
{
*p=i;
printf("%d ", *p); //得到结果赋给当前指针,当输出之后再指针后移
//puts()函数用来输出单个字符,不能输出指针类型变量。
p++;
n++;
}
}
printf("%d\n",n);
return 0;
}
#include <malloc.h>
int main()
{
int i,n=0,*p = (int*)malloc(sizeof(int)*1000); //对指针指向的堆申请空间。不然给指针所指向位置的赋值是不合法的
for(i=1;i<=1000;i++)
{
if(( i%7 == 0 || i%11 == 0)&&(i % 77 != 0))
{
*p=i;
printf("%d ", *p); //得到结果赋给当前指针,当输出之后再指针后移
//puts()函数用来输出单个字符,不能输出指针类型变量。
p++;
n++;
}
}
printf("%d\n",n);
return 0;
}
展开全部
算法没有问题,但是*p这个指针有问题!
p只是一个指针,且未经过初始化,所以你不应该(也绝对不允许)在其中储存任何数据!
要么为p动态申请一块内存,要么使用数组。
如果使用数组,请把第一行代码int i,n=0,*p;
改成:
int i, n = 0;
int a[1000];
int *p = a;
这样别的代码不用改变。
p只是一个指针,且未经过初始化,所以你不应该(也绝对不允许)在其中储存任何数据!
要么为p动态申请一块内存,要么使用数组。
如果使用数组,请把第一行代码int i,n=0,*p;
改成:
int i, n = 0;
int a[1000];
int *p = a;
这样别的代码不用改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if((i%7==0||i%11==0)&&i%77!=0)
{count++;}
{count++;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询