请编写函数fun(),其功能是给定一个整数n(n<10000),如果n加上100后是一个完全平方数(所谓"完全平方数",就是开方后的结果是整数的数),并且n加上268也是一个完全平方数,则函数值返回1,否则返回0。 注意:部分源程序在文件progl

admin2023-02-27  47

问题 请编写函数fun(),其功能是给定一个整数n(n<10000),如果n加上100后是一个完全平方数(所谓"完全平方数",就是开方后的结果是整数的数),并且n加上268也是一个完全平方数,则函数值返回1,否则返回0。
    注意:部分源程序在文件progl.c中。
    请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
1 #include
2 #include
3 int fun(long n)
4 {
5 }
6 int main()
7 {
8    longi;
9    FILE*fp=fopen("out.dat","w");
10    for(i=1;i<10000;i++)
11    {
12    if(fun(i))
13    {
14    prfntf("%1d\n",i);
15    fprintf(fp,"%1d\n",i);
16    }
17    }
18    return 0;
19 }

选项

答案 1 int fun(long n) 2 { 3 int s1,s2; 4 s1=sqrt((double)n+100); 5 s2=sqrt((double)n+268); 6 if(s1==sqrt((double)n+100)&&s2==sqrt((double)n+268)) 7 return 1; 8 else return 0; 9 }

解析 定义整型的变量s1和s2,开平方的函数为sqrt()。s1=sqrt((double)n+100);其中变量s1是开平方后取整的值。如果s1和sqrt((double)n+
100)的值相等,表示其为完全平方数。
转载请注明原文地址:https://kaotiyun.com/show/CJ0D777K
0

最新回复(0)