定义一个求整型数组的长度,长度为8位,在自定义函数fun中,分别判断这个数组所有元素是不是质数,分别输出所

(window.slotbydup = window.slotbydup || []).push({
id: '1102523',
container: s,
size: '180,30',
display: 'inlay-fix'
C语言中如何以数组作为函数参数?
发布日期: 11:17
C语言函数参数
本章我们主要学习C语言中如何以数组作为函数参数?下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
一、局部变量与全局变量:在一个函数中定义的变量称为局部变量,其作用域仅限于定义它的函数本身,即使在其他的函数中具有同名的变量,对其值的更改也不影响其他函数中的变量。例如:& & & & #include &Stdio.h&& & & & #include &Conio.h&& & & & void fun(int a)& & & & {& & & & & & a++;& & & & }& & & & int main(void)& & & & {& & & & & int a=1;& & & & & fun(a);& & & & & printf(&%d&,a);& & & & & getch();& & & & & return 0;& & & & }这个的运行结果为1,说明在函数fun()中改变了参数a的值,并不影响main函数中的变量a的值。二、以数组元素作为参数调用函数时的情形与普通变量相同,例如:& & & & #include &Stdio.h&& & & & #include &Conio.h&& & & & void fun(int a)& & & & {& & & & & & a++;& & & & }& & & & int main(void)& & & & {& & & & & int a[2]={1,2};& & & & & fun(a[0]);& & & & & printf(&%d&,a[0]);& & & & & getch();& & & & & return 0;& & & & }这个程序的输出结果仍然为1。三、以数组名称作为函数参数调用函数以一个数组作为函数的参数时,函数形式参数的声明应写成如下的形式:& & & & & & void fun(int x[])以上声明表示:函数fun没有返回值,其参数是一个整型数组,在fun函数中这个数组命名为x。例如:& & & & #include &Stdio.h&& & & & #include &Conio.h&& & & & #include &Stdlib.h&& & & & void display(int x[]) & /*这样的声明表示参数是一个整数数组*/& & & & {& & & & && & & & & for(i=0;i&20;i++) printf(&%8d&,x[i]);& & & & }& & & & int main(void)& & & & {& & & & & int a[20],i;& & & & & randomize();& & & & & for(i=0;i&20;i++) a[i]=rand();& & & & & display(a); & /*函数调用时的实参是一个数组的名称*/& & & & & getch();& & & & & return 0;& & & & }在这个程序中,函数display的功能为显示数组中所有元素的值,因此在main中调用这个函数时使用数组名称作为函数的参数。四、试分析以下的程序& & & & #include &Stdio.h&& & & & #include &Conio.h&& & & & #include &Stdlib.h&& & & & void display(int x[])& & & & {& & & & && & & & & for(i=0;i&20;i++) printf(&%8d&,x[i]++);& & & & & printf(&\n\n\n&);& & & & }& & & & int main(void)& & & & {& & & & & int a[20],i;& & & & & randomize();& & & & & for(i=0;i&20;i++) a[i]=rand();& & & & & display(a);& & & & & display(a);& & & & & getch();& & & & & return 0;& & & & }这个程序与(三)中的程序没有太大的区别,只是函数fun中输出数组中的每个元素的值后将其值增1。但应特别注意的是:在函数fun中改变数组x中的元素值,这个改变同时也改变了main函数中数组a的元素值。表面看来,这与局部变量的机理是矛盾的。这是因为:数组的名称是指向这个数组的指针。
(window.slotbydup = window.slotbydup || []).push({
id: '1063561',
container: s,
size: '230,230',
display: 'inlay-fix'
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。
免责声明:以上教程信息由会员自行搜集、整理、发布,内容的真实性、准确性和合法性由发布会员负责。站长学院对此不承担任何责任。本文将介绍一些PHP开发中自定义函数和数组相关的知识,PHP开发者可以关注一下。
一、自定义函数
自定义函数就是我们自己定义的函数,在PHP中自定义函数格式如下:
function funname(arg1, arg2, arg3......){
function fun($m, $n){
if($m==0 || $n==0){
return $a;
echo $p."*".$h."=".fun($p,$h);
输出结果:
下面再举一个可变参数的函数
function fun($m, $n){
if($m==0 || $n==0){
return $a;
echo $p."*".$h."=".fun($p,$h); */
function fun($m, $n=1, $x=2){
$a=$m*$n*$x;
return $a;
echo fun($p)."&br&";
// 2*1*2 = 4
echo fun($p, 3)."&br&";
// 2*3*2 = 12
echo fun($p, 3, 3)."&br&";
// 2*3*3 = 18
再来看看自定义函数引用传递
function fun($m, $n){
if($m==0 || $n==0){
return $a;
echo $p."*".$h."=".fun($p,$h);
function fun($m, $n=1, $x=2){
$a=$m*$n*$x;
return $a;
echo fun($p)."&br&";
// 2*1*2 = 4
echo fun($p, 3)."&br&";
// 2*3*2 = 12
echo fun($p, 3, 3)."&br&";
// 2*3*3 = 18
function fun(&$n){
二、数组定义赋值
1、数组基本写作格式
简单形式:array(值1, 值2, 值3, …….)
array(“aa”, 12, true, 2.2, “test”, 50); //通过数组下标获得数据
完整形式:array(键1=&值1, 键2=&值2, ……)
array(“title”=&”aa”, “age”=&20);
//只能通过键名获得数据
2、创建数组的方式
$arr1=array(11, 22, 33, "44");
$arr2=array('a'=&'11', 'b'=&'22');
$arr3[0]='20';
$arr3[1]='30';
三、数组操作
$arr=array(11, 22, 33, 44);
$arr[0]=55;
//数组变为$arr=array(55, 22, 33, 44);
$arr=array(11, 22, 33, 44);
unset($arr[0]);
//数组变为$arr=array(22, 33, 44);
$arr=array(11, 22, 33, 44);
echo $arr[0];
$arr=array('a'=&11, 'b'=&22, 'c'=&33, 'd'=&44);
echo $arr['b']];
$arr=array('a'=&11, 'b'=&22, 'c'=&33, 'd'=&44);
foreach($arr as $value){ //无键名
echo $value."&br&";
foreach($arr as $id=&$value){
//输出键和值
echo $id."__".$value."&br&";
四、二维数组
$arr=array(array("1","11","111"), array("2","22","222"));
echo $arr[1][2];
五、数组函数
(1)array_change_key_case(array, case)
array:必需,数组。
case:可选,CASE_LOWER(默认值,小写字母返回数组的键),CASE_UPPER(大写字母返回数组的键)
作用:将数组的所有的 KEY 都转换为大写或小写。
$a=array("a"=&"Cat","b"=&"Dog","c"=&"Horse");
print_r(array_change_key_case($a,CASE_UPPER));
结果:Array ( [A] =& Cat [B] =& Dog [C] =& Horse )
(2)array_chunk(array,size,preserve_key)
array:必需。
size:必需,规定每个新数组包括多少元素。
preserve_key:可选,true(保留键名),false(新索引)
作用:把一个数组分成新的数组块。
//array_chunk(array,size,preserve_key)
$a1=array("a"=&"Cat","b"=&"Dog","c"=&"Horse","d"=&"Cow");
print_r(array_chunk($a1,2));
$a2=array("a"=&"Cat","b"=&"Dog","c"=&"Horse","d"=&"Cow");
print_r(array_chunk($a2,2,true));
Array ( [0] =& Array ( [0] =& Cat [1] =& Dog ) [1] =& Array ( [0] =& Horse [1] =& Cow ) )
Array ( [0] =& Array ( [a] =& Cat [b] =& Dog ) [1] =& Array ( [c] =& Horse [d] =& Cow ) )
…….
像这样的函数很多,可以在用的时候再查,列表如下(php代表第一次出现版本)
创建数组。
array_change_key_case()
返回其键均为大写或小写的数组。
array_chunk()
把一个数组分割为新的数组块。
array_combine()
通过合并两个数组来创建一个新数组。
array_count_values()
用于统计数组中所有值出现的次数。
array_diff()
返回两个数组的差集数组。
array_diff_assoc()
比较键名和键值,并返回两个数组的差集数组。
array_diff_key()
比较键名,并返回两个数组的差集数组。
array_diff_uassoc()
通过用户提供的回调函数做索引检查来计算数组的差集。
array_diff_ukey()
用回调函数对键名比较计算数组的差集。
array_fill()
用给定的值填充数组。
array_filter()
用回调函数过滤数组中的元素。
array_flip()
交换数组中的键和值。
array_intersect()
计算数组的交集。
array_intersect_assoc()
比较键名和键值,并返回两个数组的交集数组。
array_intersect_key()
使用键名比较计算数组的交集。
array_intersect_uassoc()
带索引检查计算数组的交集,用回调函数比较索引。
array_intersect_ukey()
用回调函数比较键名来计算数组的交集。
array_key_exists()
检查给定的键名或索引是否存在于数组中。
array_keys()
返回数组中所有的键名。
array_map()
将回调函数作用到给定数组的单元上。
array_merge()
把一个或多个数组合并为一个数组。
array_merge_recursive()
递归地合并一个或多个数组。
array_multisort()
对多个数组或多维数组进行排序。
array_pad()
用值将数组填补到指定长度。
array_pop()
将数组最后一个单元弹出(出栈)。
array_product()
计算数组中所有值的乘积。
array_push()
将一个或多个单元(元素)压入数组的末尾(入栈)。
array_rand()
从数组中随机选出一个或多个元素,并返回。
array_reduce()
用回调函数迭代地将数组简化为单一的值。
array_reverse()
将原数组中的元素顺序翻转,创建新的数组并返回。
array_search()
在数组中搜索给定的值,如果成功则返回相应的键名。
array_shift()
删除数组中的第一个元素,并返回被删除元素的值。
array_slice()
在数组中根据条件取出一段值,并返回。
array_splice()
把数组中的一部分去掉并用其它值取代。
array_sum()
计算数组中所有值的和。
array_udiff()
用回调函数比较数据来计算数组的差集。
array_udiff_assoc()
带索引检查计算数组的差集,用回调函数比较数据。
array_udiff_uassoc()
带索引检查计算数组的差集,用回调函数比较数据和索引。
array_uintersect()
计算数组的交集,用回调函数比较数据。
array_uintersect_assoc()
带索引检查计算数组的交集,用回调函数比较数据。
array_uintersect_uassoc()
带索引检查计算数组的交集,用回调函数比较数据和索引。
array_unique()
删除数组中重复的值。
array_unshift()
在数组开头插入一个或多个元素。
array_values()
返回数组中所有的值。
array_walk()
对数组中的每个成员应用用户函数。
array_walk_recursive()
对数组中的每个成员递归地应用用户函数。
对数组进行逆向排序并保持索引关系。
对数组进行排序并保持索引关系。
建立一个数组,包括变量名和它们的值。
计算数组中的元素数目或对象中的属性个数。
返回数组中的当前元素。
返回数组中当前的键/值对并将数组指针向前移动一步。
将数组的内部指针指向最后一个元素。
从数组中将变量导入到当前的符号表。
in_array()
检查数组中是否存在指定的值。
从关联数组中取得键名。
对数组按照键名逆向排序。
对数组按照键名排序。
把数组中的值赋给一些变量。
natcasesort()
用“自然排序”算法对数组进行不区分大小写字母的排序。
用“自然排序”算法对数组排序。
将数组中的内部指针向前移动一位。
current() 的别名。
将数组的内部指针倒回一位。
建立一个包含指定范围的元素的数组。
将数组的内部指针指向第一个元素。
对数组逆向排序。
把数组中的元素按随机顺序重新排列。
count() 的别名。
对数组排序。
使用用户自定义的比较函数对数组中的值进行排序并保持索引关联。
使用用户自定义的比较函数对数组中的键名进行排序。
使用用户自定义的比较函数对数组中的值进行排序。
在文章中找不到问题答案?您还可以
热门栏目订阅import java.util.S
public class Test7 {
public static void main(String[] args) {
//在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,&,99}输出这个数组中的所有元素,每输出十个换一行
int [] x=new int[50];
for(int i=0;i&50;i++)
for(int i=0;i&50;i++)
System.out.print(x[i]+"\t");
if(i&1 && i%10==9)
System.out.println(" ");
阅读(...) 评论()以下试题来自:
问答题请编写一个函数fun(),其功能是找出一维整型数组元素中最大的值和它所在的下标,并将它们通过形参传回。数组元素中的值已在主函数中赋予。
在主函数中,x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
#include<stdlib.h>
#include<stdio.h>
void fun(int a[],int n,int *max,int *d)
int i,x[20],max,index,n=10;void NONO();
for(i=0;i<n;i++)x[i]=rand()%50;printf("%4d",x[i]);)
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
*max=a[0];*d=0;
/*把数组的第1个元素值赋值给最大值变量*max*/
for(i=1;i<n;i++)
if(*max<a[i]){
为您推荐的考试题库
你可能感兴趣的试题
热门相关试卷
最新相关试卷}

我要回帖

更多关于 整型数组的长度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信