C语言程序设计8章
C语言程序设计8章《C语言程序设计》课程练习8章函数一、判断题1. 在函数定义中,形参变量有时也可以是全局变量。
( )√ ×正确2. 在C程序中,函数调用可以作为函数的形参。
√ ×正确3. 在C程序中,函数调用可以作为函数的实参。
√ ×正确4. 在C程序中,函数的形式参数是指针类型时,调用时对应的实参也必须是指针类型。
√ ×正确5. 对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。
()√ ×正确6. C语言程序必须包含库函数。
()√ ×正确7. 如果被定义函数的返回值是整型,可以不必进行说明。
()√ ×正确8. 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量。
()√ ×正确9. return语句可以带有表达式也可以不带。
()√ ×正确10. 若某自定义函数中无return语句,则该函数一定没有返回值。
√ ×正确11. 在C语言中,变量的初始化都是在编译阶段完成的。
√ ×正确12. 在同一源文件中,全局变量与局部变量同名,在局部变量作用范围内,全局变量的值等于局部变量的值。
√ ×正确13. return语句作为函数的出口,在某一个函数体内必须唯一。
()√ ×正确14. C语言程序必须包含库函数。
()√ ×正确15. C语言中,任意两个函数间不能嵌套定义,但可以互相调用。
()√ ×正确16. 在函数的定义中,若函数没有参数,则可以省略函数名后的括号。
√ ×正确17. 函数返回值的数据类型取决于return语句中表达式的数据类型。
√ ×正确18. 函数返回值的数据类型取决于主调函数传递过来的实参的数据类型。
√ ×正确19. 函数返回值的数据类型取决于函数定义时为函数指定的数据类型。
√ ×正确20. 在C程序中,函数的形式参数是指针类型时,调用时对应的实参也必须是地址量。
√ ×正确21. C程序中,函数调用时用数组名作为函数的实参,则传递给形参的是整个数组。
√ ×正确22. C程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首元素值。
√ ×正确23. C程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首地址值。
√ ×正确24. 求n!既可以用递归的方式,也可以用递推的方式。
()√ ×正确25. 递归函数在实现过程中,要使用“堆栈”这种数据结构来保存递归调用过程中的值。
√ ×正确26. 在C语言中,所有函数之间都可以相互调用。
√ ×正确27. 一个C程序无论有多少个源程序文件组成,在其中一个源程序文件中定义的全局变量的作用域默认为整个C程序。
√ ×正确28. 一个C程序无论有多少个源程序文件组成,在其中一个源程序文件中定义的全局变量的作用域默认为其所在的源程序文件。
√ ×正确29. 在C程序的主函数main中定义的变量就是全局变量。
√ ×正确30. 在C程序的主函数main中定义的变量也是局部变量。
√ ×正确31. 在函数定义中,形参变量是局部变量。
√ ×正确32. 在函数定义中,形参变量可以是静态变量。
√ ×正确33. 在一个函数定义中,只能有一个return语句。
√ ×正确34. 在一个函数定义中,可以根据需要使用多个return语句。
√ ×正确35. 在C程序中,函数可以嵌套定义,也可以嵌套调用。
√ ×正确36. 在C程序中,函数不能嵌套定义,但可以嵌套调用。
√ ×正确37. 在C程序中,函数既不能嵌套定义,也不能嵌套调用。
√ ×正确38. 在C程序中,函数调用只能作为单独语句出现。
√ ×正确39. 在C程序中,函数调用不能作为单独语句出现。
√ ×正确40. 在C程序中,函数调用只能出现在表达式语句中。
√ ×正确41. 在C程序中,函数调用不能出现在表达式语句中。
√ ×42. 在C程序中,函数调用既可以出现在表达式语句中,也可以作为单独的语句出现。
√ ×正确43. 在C函数中,形参可以是变量、常量或表达式。
√ ×正确44. 在C程序中,实参可以是变量、常量或表达式。
√ ×正确45. C语言规定,函数调用时,若形参和实参都是简单变量,则它们之间的数据传递方式是双向值传递。
√ ×正确46. C语言规定,函数调用时,若形参和实参都是简单变量,则它们之间的数据传递方式是单向值传递。
√ ×正确二、单选题1. C语言中,以下叙述中错0的是()。
A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到本源程序文件结束D)局部变量的作用域被限定在其所定义的局部范围中A. B. C. D.正确2. C语言中,以下叙述正确的是()。
A)函数不能嵌套定义但可以嵌套调用B)函数可以嵌套定义也可以嵌套调用C)函数可以嵌套定义但不能嵌套调用D)函数不能嵌套定义也不能嵌套调用A. B. C. D.正确3. C语言中,函数调用时若实参是数组名,则被调函数对应形参()。
A)可以是相应类型简单变量B)必须是相应类型数组名C)可以是相应类型数组名D)必须是相应类型的指针变量A. B. C. D.正确4. C语言中,函数调用时若实参是数组名,则被调函数对应形参()。
A)可以是相应类型简单变量B)必须是相应类型的指针变量C)必须是相应类型数组名D)可以是相应类型的指针变量A. B. C. D.正确5. 在下面C语言的函数说明语句中,正确的是()。
A)int fun(int,int);B)int fun(int x,y);C)int fun(x,y);D)int fun(int x;int y);A. B. C. D.正确6. 在C程序中,如果限定一个局部变量只能在所定义的范围中起作用,那么这个变量的存储类型()。
A)只能是autoB)只能是externC)可以是auto或staticD)可以是extern或staticA. B. C. D.正确7. 在C语言中,若定义函数时未说明函数的类型,则该函数的数据类型为()。
A)intB)floatC)charD)doubleA. B. C. D.正确8. 在C语言中,函数默认的存储类型为()。
A)autoB)registerC)staticD)externA. B. C. D.正确9. C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式A. B. C. D.正确10. 已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。
(A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件(C)一个指针,指向要读入数据的存放地址(D)一个存储区,存放要读的数据项A. B. C. D.正确11. 如果在C程序中有main(int argc,char*argv[]),那么()是指命令行中的参数个数。
(A)argv(B)argv[](C)argc,argv[](D)argcA. B. C. D.正确12. 如果程序中有static char c;则编译程序会对其自动设置初值为()。
(A)''\n''(B)"\n"(C)0(D)''\0''A. B. C. D.正确13. 在C函数中,局部变量的隐含存储类型是()。
(A)auto(B)static(C)register(D)externA. B. C. D.正确14. C程序在()可以使用表达式A)函数内部B)函数外部C)程序的任何地方D)变量出现的地方A. B. C. D.正确15. 在C语言中,函数返回值的数据类型取决于()。
A)函数的名字B)return语句中表达式的数据类型C)在定义该函数时所指定的数据类型D)主调函数的数据类型A. B. C. D.正确16. 在一个源程序文件中定义的全局变量,其作用域为()。
A)整个源程序文件B)从定义处开始到本源程序文件结束C)整个主函数D)所处C程序的所有源程序文件中A. B. C. D.正确17. C语言中,以下叙述中错0的是()。
A)同一程序中,全局变量和局部变量可以同名B)局部变量的作用域被限定在其所定义的局部范围中C)同一程序中,全局变量和局部变量不能同名D)全局变量的作用域从定义处开始到本源程序文件结束A. B. C. D.正确18. 在C程序中,同一程序中的各函数之间()。
A)既允许直接递归调用也允许间接递归调用B)既不允许直接递归调用也不允许间接递归调用C)允许直接递归调用但不允许间接递归调用D)允许间接递归调用但不允许直接递归调用A. B. C. D.正确19. C语言中,以下叙述错0的是()。
A)函数调用可以是单独的语句B)函数调用可以出现在表达式中C)函数调用可以作为函数的实参D)函数调用可以作为函数的形参A. B. C. D.正确20. 在C语言中,函数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是()。
A)单向地址值传递B)双向地址值传递C)单向数值传递D)双向数值传递A. B. C. D.正确21. 在C程序的函数调用时,主调函数中的实参和被调函数中的形参()。
A)个数、次序必须相同,但数据类型可以不考虑B)个数、次序和对应参数的数据类型都应该相同C)个数、次序和数据类型均可以不相同D)对应参数数据类型应相同,但个数和次序可以不考虑A. B. C. D.正确22. C语言中,以下叙述错0的是()。
A)函数被调用时,系统才为形参分配内存B)实参和对应形参的数据类型必须一致C)实参可以是变量、常量或表达式D)形参可以是变量、常量或表达式A. B. C. D.正确23. C语言中,函数调用时若实参是数组名,则传递给被调函数对应形参的是()。
A)整个数组B)数组元素的个数C)数组占用的内存单元个数D)数组在内存中存放的首地址A. B. C. D.正确24. 在一个void类型函数的定义中,函数体中有return;语句,该语句()。
A)是错0的B)表示向主调函数返回程序控制C)在执行时不予理睬D)在执行时会中断程序运行A. B. C. D.正确25. 下列程序的输出结果是()viod f(int*m){while((*m)--);printf("%d",++(*m));}main(){int x=50,*p=&x;f(p);}(A)0(B)1(C)49(D)50A. B. C. D.正确26. 下述函数的功能是()。
C语言程序设计 第八章 查表
何谓查找表?查找表是由同一类型的数据元素(或记录)构成的集合。
由于“集合”中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。
对查找表经常进行的操作:•1)查询某个“特定的”数据元素是否在查找表中;•2)检索某个“特定的”数据元素的各种属性;•3)在查找表中插入一个数据元素;•4)从查找表中删去某个数据元素。
查找表可分为两类:静态查找表仅作查询和检索操作的查找表。
动态查找表有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据关键字是数据元素(或记录)中某个数据项的值,用以标识(识别)一个数据元素(或记录)。
若此关键字可以识别唯一的一个记录,则称之谓“主关键字”。
若此关键字能识别若干记录,则称之谓“次关键字”。
查找根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录)。
若查找表中存在这样一个记录,则称“查找成功”。
查找结果给出整个记录的信息,或指示该记录在查找表中的位置;否则称“查找不成功”。
查找结果给出“空记录”或“空指针”。
如何进行查找?查找的方法取决于查找表的结构。
由于查找表中的数据元素之间不存在明显的组织规律,因此不便于查找。
为了提高查找的效率,需要在查找表中的元素之间人为地附加某种确定的关系,换句话说,用另外一种结构来表示查找表。
9.1 静态查找表9.2 动态查找树表9.3 哈希表9.1静态查找表数据对象D :数据关系R :D 是具有相同特性的数据元素的集合。
每个数据元素含有类型相同的关键字,可唯一标识数据元素。
数据元素同属一个集合。
ADT StaticSearchTable {基本操作P:Create(&ST, n);Destroy(&ST); Search(ST, key);Traverse(ST, Visit()); } ADT StaticSearchTable构造一个含n 个数据元素的静态查找表ST 。
C语言程序设计ppt数组
达数组中打头元素旳地址
2024/10/10
6
8.2.1 一维数组旳申明
例8.1 具有基本数据类型旳一维数组旳申明
#define SIZE 10 int array[5]; double d[5],e[SIZE]; char name[SIZE*5];
13. double even;
21. course_even[i]=course_su
/*分别为全部课程旳总分、平均分 m[i]/5.0;
*/
22. sum+=course_sum[i];
14. int i;
23.
} /* 计算各门课平总分 */
24. even=sum/(3.0*SIZE);
2024/10/10
2024/10/10
17
例8.10
8. int course_sum[3]={0,0,0}; 15. for(i=0;i<5;i++){
9. double course_even[3];
16. course_sum[0]+=math[i];
/组**分/ 别为各门课程总分、平均分数17. course_sum[1]+=physics[i];
用若干个数字序号(下标)来区别各数组元素
例如定义float score[30],可表述30位学生成绩 用数组具有什么好处?
2024/10/10
3
8.1 数组概述
问题
计算全班30位同学某门课程旳平均成绩
处理措施
设置30个float型变量来统计成绩 设置一种有30个float型元素旳数组来统计成绩
C语言程序设计第八章 优化学生成绩分析系统指针.ppt
C语言程序设计
1 指针与字符串(5)
1.2 使用字符串指针变量与字符数组的区别(续) 例2 分析下面程序的运行结果
main() { char *a="I Love China!";
a=a+7; printf(“%s\n",a); }
运行结果: China!
9
项目八 优化学生成绩分析系统-指针
C语言程序设计
int a,b,c;
例sc6an将f(给"%出d的,%程d"序,&修a,改&b为);使用函数指针变量定义
的c=方m式ax(a,b);
c=(*p)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
}
max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
指针数组,有4个元素,每个元素 都是指向整型变量指针变量
Int (*p)[4];
由4个整型变量组成的数组的指针
21
项目八 优化学生成绩分析系统-指针
#include <stdio.h> ma3in指()针数组 (2)
C语言程序设计
p[0]
11
{ 3.1 指针数组(续)
22
static int
33
a[3][4]={{11,22,33,44},{55,66,77,88},{99,110,1224,4133}};
【项目分析】
为了保存一个班的C语言成绩需要借助于一维数组,通过指针对其数 据进行操作。将本项目分成两部分,首先借助于指针对一维数组进 行访问,然后介绍一种新的排序算法—选择排序。
C语言程序设计 第3版 第8章 函数
s=a+b;
return s;
}
main()
//主函数
{
int s;
s=sum();
printf("s=%d\n",s);
}
运行结果
2 3↙ s=5
C语言程序设计
2.函数的定义
无返回值无参数 无返回值有参数
有返回值无参数 有返回值有参数
一般形式:
类型标识符 函数名(形式参数表列) {
函数体; return 表达式; }
调用方式
函数调用的一般形式:
函数名(实际参数表) 实际参数表中的参数可以是常数、变量或表达式,各实参之间用逗号分隔。
调用方式:
(1)函数表达式:函数作为表达式中的一项出现在表达式中,这种方式要求函数有返回值。 例如:s=sum(x,y);把sum的返回值赋予变量s。
(2)函数语句:函数调用的一般形式加上分号即构成函数语句,这种方式不要求函数有返回值。 例如:sum(x,y);以函数语句的方式调用函数。
void sum(int a,int b) //自定义函数
{
int s;
s=a+b;
ห้องสมุดไป่ตู้
printf("s=%d\n",s);
} main()
//主函数
{
int x=2,y=3;
sum(x,y);
}
运行结果
s=5
C语言程序设计
2.函数的定义
无返回值无参数 无返回值有参数
有返回值无参数 有返回值有参数
一般形式:
类型标识符 函数名( ) {
函数体; return 表达式; }
注意说明:
(1)函数的类型实际上是函数返回值的类型。
C语言程序设计(第八章)
的读写函数。 每次可从文件读出或向文件写入一个字符。
第八章
1.读字符函数fgetc()
fgetc() 函数的功能是从指定的文件中读一个字符,函
数调用的形式为:
字符变量 = fgetc(文件指针);
例如:
ch = fgetc(fp);
的意义是从打开的文件fp中读取一个字符并送入ch中 。
(1)字符读/写函数 :fgetc()/fputc()
(2)字符串读/写函数:fgets()/fputs()
(3)数据块读/写函数:freed/()fwrite()
(4)格式化读/写函数:fscanf()/fprinf()
以上函数原型都在头文件stdio.h中加以声明。
第八章
8.5.1字符读/写函数 :fgetc()/fputc()
关闭文件则断开指针与文件之间的联系,禁止再对该文
件进行操作。
第八章
8.3.1 文件打开的函数fopen()
open函数用于打开一个文件,其调用的一般形式为: 文件指针名 = fopen(文件名, 使用文件方式);
“文件指针名”:必须是被说明为FILE 类型的指针变量。
“文件名”:被打开文件的文件名,“文件名”是字符串常 量、字符数组或字符指针。 “使用文件方式”:指文件的类型和操作要求。
/* 输出系统提示信息 */
上面程序段的意义是,如果返回的指针为空,表示不能 打开test.dat文件,则给出提示信息“打开文件test.dat出 错!”,然后输出系统提示信息,当用户从键盘敲任一键后 执行exit(1)退出程序 。
第八章
8.3.2 文件关闭的函数fclose()
C语言程序设计教程第8章文件
8.2.1 文件的打开与关闭
2. 文件关闭函数fclose() 文件一旦使用完毕,为避免文件数据丢失等错误的发生, 可用文件关闭函数将其关闭。 函数调用的一般形式是: fclose(文件指针); 例如: fclose(fp); 正常完成关闭文件操作时,fclose()函数返回值为0, 如果返回非零值则表示有错误发生。
检查各种输入输出函数对文件进行读写时是否 出错,返回值为0表示未出错,否则表示有错。
8.2.2 文件检测与定位
2.文件的定位函数 在文件内部有一个位置指针,用来指向文件中当前被读写 的字节。 在文件打开时,该指针总是指向文件的第一个字节。 它不同于文件指针,文件指针是指向整个文件的,须在 程序中定义说明,只要不重新赋值,文件指针的值是不变的。 文件内部的位置指针是指示文件内部的当前读写位置, 比如每读写一次,该指针均会向后移动,它不需在程序中定 义说明,而是由系统自动设置的。
在stdio.h中定义了两个文件操作过程中经常用到的符号常量
8.2 文件操作
另外 在stdio.h中定义了两个文件操作过程中经常用到的符号常量 NULL:表示空指针,值为0 EOF: 表示文件末尾,值为-1 通过文件指针就可以完成对文件的操作 文件操作的过程一般有如下步骤:
1. 说明一个文件指针; 2. 通过文件名打开文件,并为文件指针赋值; 3. 通过文件指针对文件进行存取(即读或写操作) ; 4. 关闭文件。
8.2.1 文件的打开与关闭
1. 文件打开函数fopen()
文件在进行读写操作之前要先打开,使用完毕要关闭
所谓打开文件,实际上是建立文件的各种信息,并使 文件指针指向该文件,以便进行其它操作。 fopen()函数用来打开一个文件,其调用的一般形式为:
8章 c语言程序设计 结构体,共用体与枚举类型
当通过指针变量引用结构体成员时,若表达式中含有++,-等运算符时,应根据运算符优先级来确定表达式含义。例: ++ p-> score 相当于++( p-> score),结果使score加1。 (++ p)-> score 则再访问成员score之前,使p加1。 例:struct abc {char a[20]; int *pt; }p; pt是结构体类型中的成员,则表达式*p->pt引用的是pt所 指存储单元; *p->pt++是再引用了pt所指存储单元后,使 指针pt加1;( *p->pt)++使pt所指向的单元的值加1;而 *p ++ ->pt在访问了pt所指存储单元后,p加1。
例:struct std_info {char name[9]; char sex[3]; float score; struct date birthday; }stud,arr[5],*p; p=& stud; (1)若要引用结构体类型变量stud 中score成员项,可写成: stud. score p-> score *(p). score arr[1] .score /*通过结构体变量引用*/ /*通过指针变量引用*/ /*通过指针变量引用*/
2.将一个结构体变量作为一个整体赋给另一具有相同类型的 结构体变量 例:struct {char name[15]; int num; }stud1,stud2={“wangfang”,01}; 执行赋值语句: stud1=stud2; 则stud2中把每个成员的值依次赋给stud1中对应的同名成员。 C不允许把一个结构体变量作为一个整体进行输入和输出。 例: scanf(“%d”,& stud1); printf(“%d”,stud1);都是错误的 结构体变量有多个不同类型的数据项,必须逐个用相应的格 式像普通变量一样输入和输出。 scanf(“%s,%d”, stud1. name ,& stud1.num); 注意name[15]是数组,数组名本身就是地址。
四川大学《c语言程序设计》课件-第8章 结构体与共用体
90 83 72 82
2 林平之
男 1999
78 92 88 78
3 岳灵珊
女 1999
89 72 98 66
4 任盈盈
女 1999
78 95 87 90
结构体的解决方法
struct STUDENT
{ int studentID;
/*每个学生的序号*/
char studentName[10];/*每个学生的姓名*/
};
结构体变量的指针
struct STUDENT
{
int
studentID;
char
studentName[10];
char
studentSex[4];
struct date timeOfEnter;
int
scoreComputer;
int
scoreEnglish;
int
scoreMath;
int
结构体的内存占用
double 占用内存字节数 = 8 struct 类型用内存字节数 = ? 是所有成员变量的内存总和吗?
用运算符sizeof获得结构体大小 sizeof(变量或表达式) sizeof(类型)
struct number
{ short i; char ch;
float f;
};
printf("%d\n", sizeof(struct number));
struct STUDENT *pStu; /*定义结构体指针*/
pStu = &stu;
通过stu和成员运算符访问结构体成员
– stu. studentID = 1;
通过pStu和指向运算符访问结构体成员
《C语言程序设计(第五版)》-第8章编译预处理
此程序段将显示SIZE,而不是1000。
C语言程序设计
第8章 编译预处理
8.1.1 不带参数的宏定义
说明:
(5)可以引用前面已经定义的宏名来定义新的宏,示例代码如 下: #define I1 30 #define I2 60 #define J I1+I2 #define K J*2+J/2+I2
其含义是用指定的宏名(即标识符)来代表其后的字符串。
C语言程序设计
第8章 编译预处理
8.1.1 不带参数的宏定义
示例代码如下: #define SIZE 1000 #define PI 3.1415926 #define FORMAT "%d,%d,%d\n"
用标识符SIZE来代替字符串1000, 用标识符PI来代替字符串3.1415926, 用标识符FORMAT来代替字符串"%d,%d,%d\n", 在编译预处理时,将程序中在该命令以后出现的所有的SIZE用1000
本章教学重点:宏定义的两种形式,文件 包含的使用方法。
本章教学难点:带参数的宏定义。
C语言程序设计
第8章 编译预处理
主要内容:
8.1 宏定义 8.2 “文件包含”处理 8.3 条件编译
C语言程序设计
第8章 编译预处理
第8章 编译预处理
编译预处理是指一些行首以#开头的特殊语句。 在对程序进行通常的编译之前,必须先对程序中这 些特殊的命令进行“预处理”,即根据预处理命令, 对程序作相应的处理。
第8章 编译预处理
本章概述 本章的学习目标 主要内容
《C语言程序设计》教材习题答案第8章
一、选择题1.以下数组定义中,错误的是:C)int a[3]={1,2,3,4};2.以下数组定义中,正确的是:B) int a[][2]={1,2,3,4};3.设有定义“int a[8][10];”,在VC中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是:D)10444.已知有数组定义“int a[][3]={1,2,3,4,5,6,7,8,9};”,则a[1][2]的值是:C)65.在以下字符串定义、初始化和赋值运算中,错误的是:A) char str[10];str=”String”;6.设有以下字符串定义,char s1[]={‘S’,’t’,’r’,’i’,’n’,’g’};char s2[]=”String”;则s1和s2:C)长度不同,但内容相同。
7.设有定义“int a[10]={0};”,则说法正确的是:A)数组a有10个元素,各元素的值为0.8.设已定义“char str[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};”,执行语句“printf(“%s”,str)”后,输出结果为:B)ab9.引用数组元素时,数组元素下标不可以是:C)字符串10.已定义字符串S1和S2,以下错误的输入语句是:C)gets(s1,s2);11.下面程序段的运行结果是:A)123void main(){char a[]=”abcd”,b[]=”123”;strcpy(a,b);printf(“%s\n”,a);}12.下面程序段的运行结果是:A)123void main(){char a[]=”123”,b[]=”abcd”;if(a>b)printf(“%s\n”,a);else printf(“%s\n”,b);}二、编程题1.一维数字a的值已经,请把数组中的值按逆序存放,然后输出数组。
例如数组中原来的值为3,4,2,1,6,颠倒后变成6,1,2,4,3.#include<stdio.h>main(){int i,a[5]={2,3,45,12,5},t;printf("转换前:");for(i=0;i<5;i++)printf("%d\t",a[i]);for(i=0;i<5/2;i++){t=a[i];a[i]=a[5-i-1];a[5-i-1]=t;}printf("\n转换后:");for(i=0;i<5;i++)printf("%d\t",a[i]);}2.输入一个整数(位数不确定),从高位到低位依次输出各位数字,其间用逗号分隔。
