开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情
计算机二级C语言程序设计题
题目:
函数fun()的功能是:从整数1~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。
#include <stdio.h>
#include <stdlib.h>
int fun(int *b)
{
?
}
main()
{
FILE *wf;
int a[100], k, m;
m=fun(a);
printf("The result is%d/n");
wf=fopen("out.dat","w");
fprintf(wf, "%d\n", m);
for(k=0; k<m; k++)
{
printf("%4d", a[k]);
fprintf(wf, "%d ", a[k]);
}
printf("\n");
fclose(wf);
system("pause");
}
解题思路:
a1放个位数,a2放十位数,则这个数一定是有十位的,即起始值为10,通过循环判断这个数是否能被3整除,且有一位上的数值为5,满足条件则将其添加到数组b中, 并累加满足条件的数的个数,最后作为函数值返回。
参考答案:
int fun(int *b)
{
int k, a1, a2, i=0;
for(k=10; k<=55; k++)
{
a2=k/10;
a1=k-a2*10;
if((k%3==0 && a2==5) || (k%3==0 && a1==5))
{
b[i]=k;
i++;
}
}
return i;
}
此外:
形参:形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数; 实参:实参是在调用时传递该函数的参数。 函数的形参和实参具有以下特点:
- 形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
- 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
- 在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。