2021年安徽建筑大学C语言冲刺卷(八套试卷)及答案_第1页
2021年安徽建筑大学C语言冲刺卷(八套试卷)及答案_第2页
2021年安徽建筑大学C语言冲刺卷(八套试卷)及答案_第3页
2021年安徽建筑大学C语言冲刺卷(八套试卷)及答案_第4页
2021年安徽建筑大学C语言冲刺卷(八套试卷)及答案_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽建筑大学C语言冲刺卷(-)一'单项选择题(共20题,每小题2分,共40分)1、与二进制小数0.1等值的十六进制小数为。A、0.1B、0.2C,0.4D、0.82、若有定义:charc;doubled;程序运行时输入:12V回车〉,能把字符1输入给变量c数值2输入给变量d的输入语句是oA、scanfC%c%ir,&c,&d);B、scanf&c,&d);C,scanf("枇*f”,&c,&d);D、scanf&c,&d);3、以下if语句书写正确的是。A、if(x=0;)printf("M",x);elseprintf-x);if(x>0)x=x+l;printfx);elseprintf-x);C>if(x>0);x=x+l;printf(V,x);elseprintf-x);D,if(x>0)x=x+l;printfx)elseprintf-x);4、以下程序的输出结果是0=main(){intx=l,y=0,a=l,b=l;switch(x)(case1:switch(y)case0:a++;break;casel:b++;break;case2:a++;b++;break;)printf(飞d,%d\n”,a,b);)A、2,1B、3,22,3D、325、c语言程序的三种基本结构是顺序结构、循环结构和()A、选择结构B、递归结构C、嵌套结构D、转移结构6、下列变量声明合法的是oshorta=l.4e-l;doubleb=l+3e2.8;lOngdo=0xfdaL;float2_aaa=le-3;7、下面的C程序完成的功能是o#defineSIZE5voidfunc(intdata[SIZE]);main(){inti,buf[SIZE];printf("“Pleaseinput%dnumbers:,,,,,SIZE);for(i=0;idata[j+l])d=data[j];data[j]=data[j+l];data[j+l]=d;A、对一维数组降序排序B、对一维数组升序排序C、对一维数组逆向排序D、对一维数组顺序排序8、以下字符常量中不合法的是oB、'&'C、"K"D、‘整‘9、下列字符串是标识符的是:。A、_HJ9_studentlongLINE110、若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是oa[0][4]B、a[l][3]C、a[0][3]D、a[l][4]11、在以下叙述中,不正确的选项是OA、C语言程序总是从main()函数开始执行B、在C语言程序中,被调用的函数必须在main()函数中定义C、C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数D、在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套12、已知大写字母a的ascii码值是65,小写字母a的ascii码是97,则用八进制表示的字符常量''\ior'是oA、字符AB、字符aC、字符eD、非法的常量13、判断两个字符串是否相等,正确的表达方式是oA、while(sl=s2)while(sl=s2)C、while(strcmp(si,s2)==0)D、while(strcmp(si,s2)=0)14、设有结构体的定义如下:structdatacharcl;charc2;)则sizeof(structdata)的值是。2B、3C、4D、515,设有定义inii;doublej=5;则10+i+j值的数据类型是。A、intdoublefloatD,不确定16、若x、y均是int型变量,则执行以下语句后的结果是—for(x=l;x<5;x+=2)for(y=l;y<5;y++)(printf(细2d",x*y);if(y==4)printfC,\n,/);}A.123436912B、23453456C、1234569D,234369691217、若有定义:structkeyword(charkey[20]:intid;)kw[]={"void",1,"char",2,"int",3,"float”,4,"double",5);则printf("%c,%d\n”,kw[3].key[0],kw[3].id);语句的输出结果为。A、i3B、n3C、f4D、1418、有以下程序#include<stdio.h>main()(intx=l,y=2,z=3;if(x>y)if(y<z)printf("%d”,++z);elseprintf(*%d*,++y);printf("94>d\n”,x++);)程序的运行结果是OA、331B、41C、2D、119、已定义两个字符数组a,b,则以下正确的输入格式是—A、scanf("%s%s”,a,b);B、get(a,b);C、scanfC%s%s",&a,&b);D、gets("a"),gets("b");20、有以下程序strucstu(charname[10];intnum;};voidfl(structstuc)structstub={"lisiguo”,2042};c=b;)voidf2(structstu*c)(structstub={"sundan”,2044};*c=b;)main()structstua={"yangsan”,2041},b={"wangyin”,2043}fl(a);f2(&b);printf(/z%d%d\n”,a.num,b.num);)执行后的输出结果是。20412044204120432042204420422043二,填空题(共10题,每小题2分,共20分)1、单精度型数据有效位为位。2、在c语言中,逻辑运算符中的"&&"称为。3、设inta=12,则表达式a/=a+a运算后,a的值是。4、c语言中字符()以存在计算机中,整数以()储存在计算机中5、下面程序段中循环体的执行次数是。a=10;b=0;do(b+=2;a-=2+b;)while(a>=0);6,下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=l;;i++)if()printfj);7、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:08、在printf格式字符中,只能输出一个字符的格式字符是;用于输出字符串的格式字符是;以小数形式输出实数的格式字符是;以标准指数形式输出实数的格式字符是。9、有以下程序#include<string.h>main(){chara[]={'d','e','f','g','h',''O'};intj;j=strlen(a);printfj);)程序运行后的输出结果是。10、以下程序中函数f的功能是在数值x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn)(intpO,pl,i,j,t,m;i=j=x[O];pO=pl=O;for(m=0;m<n;m++)(if(x[m]>i)(i=x[m];p0=m;)elseif(x[m]<j)(j=x[m];pl=m;t=x[pO];x[pO]=x[n-l];x[n-l]=l;t=xLpl];x[pl]=[14];[15]=t;)main()(inta[10],u;for(u=0;u<10:u++)scanf(*%d,&a[u]);f(a,10);for(u=0;u<10;u++)printf("%d",a[u]);printf("\n");)三、编程题(共3题,共40分)1、编写程序:??=800*??+9*??其中??代表的两位数,809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。打印如下形式,??代表一个数字:09*??=800*??+9*??(本题10分)2、编写程序输入三位数(100—999),然后按数字逆序输出。(例:输入123/,输出321)。(本题14分)3、输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)o随后n行,每行按照“姓名生日电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang1985040313912345678wang19821020+86-057厂88018448qian1984061913609876543输出样例:wang19821020+86ian1984061913609876543zhang1985040313912345678(本题16分)参考答案参考答案一、单项选择题1、DABBAABCA【解析】此题属于综合题。首先,把二进制小数0.1转化成十进制小数:(0.1)2=1X2-I=(o.5)10;然后把十进制小数0.5转化成十六进制小数:0.5X16=8,而整数部分为0,所以(0.1)2=(0.5)10=(0.8)16ABBAABCA10、B11、B12、A【解析】字符,所对应的八进制数为101,转换成十进制数为65。13、C14、A15、B【解析】本题主要考查的知识点为算术表达式的运算类型。[要点透析]对于算术表达式,当参加运算的两个运算分量中至少有一个是双精度型时,则运算结果为双精度型。j是double类型,故运算结果是double类型。16、A【解析】此题为一个简单的for循环嵌套。外层步进值为2,循环中断条什是x<5;内层步进值为1,循环中断条件是y<5。语句"1£(产=4汨147£("'11"):”的用意是当y=4时回车换行。17、C【解析】kw[3].Key[0]是第4个元素中key数组的第1个字符即f;kw[3].ID是第4个元素中成员ID值;18、D19、A20、A二、填空题1、72、逻辑与3、04、ascii码|补码5、3次6、i<100if(i%3==0&&i==6)7、['#include<stdio.h>(或Sinclude^stdio.h")']8、c,s,f,eo9、510、三、编程题1、#include<stdio.h>voidoutput(longintb,longinti){printfC\n%ld=800*%ld+9*%ld\n〃,b,i,i);intmain(){voidoutput(longintb,longinti);longinta,b,i;a=809;for(i=10;i<100;i++){b=i*a;if(b>=1000&&b<=10000&&8*iV100&&9*i>=100){output(b,i);return0;2、#include<stdio.h>voidmain(){intn,ge,shi,bai;printf(“请输入一个三位正整数:”);scanf("%d",&n);if((n<100)||(n>999))printf(〃输入数据有误!\n〃);else{ ge=n%10;shi=n/10%10;bai=n/100;printf("此数的逆序输出结果为:%d%d%d\n,z,ge,shi,bai);))3、ttinclude<stdio.h>structmessage(charnamel[30];charname2[30];charname3[30];doubleprice;);structmessaged[10];intmain()(intN;scanf&N);inti,j;for(i=0;i<N;i++)(scanf(z,%s%s%s,z,d[i].namel,d[i].name2,d[i].name3);scanf(〃Mf〃,&d[i].price);)intt,r;doublemax,min;max=min=d[0].price;for(j=0;j<N;j++)if(min>d[j].price){min=d[j].price;t=j;}if(max<d[j].price)(max=d[j].price;r=j;printf(zz%.21f,%s%s%s\n,z,max,d[r].namel,d[r].name2,d[r].name3);printf(,z%.21f,%s%s%s\n,z,min,d[t].namel,d[t].name2,d[t].name3);return0;安徽建筑大学C语言冲刺卷(-)一'单项选择题(共20题,每小题2分,共40分)1、char型常量在内存中存放的是oA、二进制代码值B、十进制代码值C,十六进制代码值D、ASCII代码值2、下列关于表达式的描述中,错误的是oA、常量和变量都是表达式B、运算符类型对应表达式的类型C、每一个表达式都有自己的值D、表达式必须以分号结尾3、三种基本结构中,能简化大量程序代码的是。A、顺序结构B、分支结构C、选择结构D、重复结构4、下列关于宏操作的叙述错误的是。A、do-while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件更严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句5、有以下程序:point(char*p){p+=3;)main(){charb[4]={''a'',''b'',''c'',''d''},*p=b;point(p);printf("%c\n",*p);)程序运行后的输出结果是。A,aB、bcD、d6、若有如下定义并赋值:charch='a',a;则执行语句"printfa=ch+2.6);"后的输出结果是.A、cB、dC、99D、1007、设有以下语句,其中不是对a数组元素的正确引用的是:(其中OWiV10)inta[10]={0,1,2,3,4,5,6,7,8,9),*p=a;A、a[i]*(&a[i])p[i]D、&(*(a+i))8、已知inta,b;用语句scanf("%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是oA、,B、.空格C、回车Tab键9、下列选项中c语言中不合法的字符串常量的是oA、"\⑵"B、'y'"\n'n""ABCD\x6d\10、若要定义a为3X4的二维数组,正确的定义语句是ofloata(3,4);floata[3][4];C、floata(3)(4);D、floata[3,4];11、当接受用户输入的含有空格的字符串时,应使用函数.A、gets()getchar()scanf()D、printf()12、以下选项中不合法的用户标识符是o_123printfC、A$D、Dim13、设有字符串a="hehas钱!”,则该字符串的长度为()。A、9B、10C、11D、814、有以程序Sinclude<stdio.h>Sinclude〈string.h>typedefstruct(charname[9];charsex;floatscore[2];}stu;voidf(stua){stub二{"zhao",'m>,85.0,90.0};inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];}main()(stuc二{“qian〃,'p*,95.0,92.0};f(c);printf(<z%s,%c,%2.Of,%2.0f\n”,,c.sex,c.score[0],c.score[1]);)程序的运行结果是OA、Qian,f,95,92B、Qian,m,85,90C、Zhao,f,95,92D、Zhao,m,85,9015、若有以下定义和语句,则输出结果是oint**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf(/,,%d\nz/,*p,**pp);A、10,20B、10,10C、20,10D、20,2016>现有以下语句:i=l;for(;i<=100;i++)sum+=i;A、for(i-1;;i++)sum+一一i;if(i==100)break;B、for(i=l;i<=100;)sum+=i;i++;C>i=l;for(;i<=100;)sum+=-i;D、i=l;for(;;)sum+=i;if(i==100)break;i++;17、以下对枚举类型名的定义中正确的是oenuma={one,two,three);TOC\o"1-5"\h\zBn enum a{one=9 , two=~l, three} ;、enum a=tone , two , three) ;D、 enum a{"one" , "two" , "three”} ;18、要输出下面的图形,请完善程序。ttinclude<stdio.h>main()inti,j,k;for(i=l;i<=5;i++)for(j=l;j<=20-3*i;j++)printf(*");for(k=l;;k++)printf("%3d”,k);for(;k>O;k++)printf("%3d”,k);printf("\n");A、k<=ik=iB、k<ik=i-lC、k<ik=iD、k<=ik=i-l19、在定义inta[5][6];后,数组a中的第10个元素是(设a[0][0]为第一个元素)A、a[2][5]a[2][4]a[l][3]D、a[l]E5]20、设有如下说明typedefstructst(longa;intb;charc⑵;)new;则下面叙述中正确的是OA、以上的说明形式非法B、ST是一个结构体类型C、NEW是一个结构体类型D、NEW是一个结构体变量二、填空题(共10题,每小题2分,共20分)1、在c语言中,‘\n'表示o2、数字'0'的ascii码值为多少()3、若x、v、z均为int型变量,则描述“x或y中有一个小于z”的表达式是4、设inta=5,b=6;则表达式(++a==b—)?++a:—b的值是—5、请阅读并分析以下程序,该程序的输出结果是:^include<stdio.h>main()(inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2)(case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;)break;case1:a[i]=0;)for(i=0;i<4;i++)printf("%d〃,a[i]);printf(〃\n〃);)6、下列程序段的运行结果是ocharsi[20]=//abcdef,/,s2[5]="abc";strcpy(si,s2);printf("%c”,si[2]);7、将arr传参到子函数,接受处()内函数定义该怎么写?8、C语言替换字符的函数是什么?9、以下程序的输出结果是omain()(inta=-l,b;if(a<0)b=2*a+l;elseb=2*a-l;printf(飞d〃,b);)10、以下程序段的定义语句中,x[l]的初值是,程序运行后输出的内容是O#include<stdio.h>main()(intx[]={l,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++)(p[i]=&x[2*i+l];printf("%d",p[i][0]);)printf("\n");)三、编程题(共3题,共40分)1、编写程序:找出100〜n(不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在数组中,并5个一行输出。(本题10分)2、编写程序:字符串反转,如将字符串"”反转为"moc.udiab.www”。(本题14分)3、题目描述有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。输入共有10行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。输出第一行包含了3个实数,分别表示3门课程的总平均成绩,保留2位小数,每个数之后输出一个空格。第二行输出个人平均分最高的学生的数据,与输入数据格式相同。如果有多位个人平均分最高的学生,输出按照输入顺序第一个最高分的学生数据。请注意行尾输出换行。样例输入样例输出85.6087.9090.40105EEE929394(本题16分)参考答案一、单项选择题1、D2、D【解析】语句必须以分号结尾,表达式不是必须以分号结尾,表达可以嵌套。3、D4、A【解析】VisualFoxPro中,支持两种类型的菜单,分别是条形菜单和弹出式菜单。菜单系统一般是一个下拉式菜单,它是由一个条形菜单和一个弹出式菜单所组成的。5、A【解析】在C语言中,函数的参数传递方式采用按值传递,因此不能通过调用函数的方式来改变指针本身的值,只能改变指针所指变量的值。6、C7、D8、A【解析】C语言规定在使用scanf输入时可以用作数据分隔符的有空格,回车和Tab键。用户如果要从键盘输入空格字符,则需要使用其他的输入方式。9、B【解析】字符串常量是由双引号括起来的一串字符,其中的双引号不可缺少。由此可知,选项A)、C)、D)都是合法的字符串常量,而选B)是一个字符常量。10、B11、A12、C13、B14、A15、D16、D17、B18、D19、C20、C【解析】typedef关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用typedef进行定义的话,则structST为结构体类型,现在用typedef定义后,相当于用NEW代表了structST这一结构体类型,故NEW为结构体类型。二、填空题1、回车换行#换行2、483、(x||y)<z4、75、30406、cint*arrstrcpy(a,b);9、-110、「2','2468']三、编程题1、#include<stdio.h>voidmain()(inta[100];intnum,i,j;intbw,sw,gw;bw=sw=gw=0;i=0;for(num=100;num<1000;num++)(bw=num/100;sw=(num%100)/10;gw=num%10;if(gw==(bw+sw))(a[i]=num;i++;for(j=0;j<i;)(printf(*%d”,a[j]);j++;if(j%5==0)putchar('\n');【解析】先遍历100~1000之间的所有数,然后筛选出满足百位数字加十位数字等于个位数字条件的数存储到数组中。最后,按照5个一行的形式输出。2、ttinclude<stdio.h>voidreverse(char*s)(//获取字符串长度intlen=0;char*p=s;while(*p!=0)(len++;p++;)〃交换…inti=0;charc;while(i<=len/2-1)c=*(s+i);*(s+i)=*(s+len-1-i);*(s+len-1-i)=c;i++;intmain()(chars[]="”;printfC/,%sJ=>\n〃,s);reverse(s); //反转字符串printf("'%s's);return0;【解析】质数(primenumber)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。3、#include<stdio.h>#include<string.h>structpeople{intnum,a,b,c;charname[10];};intinput(structpeoplestu[]){for(inti=0;i<10;i++)scanf(z,%d%s%d%d%d*,&stu[i].num,stu[i].name,&stu[i].a,&stu[i].b,&stu[i].c);)intprint(structpeoplestu[]){doublex=0,y=0,z=0;for(inti=0;i<10;i++){x=x+stu[i].a*l.0;y=y+stu[i].b*L0;z=z+stu[i].c*l.0;)for(inti=0;i<10;i++){if((stu[i].a+stu[i].b+stu[i].c)>=(stu[i+l].a+stu[i+l].b+stu[i+l].c)){stu[i+l].num=stu[i].num;strcpy(stu[i+l],name,stu[i].name);stu[i+l].a=stu[i].a;stu[i+l].b=stu[i].b;stu[i+l].c=stu[i].c;})printfC%.2f%.2f%.2f\n〃,x/10.0,y/10.0,z/10.0);printf(,z%d%s%d%d%d\nz,,stu[9].num,stu[9].name,stu[9].a,stu[9].b,stu[9].c);}intmain(){structpeoplestu[10];input(stu);print(stu);return0;安徽建筑大学C语言冲刺卷(三)一、单项选择题(共20题,每小题2分,共40分)1、在下列字符中,其ascii码值最小的一个是oA、空格字符B、0C、AD、a2、合法的八进制数是oA、0B、028-07701.03、运行以下程序后,如果从键盘上输入china#〈回车〉,则输出结果为#include<stdio.h>main()(intvl=0,v2=0;charch;while((ch=getchar())!='#')switch(ch)(case'a':case'h':default:vl++;case'o):v2++;}printf(*%d,%d\n*,vl,v2);}A、2,0B、5,0C、5,5D、2,54、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i<=j;i++,j—)k=i+j;A、12B、10C、11D、95、对下面程序段,描述正确的是ofor(t=l;t<=100;t++)(scanf("%d",&x);if(x<0)continue;printf("刎\n",t);)A、当xVO时,整个循环结束当x>=0时,什么也不输出C、printf函数永远也不执行D、最多允许输出100个非负整数6、语句"while(!f);〃中的条件"!f"等价于()f==0f!=lf!=0D、〜f7、二维数组a的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=l,2,-,10c若a按行先存储,元素a[8,5]的起始地址与当a按列先存储时的元素()的起始地址相同。设每个字符占一个字节。A[8,5]A[3,10]C、A[5,8]D、A[0,9]8、使用共用体变量,不可以oA、节省存储空间B、简化程序设计C、进行动态管理D、同时访问所有成员9、有以下程序:#include<string.h>main()(char*p="abcde\Oghjik\O”;printf(/z%d\n/z,strlen(p));程序运行后的输出结果是一A、12B、15

C、6D、510、设有如下定义:charaa[2][20]={"abed","abed"};则以下说法中错误的是,A、aa是个二维数组,可以存放2个19个字符以下的字符串B、aa是个二维数组,每行中分别存放了字符串"abed"和"ABCD"C、aa[0]可以看作是一维数组名D、aa[0][0]可以看作是一维数组名11、设有语句:x=inputbox("输入数值示例〃)程序运行后,如果从键盘上输人数值10并按回车键,则下列叙述中正确的是OA、变量x的值是数值10B^在InputBox对话框标题栏中显示的是"示例"C、0是默认值D、变量x的值是字符串“10”12、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是oA、a<>0B、!aC、a=0D、a13、有以下程序main()(inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;q=r;printf(*%d,%d,%d,%d\n”,*p,*q,a,b);A、BA、B、C、D、8,7,8,78,7,87,7,88,8,714、当定义一个结构体变量时,系统分配给它的内存是A、各成员所需内存量的总和B、结构中第一个成员所需内存量C、结构中最后一个成员所需内存量D、成员中占内存量最大者所需的容量15、以下四个程序中不能对两个整型值进行交换的是一A、voidswap(intp,intq)(int*t,a;t=&a;*t=*P;*p=*q;*q二*t;)main()(inta=10,b=20;swap(&a,&b);printf%d%d\n",a,b);)B、voidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;)main(){inta=10,b=20;swap(&a,&b);printf(w%d%d\n",a,b);)C>voidswap(int*p,int*q){intt;t二*p;*p=*q;*q=t;)main()(int*a,*b;*a=10,*b=20;swap(a,b);printf%d%d\n",*a,*b);)D>voidswap(int*p,int*q)(intt;t=*p;*p=*q;*q=t;)main()(inta=10,b=20,*x=&a,*y=&b;swap(x,y);print("%d%d\n”,a,b);)16、执行以下循环语句时,下列说法正确的是ox=-1;do{X=X*X;}while(x==0);A、循环体将执行一次B、循环体将执行两次C、循环体将执行无限次D、系统将提示有语法错误17、有以下程序structs{intx,y;)data[2]={10,100,20,200};main()(structs*p=data;printf("辑d\n”,++(p->x));)程序运行后的输出结果是。A、10B、11C、20D,2118、以下程序的执行结果是。main()intw=1,x=2,y=3,z=4;w=(w<x)?x:w;w=(w<y)?y:w;w=(w<z)?z:w;printf('%d",w);)1B、2C、3D、419、对长度为8的数组进行快速排序,最多需要的比较次数为一A、828C、56D,6420、有以下程序structstu(intnum;floattotalscore;};voidf(structstup){structstus[2]={{20044,550},{20045,537}};p.num=s[1].num;p.totalscore=s[l].totalscore;)mainO(structstus[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.0f\n”,s[0].num,s[0].totalscore);)程序运行后的输出结果是。20045537200445502004258020041703二、填空题(共10题,每小题2分,共20分)1、设inta;floatf;doublei;则表达式10+'a'+i*f值的数据类型是 o2、在一个c源程序中,注释部分两侧的分界符分别为—和—o3、表达式(int)((double)(5/2)+2.5)的值是„4、在C语言的表达式中,x=x+5用复合运算符可以写成o5、if语句与语句一起可以构成循环结构。6、main()(inta[5]={2,4,6,8,10},*p,**k;P=a;k=&p;printfC%d,*(p++));printf(*%d\n*,**k);)程序的输出结果是o7、在c语言中,一个函数一般由两个部分组成,它们是[1]和[2].8、在函数中使用语句返回值。9、下面程序的运行结果是omain()inta[2][3]={{1.2,3},{4,5,6}},intb[3][2],i,j;printf(zzarraya:\n");for(i=0;i<=l;i++)for(j=0;j<=2;j++)(printf("%5d",a[i][j]);b[j][i]=a[i][j];)printf("\n");)printf(zzarrayb:\n");for(i=0;i<=2;i++)(for(j=0;j<=1;j++)printf(*%5d*,b[i][j]);printf("\n");10、下列程序段的运行结果是omain()(inta=5,b=6,c;intadd(int,int);c=add(a,b);printf("刎\n",c);)intadd(intx,inty)(intz;z=x+y;returnz;)三、编程题(共3题,共40分)1、编写程序:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?(本题10分)2、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。(本题14分)3、编写程序:创建一个长度为n的链表,然后反向输出该链表。(本题16分)参考答案一、单项选择题1、A【解析】ASCII码值(用十进制表示)分别为:空格对应32,0对应48,A对应65,a对应97。2、A3、C4、B5、D6、A7、B【解析】二维数组A[0:8,1:10],设起始地址为0,数组元素A[i,j]按行存储公式为:Loc(A[i,j])=Ll+(i-l)XU2Xd+(j-l)Xd,数组元素A[i,j]按列存储公式为:Loc(A[i,j])=Ll+(j-l)XU2Xd+(i-l)Xd,可得i=3,j=10»8、D9、D【解析】字符'\0'为字符串结束标识位。10、D11、D【解析】InputBox函数返回的字符串值必须赋予一个变量才能被保留,它一次只能输入一个值。变量x的值为“10”。12、D【解析】if判断条件的值只能是0或非0,if(a)就是if(!0)的意思。13、C【解析】程序中a,b的值都没有改变,所以最后两个输出值分别为7、8,程序中第三条语句执行了p和q的值的改变,即将P、q中的值互换。14、A15、C16、A17、B18、D19、B【解析】对长度为n的线性表进行快速排序,最坏情况下需要比较的次数为n(n-l)/2.数组属于线性表,故对长度为8的数组进行快速排序,最多需要的比较次数为8(87)/2=28.本题答案为B选项。20、D二、填空题1、['double(双精度型)’]2、[/*,*/]3、4x+=5goto6、2,47、[1]函数声明【2】函数体returnarraya:123456arrayb:14253610、11三、编程题1、#include<stdio.h>intage(intn)(if(n==1)return10;elsereturnage(n-1)+2;)intmain(void)(intn;n=age(5);printfC%d\n,z,n);return0;【解析】利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。。2、程序分析:抓住分子与分母的变化规律。程序源代码:main()intn,t,number=20;floata=2,b=l,s=0;for(n=l;n<=number;n++)(s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键*/)printf(z/sumis%9.6f\n〃,s);)3、#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedefstructLNode{int data;structLNode*next;}LNode,*LinkList;LinkListCreateList(intn);voidprint(LinkListh);intmain()(LinkListHead二NULL;intn;scanf&n);Head=CreateList(n);printf(〃刚刚建立的各个链表元素的值为:\n〃);print(Head);printf(〃\n\n");system("pause");return0;)LinkListCreateList(intn)(LinkListL,p,q;inti;L=(LNode*)malloc(sizeof(LNode));if(!L)return0;L->next=NULL;q=L;for(i=l;i<=n;i++)(p=(LinkList)malloc(sizeof(LNode));printf(〃请输入第%d个元素的值:〃,i);scanf(z,%d,z,&(p->data));p->next=NULL;q->next=p;q=p;)returnL;)voidprint(LinkListh)(LinkListp=h->next;while(p!=NULL){printf(z/%d”,p->data);p=p->next;安徽建筑大学c语言冲刺卷(四)一、单项选择题(共20题,每小题2分,共40分)1、已知大写字母a的ascii码是65,小写字母a的acsii码是97。下列能将变量c中的大写字母转换为对应小写字母的语句是oA、c=(c」A')%26+'A'C=c+32C、c=c」A'+'A'D、c=('A'+C)%26—'a'2、以下不正确的定义语句是cA、doublex[5]={2.0,4.0,6.0,8.0,10.0);B、inty[5]={0,1,3,5,7,9};C、char=D、charc2[]={'\xl0','\xa','\x8'};3、switch语句中表达式(expression)的值不允许用的类型是。A、byteB、intbooleanchar4、程序段如下:则以下说法中不正确的是:。^include<stdio.h>main()(intk=2,;while(k<7)(if(k%2){k=k+3;printf("k=%d\n”,k);continue;k=k+l;printf("k=%d\n*,k);A、k=k+3;执行一次B、k=k+l;执行2次C、执行后k值为7D、循环体只执行一次5、以下函数funcO的功能是:使具有n个元素的一维数组b的每个元素的值都增加2,划线处应填入.func(intb[],intn)(int;for(i=0;i<n;i++);)A、b[i++]B、b[i]++b[i+=2]D、b[i]+=26、在c语言中,全局变量的存储类别是.staticexternvoidregiste7、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是A、8,a,ZB、a,8,ZC、a,Z,8D、8,Z,a8、二进制数oionoioi转换错误的为:A、转换为八进制为265B、转换为十六进制为0xB5C、转换为十进制为奇数D、转换为十进制数为偶数9、有以下程序voidfun(chars[][10],intn)(chart;inti,j;for(i=0;i<N-l;I++)for(j=i+Lj<N;J++)}/*比较字符串的首字符大小,并交换字符串的首字符*/if(s[i][O])>s[j][O]){t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;)main()(charss[5][10]={"bcc","bbcc","xy","aaaacc","aabcc”);fun(ss,5);printf(n%s,%s”,ss[0],ss[4]);)程序运行结果是。xy,aaaaccaaaacc,xyXCC,aabccace,xabcc10,若有说明:inta[][4]={1,1}则以下叙述正确的是。A、数据a中第一行各元素的初值均为1B、数组a中每个元素均可得到初值1C、只有元素a[0][0]和可得到初值1D、只有元素a[0][0]和a[lH0]可得到初值111、下面说法正确的是。A、只要程序使用基本结构编写,运行时就不会出错B、MAIN。函数是每一个C语言程序必须定义的C、任何函数只能有一种基本结构D、任何复杂问题都可以只使用三种基本结构来解决12、下面叙述正确的是oA,只要是简单算法,它的操作步骤都不会超过20步B、任何算法需要包含三种基本结构中的两种以上C、复杂算法是不能用三种基本结构来表达的D、C语言程序的语句经过编译和链接转换成二进制机器指令后才能执行13^函数调用strcat(strcpy(strl,str2),str3)的功能是。A、将字符串strl复制到字符串str2中后再连接到字符串str3之后B、将字符串strl连接到字符串str2之后再复制到字符串str3之后C、将字符串str2复制到字符串strl之后再将字符串str3连接到字符串strl之后D、将字符串str2连接到字符串strl之后再将字符串strl复制到字符串str3中14、有如下定义structpersoncharname[9];intage;};structpersonclass[10]={〃johu〃,17,〃paul”,19,〃mary〃,18,“adam〃,16);根据上述定义,能输出字母m的语句是oA、prinft ( 〃 %c\nz, , class[3]. name);B、printf ( " %c\n" , class[3]. name[l]);C、prinft ( 〃 %c\n〃, class[2]. name[l]);D、printf ( " %c\n" , class[2]. name[0]);15、有以下程序#include<stdio.h>intfun(){staticintx=l;x+=l;returnx;}main(){inti;s=l;for(i=l;i<=5;i++)s+=fun();printf(〃%d\n”,s);}程序运行后的输出结果是oA、11B、21C、6D、12016、有以下程序#include<stdio.h>main()(inti,j,x=0;for(i=0;i<2;i++)x++;for(j=0;j<=3;j++)if(j%2)continue;x++;x++;)printf("x=%d\n”,x);)程序执行后的输出结果是oA^x=8B、x=4C、x=6D、x=1217、以下scanf函数调用语句中不正确的是structpupil(charname[20];intage;intsex;)pup[5],*p=pup;A、scanfpup[0].name);B、scanf &pup[0].age);C、scanf p->age);D、scanf &(p->sex));18、有以下程序voidsum(inta口)(a[0]=a[-l]+a[l];)main()(inta[10]={l,2,3,4,5,6,7,8,9,10);sum(&a[2]);printf("%d\n",a[2]);)程序运行后的输出结果是oA、6B、7C、5D、819、已知有数组定义chara[3][4];下列表达式中错误的是。A、a[2]=*WIN*B、strcpy(a[2],"WIN")C、a[2][3]=W'D、a[O][l]=a[O][l]20、staticstruct(intal;floata2;chara3;)aE10]={l,3.5,'a'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是oa[l]a[-l]a[0]a[10]二、填空题(共10题,每小题2分,共20分)1、若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a的值为b的值为C的值为O2、%d怎么实现(两位数)左右对齐3、设a=3,b=2,c=l,则a>b>c的值为。4、在c语言中,用转义字符\'表示o答题提示:双引号/单引号/反斜线/横向跳格/回车换行5、下列程序段的运行结果是omain()intn,s=0;for(n=l;n<=6;n++)(if(n%3==0)continue;s=s+n;)printf(,z%d\n,z,s);)6、有以下程序#include<stdio.h>main()(inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intb[3]={0},i;for(i=0;i<3;i++)b[i]=a[i][2]+a[2][i];for(i=0;i<3;i++)printf("%d",b[i]);printf("\n");)程序运行后的结果是o7、字符串函数 用于把一个字符串写入指定的磁盘文件中8、设有如下宏定义^defineMYSWAP(z,x,y)y=z;)以下程序段通过宏调用实现变量a、b内容交换,请填空。floata=5,b=16,c;MYSWAP(,a,b);9、当执行以下程序时,如果输入abc,则输出结果是:^include<stdio.h>ttinclude<string.h>voidmain()(charss[10]="l,2,3,4,5”;gets(ss);strcat(ss,“6789”);printf("%s\n〃,ss);10、从键盘上输入10个数,求其平均值,填空main(){inti;floatf,sum;for(i=l,sum=0.0;i<ll;i++)printf(zzaverage=%f\n,z,sum/10);三、编程题(共3题,共40分)1、求出10至1000之内能同时被2、3、7整除的数,并输出。(本题10分)2、编程判断输入的字符串是否为“回文"。所谓“回文”是指顺读和倒读都一样,如abcba。(本题14分)3、题目描述输入一组学生的成绩,按照成绩降序输出成绩表。如有相同成绩,较小的学号排位靠前输入输入格式为每行两个数值,学号N为10位数字,成绩S取值为整数(0WSW100)读取输入直到输入结束(数据总量不超过50行,且不会出现重复的学号)输出输出格式为每行两个数值,学号N之后有一个空格,成绩值的输出宽度占3个位置样例输入201701040578201701042680201701040261201701037795201701042780样例输出(本题16分)参考答案一、单项选择题1、B2、B3、C【解析】switch语句用于多重选择,其参数可以是字节型、整型或字符型;而布尔型只有两个值(True、False),一般用于if语句。4、D5、D6、A7、D【解析】在ASCH码袁中,根据码值由小到大的排列顺序是:控制符、数字符、大写英文字母、小写英文字母。8、D9、D10、C【解析】根据数组的定义语句:inta[][4]={1,1}可知,此数组为1行4列的二维数组,a[0][0]=l,a[0][l]=l,a[0][2]=0,a[0][3]=0本题答案为C选项。11、D【解析】程序错误分为语法错误和逻辑错误,使用基本结构编写的程序不能保证其没有语法或逻辑错误,选项A错误;是mainO不是MAIN,选项B错误;函数可以有多种基本结构,选项C错误;根据结构化编程的思想,三种基本结构组成的算法可以解决任何问题,选项D正确;本题答案为D12、D13、C14、D15、B16、C【解析】本题考查的是for循环的嵌套。外循环的循环变量i从0递增到1会循环2次17、C18、A19、A【解析】本题考查数组的基本知识,B、C、D在C语言中都是允许的,A选项的赋值是非法的。20、C二、填空题1、6422、%2d和%-2d|3、14、单引号5、126、「101418']7^fputsSfputs()8、c9、abc6789【解析】gets函数将使用字符串“ABC”覆盖原来的“12345”字符串,然后再将字符串“6789”连接到“ABC”上,故输出为“ABC6789”。10>[9scanf&f)','sum+=f']三、编程题1、#include“stdio.h"main(){inti;for(i=10;i<=1000;i++)if(i%2=0&&i%3==0&&说7=0)printfi);printf("\n");)2、ttincludevoidmain()(inti,n;chara[20];printf(〃请输入字符串:〃);gets(a);n=strlen(a);for(i=0;i=n)printf("是回文.\n");)3、#include<stdio.h>#include<string.h>constintN=50+5;typedefstructstudent{charno[15];intscore;}STU;voidswap(STU*,STU*);voidbubbleSort(STU[],int);intmain(){STUstu[N];intn=0;while(scanf("%s%d”,stu[n].no,&stu[n].score)[=EOF)n++;bubbleSort(stu,n);for(inti=0;i<n;i++){printf(/z%s%3d\n/z,stu[i].no,stu[i].score);)returnO;)voidswap(STU*x,STU*y){STUt;strcpy(t.no,x->no);strcpy(x->no,y->no);strcpy(y->no,t.no);t.score=x->score;x->score=y->score;y->score=t.score;)voidbubbleSort(STUa[],intn){for(inti=1;i<n;i++){for(intj=0;j<n-i;j++){if(a[j].score<a[j+1].score){swap(&aEj],&a[j+1]);)if(a[j].score==a[j+1].score){if(strcmp(a[j].no,a[j+1].no)>0){swap(&a[j],&a[j+1]);安徽建筑大学c语言冲刺卷(五)一、单项选择题(共20题,每小题2分,共40分)1、与十进制数200等值的十六进制数为oA、A8B、A4C、C8D、C42、有以下定义语句,编译时会出现编译错误的是.A、chara='a';B、chara='\n';C、chara=*aa';D、chara-\x2d';3、下列叙述中正确的是oA、程序执行的效率与数据的存储结构密切相关B、程序执行的效率只取决于程序的控制结构C、程序执行的效率只取决于所处理的数据量D、以上三种说法都不对4、有如下程序#include<stdio.h>voidmain()(intx=23;do(printf("%d”,x-);)while(!x);)该程序的执行结果是oA、321B、23C、不输出任何内容D、陷入死循环5、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是ointavg(int*a,intn);intavg(inta[10],intn);intavg(inta,intn);D、intavg(inta口,intn);6、inta=3,b=2,c=l;if(a>b>c)a=b;elsea=c;则a的值为—A、3B、2C、1D、07、下面说明不正确的是。chara[10]="china”;chara[10],*p=a;p="china”char*a;a="china”;D>chara[10],*P;P=a="china”8、有以下程序main(){inti,s=0;for(i=l;i<10;i+=2)s+=i+l;printf(//%d\n,/,s);)程序执行后的输出结果是。A,自然数1〜9的累加和B、自然数1〜10的累加和C、自然数1〜9中的奇数之和D、自然数1〜10中的偶数之和9、设有两个字符串P和q,其中q是P的子串,把q在P中首次出现的位置作为子串q在p中位置的算法称为(43)oA、求子串B、匹配C,连接D、求串长10,有以下程序main()chars[]="\nl23\\";printf("%d,%d\n”,strlen(s),sizeof(s));)执行后输出结果是oA、赋初值的字符串有错B、6,7C、5,6D、6,611、下面程序的输出结果是o#include<stdio.h>intx=l;voidmainO(intx=2;printf("%d,”,x);if(x=l){intx=4;printf(“为d,",x++);}printf("%d”,x++);}A、2,21,1,22,4,3D、2,312、两个或两个以上模块之间联系的紧密程度称为()。A、耦合性B,内聚性C、复杂性D、数据传输特性13、下列能正确定义字符串的语句是。A、charstr[]='\64';charstr="kx43";charstr=";D、charstr[]="\0";14、以下对枚举类型名的定义中正确的是。A、enuma={sum,mon,tue};B、enuma{sum=9,mon=-l,tue);c 「〃 〃〃 〃〃上 〃1C、enuma=tsum,mon,tue);enuma[sum,mon,tue/;15、下列程序的运行结果是。main()(staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(j>i)sum+=a[i][j];printfC'sum=%d\n,',sum);)A、40B、36C、24D、3016、关于循环体while的说法下列正确的是oA、循环体的执行次数总比条件表达式多一次B、循环体的执行次数总比条件表达式少一次C、循环体的执行次数与条件表达式无关D、循环体的执行次数与条件表达式相等17、设有以下语句typedefstructs{intg;charh;)t;则下面叙述中正确的是oA、可用S定义结构体变量B、可以用T定义结构体变量C、S是struct类型的变量D、T是structS类型的变量18、下面程序的输出结果是omain()(char*pl="abc〃,*p2="abc”,str[50]="xyz";strcpy(str+2,strcat(pl,p2));printf("%s\n",str);)A,xyzabcABCzabcABCxyabcABCyzabcABC19、对二维数组的正确定义是.A、inta[][]={1,2,3,4,5,6);B,inta[2][]={1,2,3,4,5,6);C、inta[][3]={1,2,3,4,5,6};D、inta[2,3]={1,2,3,4,5,6);20、c语言中的基本数据类型包括A、整型、实型、字符型B、整型、字符型、数组C、整型、实型、逻辑型D、整型、实型、结构体二、填空题(共10题,每小题2分,共20分)1、c语言变量按其作用域分为全局变量和局部变量。按其生存期分为存储和存储。2、若a是int型变量,则计算下表达式a=25/3%3后,a的值为3、访问变量的方式有和4、c允许用一种特殊形式的字符常量,就是以字符'开头的字符序列,称为5、执行下列程序段后,输出的a的值是omain()(inta=1;switch(a)case0:a一一;break;a++;break;a=a+5;break)printf("%d”,a);)6、以下程序的输出结果是.main()(inta=10,b;if(a<0)b=-l;elseb=l;printfb);)7、函数实参的传递分为8、函数strlen("1234\0xy")的值为:。9、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:abcdefghijklmno请填空完成该程序。main(){inti,j,n;charch='a';scanf("%d",&n);if(n<ll)(for(i=l;i<=n;i++)(for(j=l;j<=n-i+l;j++))elseprintf(z,nistoolarge!\nz,)printf(〃\n〃);10、以下程序的输出结果是omain()(intx=5,y=6;printf("%daa%d〃,++x,y );)三、编程题(共3题,共40分)1、编写程序:求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7的第40项。(本题10分)2、编写程序:打印出所有的“水仙花数",所谓''水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数”,因为153=1的三次方+5的三次方+3的三次方。(本题14分)3、题目描述万里十佳歌手比赛终于开始了,评委席坐了N(N大于等于3,并且N小于80)个评委,他们商量了很久,终于找出一个公正合理的评分方法。每次歌手唱完后,每个评委自己打一个分,然后在N个评委的打分中,去掉一个最高分,一个最低分。然后再把剩下的评委的打分求平均值〜。但是问题是他们嫌每次拿计算器按实在太烦。作为一名计算机专业学生〜你用个程序帮帮他们搞定吧。输入输入有多组数据。每组2行,第一行是一个N,代表有N个评委。然后第二行有N个数,每个数用空格隔开,代表每个评委的打分。当输入的N为0的时候结束输入。输出对于每组输入,输入最终这个选手的得分(小数点后面保留2位有效数字)。样例输入3743634716972726749688样例输出36.0062.20(本题16分)参考答案一、单项选择题1、C【解析】十进制转换成十六进制,只需要将十进制数反复除16,直到商小于16为止,每次的余数和最后小于16的商依次是十六进制的从低到高的各位数。本题200/16=12余8,12是十六进制的C,所以十六进制数应该是C8,正确答案是选项Co2、C3、A【解析】程序执行的实际计算工作量不仅与程序的控制结构有一定的关系,还与处理的数据量有关,与数据的存储结构密切相关。所以,选项A正确,选项B和C错误。所以,本题的正确答案为A。4、B5、C6、C7、D【解析】C语言中操作一个字符串常量的方法有:①将字符串常量存放在一个字符数组之中;②用字符指针指向字符串,然后通过字符指针来防问字符串存储区域。当字符串常量在表达式中出现时,根据数组的类型转换规则,将其转换成字符指针。本题D)项中错误的关键是对数组初始化时,可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。8、D9、B【解析】本题考查对字符串进行处理的算法。求子串是在一个主字符串中按一定的规则取出任意个连续的字符得到一个新串。匹配是指求一个字符串是另一个字符串的子串,并返回子串首次出现的位置。连接是指把一个字符串的内容连接到另一个足够大的字符串的末尾。求串长就是统计字符串中有效字符的个数。10、C【解析】本题在定义字符数组时没有定义数组长度,但是给数组赋了初值,这时初值的个数即为数组的长度,故数组长度为6(包括'\0')。字符串的长度为有效字符的个数5。因此printf语句中输出的结果为5,6。11、A【解析】虽然全局变量的作用域是整个程序,但如果某个函数或语句块中又声明了同名的局部变量,则全局变量被屏蔽,在该函数或语句块中所用到的该变量都是那个同名的局部变量。所以,本题程序第二行定义的全局变量intx=l;可完全忽略,故程序输出结果为2,2,故应该选择A。12、A13、D【解析】字符串常量是用一对双括号括起来的一串字符。它用字符数组来存放,不能用一对大括号对括起来。14、B15、B16、B17、A18,C19、C20、A二、填空题1、['动态','静态']2、23、直接访问间接访问4、换行5、26、17、值传递和址传递8、99、['ch++','printf("\\n");10、6aa6三、编程题1、所有奇数项相加大于等于40时的奇数即为所求项#include<stdio.h>voidmain()(inti=l,s=0,k=0;for(intn=0,x=0;n<40;i+=2,n+=i)s=s+i*i;k=i;))s=s+k+2;printf("i=:%d,s=%d”,i,s);getchar();)2、#include<stdio.h>intmain()(inti,x,y,z;for(i=100;i<1000;i++){x=i%10;y=i/10%10;z=i/100%10;if(i==(x*x*x+y*y*y+z*z*z))printf(〃%d\n”,i);return0;【解析】利用for循环控制100-999个数,每个数分解出个位,十位,百位。3、#include<stdio.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论