#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
//--------------------------------------------------------------------------------------------- 第 8 次作业 函数传参等
//---------------------------------------------------------------------------------------8.1 单选
/*
能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是:( D ) × 选 A
A.return 这二个数
B.形参用数组
C.形参用二个指针
D.用二个全局变量
不能直接通过 return 一次返回 2 个数
*/
//--------------------------- C 形参用二个指针 把函数处理结果的二个数据返回给主函数
/*
void test(int* px, int* py)
{
a = 3;
b = 4;
}
int main()
{
int a = 0;
int b = 0;
test(&a, &b);
printf("a=%d b=%d\n", a, b);
return 0;
}
*/
//--------------------------- D 用二个全局变量 把函数处理结果的二个数据返回给主函数
/*
int a = 0;
int b = 0;
void test(int x, int y)
{
a = 3;
b = 4;
}
int main()
{
test(a, b);
printf("a=%d b=%d\n", a, b);
return 0;
}
*/
//---------------------------------------------------------------------------------------8.2 单选
/*
关于函数调用说法不正确的是:( C )
A.函数可以传值调用,传值调用的时候形参是实参的一份临时拷贝
B.函数可以传址调用,传址调用的时候,可以通过形参操作实参
C.函数可以嵌套定义,但是不能嵌套调用
D.函数可以嵌套调用,但是不能嵌套定义
*/
//---------------------------------------------------------------------------------------8.3 单选
/*
在函数调用时,以下说法正确的是:( B )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
*///---------------------------------------------------------------------------------------8.4 编程:函数判断素数
//实现一个函数,判断一个数是不是素数。
//利用上面实现的函数打印100到200之间的素数。
int Judge(int x)
{int n = 0;for (n = 2; n <= sqrt(x); n++) //记得引 sqrt 的头文件{if (x % n == 0){return 0;}}return 1;
}int main()
{int i = 0;int count = 0;for (i = 100; i <= 200; i++){if (Judge(i))//调用函数 如果 Judge(i) 为真,打印{count++;printf("%d ",i);}}printf("\ncount=%d\n", count);return 0;
}
//---------------------------------------------------------------------------------------8.5 编程:函数判断闰年
//写一个函数判断year是不是闰年
int Judge(int year1)
{if ((year1 % 4 == 0 && year1 % 100 != 00) || (year1 % 400 == 0))return 1;elsereturn 0;
}int main()
{printf("请输入年份:>");int year = 0;scanf("%d", &year);switch (Judge(year)){case 1:{printf("是闰年");break;}case 0:{printf("不是闰年");break;}}return 0;
}