五届C语言程序设计复赛试题B卷
- 格式:doc
- 大小:49.00 KB
- 文档页数:5
《C语言程序设计》模拟试卷十二一、填空题.(每题2分,共20分)1.C语句必须以号结束2.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是。
3.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是.4.设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。
scanf(“%d, " );printf(“%d\n”, .);5.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 .6.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是。
7.表达式a = 1,a + 1,a + + 的值是___________________。
8.设char string[]=″This_is_a_book!″;则数组的长度应是________________。
9.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。
10.设有如下变量说明语句int a[8]={44,55,12,42,94,18,6,67},*p=a;则通过指针变量p引用值为18的表达式是____ ____。
11.执行下述程序#include <stdio.h〉int strlength(char a[],char b[]){int num=0,n=0;while (*(a+num)!='\0')num++;while (b[n]){*(a+num)=b[n];num++;n++;}return (num);}main(){char strl[81],str2[81],*p1=str1,*p2=str2;gets(p1);gets(p2);printf("%d\n”,strlength(p1,p2));}若从键盘输入qwertyabcd则输出结果是____ ___.二、单项选择题。
《C语⾔程序设计》试卷 B卷注意:答案请填写在答题纸上!⼀、填空題(每空1分,共20分)1. 是C程序的基本单位,⼀个C程序总是从开始执⾏。
2.C语⾔规定标识符只能由字母、和 3种字符组成,且第⼀个字符必须为字母或。
3.计算机科学家沃思提出的⼀个公式:数据结构+=程序4.Turbo C++中,若有语句:unsigned int a;则a的范围是0~5.C中的转义符“\r”表⽰:。
6.表达式 21 / 4 的值为。
7.C语⾔中没有专门的字符串变量,如果想将⼀个字符串存放在变量中以便保存,必须使⽤。
8.已知a=12.789,则表达式 (int)a 的值为。
9.表达式 3 | 2 的值是。
10.若a=5,经a-=3;后a= 。
11.已知ch='a',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为。
12.C中定义符号常量E为2.71828的宏命令是。
13.函数形参和调⽤的实参是数组名时,参数按⽅式进⾏传递。
14.C中按位与运算符是、按位异或运算符是、按位或运算符是。
15.定义⼀个结构变量,共三个成员分别是字符型、整形和浮点型,则该结构体变量所占内存长度为个字节。
⼆、单项选择题(每题2分,共40分)1.下列C语⾔标识符中,不合法的是……………………………………………()A. mynameB. WendC. sumD. student2.欲从键盘给整型变量a赋值3,b赋值2,则对应语句 scanf("a=%d,b=%d",%a,&b); 的输⼊格式是……………………………………………………………………()A. 3 2B. a=3 b=2C. a=3,b=2D. a=b=3,23.C语⾔源程序⽂件后缀名是……………………………………………………()A. .exeB. .objC. .batD. .c4.结构化程序设计的三种基本结构是…………………………………………()A. 顺序结构、复杂结构、循环结构B. 顺序结构、分⽀结构、循环结构C. 顺序结构、分⽀结构、选择结构D. 顺序结构、复杂结构、分⽀结构5.以下表达式中,值为0的是……………………………………………………()A. 15%5B. 15/5.0C. 15/5D. 15>56.设下列表达式中所涉及的变量均已正确定义,则不符合C语⾔语法的是…()A. 4||3B. a+=4C. a=3,b=5D. char(65)7.设变量定义为【int a[3]={1,3,5}, *p=a+1; 】,则*p的值是………………()A. 2B. 3C. 4D. a+18.在C 语⾔程序中,在函数内部定义的变量称为………………………………()A. 全局变量B. 外部变量C. 全程变量D. 局部变量9.经过以下的变量定义后,正确的表达式是……………………………………() struct node {char s[10];int k;} p[4];A. p->k=21B. p[0]->k=21C. p(0)->k=21D. p->s="Mary"10.若变量c为char类型,则能正确判断出c为⼤写字母的表达式是…………()A. (c>= 'A')||(c<= 'Z')B. 'A'<=c<= 'Z'C. (c>= 'A')&&(c<= 'Z')D. ('A'<=c)and ('Z'>=c)11.C语⾔中以“只写”⽅式打开⽂件,应选择的参数是…………………………()A. oB. wC. aD. r12.变量定义为【int a[2][3]={1,2,3,4,5,6}, *p=&a[1][0]; 】,则p的值是()A. 数组a的⾸地址B. 数组a的第1个元素的地址C. 数组a的第“1”⾏第“0”列的地址D. 数组a的第“1”列的⾸地址13.⽤链表表⽰线性表的优点是…………………………………………………()A. 便于插⼊和删除操作B. 花费的存储空间较顺序存储少C. 便于随机存取D. 数据元素的物理顺序与逻辑顺序相同14.结构化程序设计主要强调的是………………………………………………()A. 程序的规模B. 程序设计语⾔的先进性C. 程序结构的规范化D. 程序的效率15.以下表达式中,不正确的浮点数常量是……………………………………()A. 2e2B. 2.2C. 2c2D. 2E216. 若【int x=12,*p=x;】,则正确的赋值表达式是……………………………()&n b s p ; A . p = * &a m p ; x &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; B . * p = &a m p ; x / F O N T > / p > p > F O N T s i z e = 3 > &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; C . &a m p ; p = x &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ;&n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; D . * p = x / F O N T > / p > P a l i g n = l e f t >。
《C语言程序设计》复习纲要B一、单选题1. 以下对C语言的表述错误的是()。
A. C语言适合于数据管理领域B. C语言是一种结构化语言C. C语言适合编写操作系统D. C语言是伴随UNIX系统发展起来的2. C语言的数据类型中以*表示()数据类型。
A. 空类型B. 结构体C. 指针D. 实型3. 常数的书写格式决定了常数的类型和值,0x1011是()。
A. 8进制整型常量B. 字符常量C. 16进制整型常数D. 2进制整型常数4. 表达式 18/4*sqrt(4.0)/8值的数据类型是()。
A. intB. floatC. doubleD. 不确定5. 下列不可作为C语言赋值语句的是()。
A. x=3,y=5;B. a=b=6;C. i--;D. y=int(x)6. 以下程序运行后,输出结果是()。
main( ){char *s="abcde";s+=2;printf("%ld\n",s);}A. cdeB. 字符c的ASCII码值C. 字符c的地址D. 出错7. 以下说法中正确的是()。
A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句8. 下面程序的输出是()。
main( ){ int y=9;for( ; y>0; y--){ if (y%3==0){ printf("%d", --y);continue;}}}A. 741B. 852C. 963D. 8754219. 循环语句不包括()。
A. for;B. case;C. goto;D. continue;10. 设已有定义: char *st="how are you"; 下列程序段中正确的是()。
A. char a[11], *p; strcpy(p=a+1,&st[4]);B. char a[11]; strcpy(++a, st);C. char a[11]; strcpy(a, st);D. char a[], *p; strcpy(p=&a[1],st+2);二、多选题1. 以下对C语言的表述正确的是()。
桂林电子科技大学试卷2014-2015学年第2 学期课程名称C语言程序设计B实验适用年级2014 考试时间60 分钟试卷编号:A20151001考前准备:请在E盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程文件均创建在该学号文件夹下。
第1题:改错题(30分)【题目描述】:程序文件modi1.c中有3~6处错误,请改正程序中存在的错误,使程序能运行并输出正确的结果,改正后的代码仍然保存在原来的程序文件中。
【该程序的功能是】:从键盘任意输入一个整数,判断该整数是否是完数(一个数如果恰好等于它的因子(不含本身)之和,这个数就称为“完数”,例如6的不含本身的因子有1,2,3,而6=1+2+3,则6就是一个完数)。
第2题:编程题1(30分)【题目描述】:编写程序,从键盘上输入10个学生的成绩,按每行3个输出及格的学生成绩(百分制的)。
【测试样例】输入:输入10个学生的成绩:85 77 55 65 91 46 84 65 39 73↙输出:及格的成绩为:85 77 6591 84 6573【要求】:编程题对应的工程文件放在学号文件夹下,工程名为“prog1”,主程序文件命名为P15101.c,并在程序的开始位置加入如下注释,其中的XXX应填入与考生对应的真实信息,否则,视同作弊:/*学号:XXX姓名:XXX课号:XXX(不知道课号的填老师姓名及上课时间,例如:张三老师周一1,2节)座位号:XXX试卷编号(见本试卷开头):XXX*/第3题:编程题2(40分)【题目描述】:从键盘输入一个四位正整数,输出这个四位正整数的各个数位上的数字的和。
请编写程序。
【测试样例】输入:7683↙输出:24(即7+6+8+3,从而得出和为24)【要求】:编程题对应的工程文件放在学号文件夹下,工程名为“prog2”,主程序文件命名为P15102.c,并在程序的开始位置加入如下注释,其中的XXX应填入与考生对应的真实信息,否则,视同作弊:/*学号:XXX姓名:XXX课号:XXX(不知道课号的填老师姓名及上课时间,例如:张三老师周一1,2节)座位号:XXX试卷编号(见本试卷开头):XXX*/。
C 语言程序设计(B 卷)请考生仔细阅读并严格遵守题目屮关于文件保存和命名的要求。
请务必按照试卷要求为文件命名。
考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将 考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。
注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根 目录下。
然后选中整个文件夹,用Winnir 压缩工具打包后存放在本考场指定的考试结果存放地 址,经监考老师确认上传无误后方可离开考场。
注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件 夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保 存在本地计算机中。
请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不 得包含本试题文件和试题素材。
注意:凡违反上述规定的考生,其成绩一律按零分处理。
题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为 “1.C” )。
重要提示:由于时间有限,请考生首先保证编写的程序在Wintc 环境下可以编译通过并执 行,并在此基础上保证完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。
1、编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁,鸡母,鸡雏各儿何? (20分)/* HELLO, jc — Hello, world */#include "stdio. h 〃#include "conio.h"main (){int jw, jm, jc;for (jw 二1;jw<100;jw++) {for (jm=l;jm<100;jm++) {第五届全 ITAT 教育工程就业技能大赛复赛试题for(jc=l;jc<100;jc++) {if(jw+jm+jc==100 && 5*jw+3*jm+jc/3==100)printf("%d\t%d\t%d\n", jw, jm, jc);}jc二1;}jm=l;}getchO ;}2、编程实现:有二维数组a[3] [3] = { {1. 3, 2. 7, 3. 6}, {2, 3, 4. 7}, {3, 4, 1. 27}},将数组a 的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。
C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。
不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。
《C语言程序设计》期末考试试题(B卷)(100分)1、班级(如:计算机网络技术21X(X为班级号))【填空题】________________________2、学号【填空题】________________________3、姓名【填空题】________________________4、以下头文件表达正确的是()。
【单选题】(2分)A.A、definestdio.hB.B、#definestdio.hC.C、#includestdio.hD.D、#includestdio.h;正确答案: C5、以下叙述不正确的是()。
【单选题】(2分)A.A、C 语言源程序可以有多个主函数B.B、函数体中可以出现多对大括号{}C.C、C函数可以由多个函数组成D.D、main函数是执行入口和出口正确答案: A6、以下叙述不正确的是()。
【单选题】(2分)A.A、一个C源程序可由一个或多个函数组成B.B、C程序直接可以直接运行,不必编译C.C、C语言中编写程序区分大小写D.D、C语言属于高级编程语言正确答案: B7、当a=2,b=2时,表达式a==b的值为()。
【单选题】(2分)A.A、2C.C、0D.D、5正确答案: B8、以下叙述正确的是()。
【单选题】(2分)A.A、C语言的关键字可以由用户自己定义B.B、C语言的关键字是有特殊用途的,不能作标识符C.C、int和Int都是关键字D.D、关键字与一般的标识符没有区别正确答案: B9、下列定义变量的语句中错误的是()。
【单选题】(2分)A.A、int _int;B.B、double int_;C.C、char For;D.D、float US$;正确答案: D10、若有定义“char a; int b; float c; double d;”,则表达式“a*b+d-c”值的类型为()。
【单选题】(2分)A.floatB.intC.charD.double正确答案: D11、若s是int型变量,则表达式s%2+(s+1)%2的值为( )。
一、单项选择题(每小题2分,共30分)答案填入下表1. 在C语言中,下面字符串能用作变量名的是( )。
A、a+bB、autoC、2-andD、a22. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。
A、3.500000 B. 3.000000 C. 2.000000 D. 33. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是( )。
A、字符常量是用单撇号括起来的一个字符B、空格字符也可用作字符常量C、字符串常量是用单撇号括起来的一个字符序列D、字符串常量是用双撇号括起来的一个字符序列4. 若有以下变量说明和数据的输入方式,则正确的输入语句为( )。
变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf(“%f,%f”,&x1,&x2);B、scanf(“%f%f”,&x1,&x2);C、scanf(“%3.2f,%2.1f”,&x1,&x2);D、scanf(“%3.2f%2.1f”,&x1,&x2);5. 下列程序段的执行结果是( )。
char s[10];s=″abcd″;printf(″%s\n″,s);A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过6. 在一个源文件中定义的全局变量的作用域为()。
A. 本文件的全部范围B. 从定义该变量开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围7.当调用函数时,实参是一个数组名,则向函数传送的是( )。
A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值8.若j为整型变量,则下面while循环( )。
j=10;while(j!=0) j=j-1;A、执行0次B、执行1次C、执行10次D、执行无限次9. 在while(x)语句中的x与下面条件表达式等价的是:( )。
第五届全国ITAT教育工程就业技能大赛复赛试题
C语言程序设计(B卷)
请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。
请务必按照试卷要求为文件命名。
考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。
注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。
然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。
注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。
请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。
注意:凡违反上述规定的考生,其成绩一律按零分处理。
题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.C” )。
重要提示:由于时间有限,请考生首先保证编写的程序在Wintc环境下可以编译通过并执行,并在此基础上保证完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。
1、编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,
问鸡翁,鸡母,鸡雏各几何?(20分)
main()
{ int i,j,k;
for(i=1;i<20;i++)
for(j=1;j<33;j++)
for(k=3;k<99;k+=3)
if((5*i+3*j+k/3==100)&&(i+j+k==100))
printf("i=%d,j=%d,k=%d\n",i,j,k);
getch();
}
2、编程实现:有二维数组a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}},将数组a
的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。
(20分)
#include<stdio.h>
void main()
{ int i=0,j;
double max[3];
double a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
while(i<3)
{ max[i]=a[0][0];
for(j=0;j<3;j++)
{ if(a[i][j]>max[i])
max[i]=a[i][j];
}
i++;
}
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
{ a[i][j]=a[i][j]/max[i];
printf("%lf ",a[i][j]);
}
printf("\n");
}
getch();
}
3、编程:设x、y取值为区间[1,10]的整数, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小
值的x1、y1,要求使用自定义函数实现f(x,y)功能。
(20分)
#include<stdio.h>
void main()
{ int i,j,m=0,n;
int min,result[100];
int f(int x,int y);
min=f(1,1);
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
{ result[m]=f(i,j);
m++;
}
for(n=0;n<m;n++)
if(result[n]<min)
min=result[n];
printf("%d",min);
}
int f(int x,int y)
{ int k;
k=(3*x-2*y)/(x+y);
return k;
}
4、编写函数fun,其功能是:在字符串中所有数字字符前加一个“*”字符,要求通过指针
实现。
(20分)
#include <string.h>
#include <stdio.h>
void fun( char *s1)
{ char *s=s1;
char a[100];
int i=0;
while(*s!='\0')
if(*s>='0'&&*s<='9')
{ a[i++]='*';
a[i++]=*s++;
}
else a[i++]=*s++;
a[i]='\0';
strcpy(s1,a);
printf("the result: %s\n", s1);
getch();
}
void main()
{ char s[80];
printf("enter a string:");
scanf("%s", s);
fun(s);
}
5、编程:已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找
出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。
(20分)
A01,81;A02,89;A03,66;A04,87;A05,77
A06,90;A07,79;A08,61;A09,80;A10,71
#include<stdio.h>
struct student
{ char num[20];
int score;
}a[10]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{ "A07",79},{"A08",61},{"A09",80},{"A10",71}};
main()
{ int i,k;
int min=a[0].score;
for(i=0;i<10;i++)
if(min>a[i].score)
{ min=a[i].score;
k=i;
}
printf("%s,%d",a[k].num,a[k].score);
getch();
}
6、附加题:编写一个函数InverseByWord(char *sentence),实现一个英文句子按单词逆
序存放的功能,并给出测试程序。
(50分)
如:This is an interesting programme.
逆序后变为:.programme interesting an is This
#include<stdio.h>
void main()
{
char s[30][30];
int i,k;
int numword(char *str1);
void inversebyword(char *str,int m);
printf("please input a:");
for(i=0;i<30;i++)
gets(s[i]);
k=numword(s[0]);
inversebyword(s[0],k);
}
int numword(char *str1)
{ int num=1;
while(*str1!='\0')
{ if(*str1=='\040')
num++;
str1++;
}
return num;
}
void inversebyword (char *str,int m)
{
int i;
for(i=m-1;i>=0;i++)
printf("%s ",*(str+i));
}
#include<stdio.h>
#include<string.h>
void Reverse(char a[])
{
int len = strlen(a);
int i;
char c;
for(i = 0; i < len / 2; i++) {
c = a[i];
a[i] = a[len - i - 1];
a[len - i - 1] = c;
}
}
void main()
{
char a[100] = "hello"; while(1)
{
gets(a);
if(strcmp(a, "exit") == 0) break;
Reverse(a);
printf("%s\n", a);
}
}。