昨天一Q友找我帮忙写个C程序:其中函数fun要实现:求出2000到2500之内能被7或者17或者27整除,但是不能同时被7和17整除,也不能同时被17和27整除的整数。题目倒是不难,遂打开visual studio,默默地写出下面的程序。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void fun(int *a, int *n)
{
int i = 2000, sum = 0;
for(;i<2501;i++)
{
if( (i%7==0 || i%17==0 || i%27==0) && (!(i%7==0 && i%17==0)) && (!(i%17==0 && i%27==0)) )
{
*a++ = i;
sum++;
}
}
/* 返回符合要求元素的个数 */
*n = sum;
}
int main()
{
int a[120];
int k;
fun(a,&k);
/* 使指针pt指向数组a的起始地址 */
int *pt = a;
for(;pt<a+120;pt++)
{
printf("%d\n",*pt);
}
printf("%d\n",k);
return 0;
}
|
然后ctrl+F5执行,结果很意外的报错了:
- 阅读剩余部分 -