C语言习题

合集下载

C语言练习题及其答案

C语言练习题及其答案

C语言练习题及其答案C语言练习题及其答案C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言能以简易的方式编译、处理低级存储器。

下面是店铺帮大家整理的C语言练习题及其答案,仅供参考,大家一起来看看吧。

C语言练习题及其答案1一、选择题(7分,每小题0.5分)1.C语言源程序的基本单位是(B)。

A过程 B函数 C子程序 D标识符2.下列程序的输出结果是(C)。

main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。

A 7B 8 C9 D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是(C)。

int k=10;while(k=0) k=k-1;A循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。

A p="abcd";B a="abcd";C *p="abcd";D *a="abcd";13.设有以下程序段,则值为6的表达式是()。

struct st { int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,0},*p;p=&a[0];A p++->nB ++p->nC p->n++D (*p).n++14.C语言中的文件类型只有()。

c语言习题(带答案)

c语言习题(带答案)

一、选择1若有表达式(a)(--x):(++y),则其中与a等价的表达式是A)a==1B)a==0C)a!=1D)a!=02有以下程序段intx,y,z;x=10;y=50;z=30;if(x>y)x=y,y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);程序的输出结果是A)x=10y=50z=10B)x=10y=50z=30C)x=10y=30z=10D)x=50y=30z=503下面的函数调用语句中func函数的实参个数是f(f2(u1,u2),(u3,u4),(u6,max(u7,u8)));A)3B)4C)5D)84 以下叙述中错误的是A)用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达6有以下程序#include<>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={11,12,13,14,15,16,17,18,19,20},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的运行结果是A)11,12,13,14,15,16,17,18,19,20B)12,11,14,13,16,15,18,17,20,19C)20,19,18,17,16,15,14,13,12,11D)20,11,12,13,14,15,16,17,18,198有以下程序main(){ int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf("%d,%d,%d,%d\n",*p,"q,a,b);}程序运行后的输出结果是A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,79 .s1和s2已正确定义并分别指向两个字符串。

c语言基础练习题及答案

c语言基础练习题及答案

c 语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A 、”.c” B、“ .obj ” C、“ .exe” D 、“ .bas”2. 以下选项中不正确的整型常量是_c ______ 。

A、12L B 、-10 c、1,900 D、123U3. 表达式___c___ 的值是0。

A、3%5B、3/5.0 c、3/5 D、3<54. 表达式!(x>0||y>0) 等价于__D___ 。

A 、!x>0||!y>0B 、!(x>0)||!(y>0) c 、!x>0&&!y>0 D 、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D ____ 不符合c 语言语法。

A、4&&3 B 、+a c、a=b=5 D 、int(3. 1 4)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3) ;时,___BA 、2030,40 B、20 30 40 c、20, 30 40 D 、20, 30,407. 执行语句printf( ” __D ____ ” , 2); 将得到出错信息。

A、%dB、%o c、%x D 、%f8. 设变量定义为"int s[ ]=hello\nworld\n; ”则数组s中有—B __________ 个元素。

A、12B、13 c、14 D、159. 设变量定义为“ int a[2]={1,3}, *p=&a[0]+1; ” 则*p 的值是___B_。

A、2B、3 c、4 D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A________ 。

A、-(k++) B 、(-k)++ c、-(k+1) D、-(++k)11. 在c 语言程序中,在函数内部定义的变量称为__D ____ 。

《C语言》练习题及答案解析

《C语言》练习题及答案解析

《C语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。

A.abc123 B.no.1 C._123_ D._ok2.一个C语言源程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3. 正确的C语言标识符是(A )。

A._buy_2 B.2_buy C.?_buy D.buy?4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。

A.’D’B.68 C.不确定的值D.’C’5.下列说法中,错误的是(A)。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。

(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=37.在C语言中,char型数据在内存中的存储形式是(D)。

A.补码B.反码C.原码D.ASCII码8. 下列符号中,不属于转义字符的是(B )。

A.\\ B.\0xAA C.\t D.\09. 不属于C语言关键字的是(D)。

A.int B.break C.while D.character10. 以下说法中正确的是(C)。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分11. C语言程序的基本单位是(C)。

c语言练习题

c语言练习题
2-6:36个人搬36块砖,男人一人搬3块,女人一人搬1块,小孩2人搬一块,问男人,女人,小孩各多少人?
2-7:将一元钱分成一分,二分,五分币,共有多少种方法?
三、简单的判断问题
3-1:输入一个数n,判断该数是不是偶数,是偶数输出Y,不是偶数输出N
3-2:输入3-12之间的一个数,输出该月有几天。
四、累加问题与累乘问题
18.1乒乓球
这是一份乒乓球比赛的信息记录。
WWWLLLLWWLLWLWLLLLW
W代表你得一分,L代表对手得一分。
编写程序,由键盘输入比赛信息(WL字符串形式),输出当前的比分,你的分数在前,中间以冒号分隔。
例如,对于上面的信息记录,应当输出
8:11
18.2陶陶摘苹果
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。例如:对于输入100 200 150 140 129 134 167 198 200 111 110,应当输出5
**
****
******
********
**********
1-6:编写程序,输出以下图形。
*
***
*****
*******
*********
1-7:编写程序,输出以下图形。
*
***
*****
*******
*********
1-8:编写程序,输出以下图形。(教材130页6.14)
*
***
*****

C语言练习题(带详解答案)

C语言练习题(带详解答案)

C语言练习题(带详解答案)一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

C语言习题集(含答案).

C语言习题集(含答案).

一、单选题:(1) 在C语言提供的合法的关键字是()A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)'\084' B) '\x43'C)'ab' D) "\0"(3)若有定义和语句:char s[10]: s="abcd"; printf("%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p, a=10, b=20;pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10, 20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010, v=0x10,w=10;printf("%d,%d,%d\n", u, v, w);则输出结果是( )A) 8,16,10B) 10,10,10 C)8, 8,10 D) 8,10,10(6) 若有以下定义和语句char c1=' b', c2='e';printf("%d,%c\n", c2-c1,c2-'a'+"A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7) 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是( )A) ps+2 B) s[2] C) ps[2] D) ps+=2,*ps(8) 若i, j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )for (i=5; i; i--)for(j=0; j<4; j++) {...}A) 20B) 25 C) 24 D) 30(9)若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是( )A) 4B) 5 C) 9 D) 10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )A) *p B) a[10]C)*a D) a[p-a](11)下面程序的输出是( )main( ){ char *s="121";int k=0, a=0, b=0;do{k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0'; a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C) k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main( ){ unsigned a=32768;printf("a=%d\n", a);} 运行结果:-32768A)a=-32768 B)a=32767C)a=-32767 D)a=-1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){ case1.0: printf("*\n"); { case1, 2: printf("*\n");case2.0: printf("**\n"); case3: printf("**\n");} }C) switch (a+b)D) switch (a+b);{ case 1: printf("\n"); { case 1: printf("*\n");case 1+2: printf("**\n"); case 2: printf("**\n");} }(14) 以下程序输出的结果是( )main( ){ char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"}, k;for (k=1;k<3;k++)printf("%s\n",&w[k][k]);}A) ABCD B) ABCDFGH EFGKL IJMC) EFG D) FGHJK KLO(15)若数组名作实参而指针变量作形参,函数调用实参传给形参的是( )A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是( )A) %=B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )A) 1 B) 2 C) 2.0 D) 2.5(19) 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( )A) 0 B) 0.5 C) 1 D) 2(21) 有如下程序main( ){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( )A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )A) a>=10 or a<=0 B) a>=0|a<=10C) a>=10 &&a<=0 D) a>=10 || a<=0main( ){ int x=1, a=0, b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++; b++; }printf(“a=%d,b=%d\n”,a,b); }该程序的输出结果是( )A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main( ){ float x=2.0, y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y); }该程序的输出结果是( )A) 0.000000 B) 0.250000 C) 0.500000D) 1.000000(26) 有如下程序main( ){ int i, sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是( )A) 6 B) 3 C) 死循环D) 0main ( ){ int x=23;do{ printf(“%d”,x--);} while(!x); }该程序的执行结果是( )A) 321 B) 23C) 不输出任何内容D) 陷入死循环(28) 有如下程序main( ){ int n=9;while(n>6) {n--; printf(“%d”,n); } }该程序段的输出结果是( )A) 987 B) 876C) 8765 D) 9876(29) 设有说明语句:char a=’\72’;则变量a( )A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int func(int a,int b){ return(a+b); }main( ){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r); }该程序的输出的结果是( )A) 12 B) 13 C) 14 D) 15int *p, a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是( )A) < B) = C) + D) -(34) 有如下程序long fib(int n){ if (n>2) return(fib(n-1)+fib(n-2));else return(2);}main( ){ printf(“%d\n”, fib(3)); }该程序的输出结果是( )A) 2 B) 4 C) 6 D) 8(35) 在C语言中,函数的隐含存储类别是( )A) auto B) static C) extern D) 无存储类别(36) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main( ){ int i;for(i=1;i<=NUM;i++) printf(“%d\n”,i);}该程序中的for循环执行的次数是( )A) 5 B) 6C) 7 D) 8char fun(char *p){ return p; }该函数的返回值是( )A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(38) 有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为( )A) true B) false C) 0 D) 1(39) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;则数值为9的表达式是( )A) *p+9 B) *(p+8) C) *p+=9 D) p+8(40) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( )A) &t[3][2] B) t[3] C) t[1] D) t[2](41) 有如下程序main( ){ char ch[2][5]={“6937”,”8254”}, *p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’; j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s); }该程序的输出结果是( )A) 69825 B) 63825 C) 6385 D) 693825(42)若有以下的定义:int a[ ]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表式是( )A) p+=2, *(p++) B) p+=2,*++pC) p+=3, *p++ D) p+=2,++*p(43)假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0; x=35;if (!a) x--;else if(b) ; if(c) x=3; else x=4;A)34 B)4 C)35 D)3(44)在以下一组运算符中,优先级最高的运算符是( )A)<= B)= C)%D)&&(45)若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w;则对w数组元素非法引用是( )A)*(w[0]+2) =*w[0][2]B)*(pw+1)[2]C)pw[0][0] =*w[0][0]D)*(pw[1]+2) =*w[1][2](46)若有以下程序片段:char str[ ]="ab\n\012\\\"";printf("%d\n", strlen(str));上面程序片段的输出结果是( )A)3 B)4 C)6D)12(47)函数调用strcat(strcpy(str1,str2),str3)的功能是( )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(48)以下对C语言函数的有关描述中,正确的是( )A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用解释:C函数可以递归调用,但不允许嵌套定义C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中(49) 以下叙述中不正确的是( )A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.B) 在C中,调用函数时,实在参数和对应形参在类型上只需赋值兼容.C) 在C中, 外部变量的隐含类别是自动存储类别.D)在C中, 函数形参可以说明为register变量.(50) 以下程序的输出结果是( )#define sub1(char a, char b) {char c; c=a;a=b;b=c;}#define sub2(char *a, char b) {char c; c=*a;*a=b;b=c;}#define sub3(char *a, char *b) {char c; c=*a;*a=*b;*b=c;}main( ){ char a,b;a='A';b='B';sub3(&a,&b);putchar(a); putchar(b);a='A';b='B';sub2(&a,b);putchar(a); putchar(b);a='A';b='B';sub1(a,b);putchar(a);putchar(b);}A) BABBAB B) ABBBBAC) BABABA D) BAABBA(51)错误的转义字符是( )A) '\091'B) '\\' C) '\0' D) '\''(52)设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b 和c的值分别是( )A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3(53) 在C语言中,错误的常数是( )A) 1E+0.0B) 5 C) 0xaf D) 0L( 54) 设int k; 则语句for(k=0; k=1; k++);和语句for(k=0; k==1;k++);执行的次数分别是( )A) 无限和0B) 0和无限C) 都是无限D) 都是0(55)某文件中定义的静态全局变量(或称静态外部变量)其作用域是( )A) 只限某个函数B) 本文件C) 跨文件D)不限制作用域二、程序填空题:(10) 函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)现在请你在下面的函数中填空,完成求π的功能。

C语言练习题及答案

C语言练习题及答案

综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。

A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A)C)356e39、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。

c语言习题及详解答案

c语言习题及详解答案

c语言习题及详解答案C语言是一种广泛使用的编程语言,以其结构化、可移植和高效性而著称。

以下是一些C语言的习题以及相应的详解答案。

# 习题1:求和问题编写一个C程序,输入两个整数,输出它们的和。

解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;}```# 习题2:判断素数编写一个C程序,判断一个整数是否为素数。

解答:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num);}return 0;}```# 习题3:字符串反转编写一个C程序,输入一个字符串,然后输出它的反转。

解答:```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```# 习题4:数组排序编写一个C程序,输入一个整数数组,然后使用冒泡排序算法对其进行排序。

c语言习题册及答案

c语言习题册及答案

第3章课后练习及作业习题指导(参考答案)作业01 C语言基础知识一、选择题1.C语言程序的基本单位是()。

A)函数 B)过程 C)子程序 D)子例程2.下列个选项中,合法的C语言关键字是()。

A)integer B)sin C)string D)void3.下列选项中,不是C语言提供的合法关键字的是()。

A)switch B)cher C)default D)case4.以下选项中合法的用户标识符是()。

A)int B)a# C)5mem D)_2435.C语言程序一行写不下时,应该()。

A)用回车换行 B)在任意空格处换行C)用分号换行 D)用逗号换行6.在C程序中,可以作为用户标识符的一组标识符是()。

A)void define WORD B)as_b3 _224 ElseC)switch —wer case D)4b DO SIG7.在C语言中,下列合法的字符常量是()。

A)’\039 B)’\x76’ C)’ab’ D)’\o’8.以下说法正确的是()。

A)C语言程序是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序是从main()函数开始执行的D)C语言程序中的main()函数必须放在程序的开始部分9.()是构成C语言程序的基本单位A)函数 B)变量 C)子程序 D)语句10.一个C语言程序总是从()开始执行的A)主过程B)主函数 C)子程序 D)主程序11.以下叙述不正确的是()A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main()函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面12.C语言规定:在一个源程序中,main()函数的位置()A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后13.以下叙述正确的是()A)在C程序中,main()函数必须位于程序的最前面B)C程序中的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误14.C语言中标识符只能由字母、数字和下划线3种字符组成,且第一个字符()A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任意一种字符二、填空题1.一个C语言编写的程序是从main函数开始执行的。

(完整版)C语言100个经典题目

(完整版)C语言100个经典题目

C语言程序设计习题授课对象:信息奥赛辅导成员授课时间:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…。

___________________________________________________________________程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf(“%12ld %12ld”,f1,f2);if(i%2==0)printf(“\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!题目:判断101—200之间有多少个素数,并输出所有素数。

__________________________________________________________________程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

___________________________________________________________________程序源代码:#include “math。

h”main(){int m,i,k,h=0,leap=1;p rintf(“\n”);for(m=101;m〈=200;m++){ k=sqrt(m+1);for(i=2;i〈=k;i++)if(m%i==0){leap=0;break;}if(leap){printf(“%-4d”,m);h++;if(h%10==0)printf(“\n");}leap=1;}printf(“\nThe total is %d”,h);}题目:打印出所有的“水仙花数",所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

C语言各章节练习题(含答案)

C语言各章节练习题(含答案)

C语言各章节练习题(含答案)一、c语言概述练习题选择1.一个c程序的执行是从。

a)本程序的main函数开始,到main函数结束b)本程序文件的第一个函数已经开始,至本程序文件的最后一个函数完结c)本程序文件的第一个函数已经开始,至本程序main函数完结d)本程序的main函数已经开始,至本程序文件的最后一个函数完结2.以下描述不恰当的就是。

a)一个c源程序必须包含一个main函数b)一个c源程序可由一个或多个函数组成c)c程序的基本组成单位是函数d)在c程序中,注释说明只能位于一条语句的后面3.以下描述恰当的就是。

a)在对一个c程序进行编译的过程中,可发现注释中的拼写错误b)在c程序中,main 函数必须位于程序的最前面c)c语言本身没输入输出语句d)c程序的每行中就可以写下一条语句4.一个c语言程序就是由。

a)一个主程序和若干个子程序组成b)函数组成c)若干过程组成d)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。

a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。

(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。

a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。

-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。

C语言练习题(带答案)

C语言练习题(带答案)

一、单项选择题1、(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2、C语言程序从C开始执行、A) 程序中第一条可执行语句B) 程序中第一个函数C)程序中的main函数D)包罗文件中的第一个函数3、以下讲法中正确的是(C)、A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4、下列关于C语言的讲法错误的是( B ) 、A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5、下列正确的标识符是(C )、A、-a1B、a[i]C、a2_iD、intt6、下列C语言用户标识符中合法的是(B)。

A)3ax B)xC)caseD)—e2E)union7、下列四组选项中,正确的C语言标识符是(C)、A) %xB) a+b C)a123 D) 1238、下列四组字符串中都能够用作C语言程序中的标识符的是( A )。

A、print_3d db8 aBc B、I\amone_half start$it3paiC、str_1 Cpp powwhileD、PxqMy—>book line#His、ag e9、C语言中的简单数据类型包括(D)、A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10、在C语言程序中,表达式5%2的结果是C、A)2、5 B)2 C)1D)311、假如int a=3,b=4;则条件表达式"a〈b? a:b”的值是__A__。

A) 3 B) 4C) 0 D) 112、若int x=2,y=3,z=4 则表达式x〈z?y:z的结果是( B)、A)4 B)3C)2 D)0E)113、C语言中,关系表达式与逻辑表达式的值是( B) 、ﻩA) 0 B) 0或1 C) 1 D) ‘T’或’F’14、下面(D)表达式的值为4、A)11/3 B) 11、0/3C)(float)11/3 D) (int)(11、0/3+0、5)15、设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0、5的是( B)A、b=1、0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1、0)16、若“int n;float f=13、8;”,则执行“n=(int)f%3”后,n的值是(A)A、1 B、4C、4、333333D、4、617、以下对一维数组a的正确讲明是: DA) char a(10); ﻩﻩﻩB)int a[];C)int k=5,a[k];D)chara[3]={‘a’,'b','c’};18、以下能对一维数组a进行初始化的语句是:(C)A、inta[5]=(0,1,2,3,4,) B、inta(5)={}C、int a[3]={0,1,2}D、inta{5}={10*1}19、在C语言中对一维整型数组的正确定义为D、A)int a(10);B)int n=10,a[n];C)int n;a[n]; D)#define N10inta[N];20、已知:int a[10]; 则对a数组元素的正确引用是(D)、A、a[10]B、a[3、5]C、a(5) D、a[0]21、若有以下数组讲明,则i=10;a[a[i]]元素数值是(B)。

C语言练习题及参考答案

C语言练习题及参考答案

练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是????? 。

A.? C语言简洁和紧凑B. 能够编制出功能复杂的程序C.? C语言可以直接对硬件进行操作D.? C语言移植性好【答】B(2)一个C程序的执行是从????? 。

A.? main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D.? main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置????? 。

A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由????? 。

A. 一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是????? 。

A. 在执行C程序时不是从main()函数开始的B.? C程序书写格式限制严格,一行内必须写一个语句C.? C程序书写格式比较自由,一个语句可以分行写在多行上D.? C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有?? ①?? 个main()函数和?? ②?? 个其他函数。

【答】①一? ②若干(2)任何C语句必须以????? 结束。

【答】分号(3)C语言源程序的基本单位是????? 。

【答】函数(4)C编译程序的功能是????? 。

【答】将C源程序编译成目标代码练习题2及参考答案1. 单项选择题(1)以下字符串为标识符的是????? 。

A. _MY????????? ??????B. 2_2222?????? ?????? ??????C. short?????? ?????? ??????D. LINE 5【答】A(2)下列符号可以作为变量名的是????? 。

A. +a????? ?????? ??????B. *p?????? ?????? ?????? ??????C. _DAY????? ?????? ??????D. next day【答】C(3)设c是字符变量,则以下表达式正确的是????? 。

C语言经典练习题50道(附答案)

C语言经典练习题50道(附答案)

1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。

#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

C语言练习题(带详解答案)

C语言练习题(带详解答案)

一、编程题1.输入2个整数,求两数的平方和并输出。

#include<stdio.h>intmain(void){intta,b,s;printf("pleaseinputa,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("theresultis%d\n",s);return0;}2.输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include<stdio.h>#definePI3.14intmain(void){doubler,area,girth;printf("pleaseinputr:\n");scanf("%lf",&r);if(r>=0){area=PI*r*r;girth=2*PI*r;printf("theareais%.2f\n",area);printf("thegirthis%.2f\n",girth);}elseprintf("Inputerror!\n");return0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。

2x+1(x<0)y=0(x=0)2x-1(x>0)#include<stdio.h>voidmain(){intx,y;scanf(“%d”,&x);if(x<0)y=2*x+1;elseif(x>0)y=2*x-1;elsey=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥,90等级为A;80≤score<9,0等级为B;70≤score<8,0等级为C;60≤score<7,0等级为D;score<60,等级为E。

c语言程序基础练习题500道(附答案)

c语言程序基础练习题500道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。

A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。

A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。

A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。

A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。

A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。

A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。

A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。

c语言练习题55题

c语言练习题55题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。

2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

3.输入一个正整数求出它是几位数;输出原数和位数。

4.输入一个正整数,输出原数并逆序打印出各位数字。

5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。

6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。

将结果输出。

7.求1!+2!+3!+……+20!,将结果输出。

8.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。

9..打印出100~999之间的所有水仙花数。

10..求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。

11.给出年、月、日,计算该日是该年的第几天。

12.求一个3*3的整型矩阵对角线元素之和。

将原矩阵和求出的和输出。

13.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。

14.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

15.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出16.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。

17..求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。

18.有一篇文章,有三行文字,每行有80个字符。

要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。

19..将20个整数放到一维数组中,输出该数组的最大值和最小值。

20..将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。

21..将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。

22..编写一个程序,将两个字符串连接起来,不要使用strcat函数。

23..编写一个程序,将字符数组a中的全部字符复制到字符数组b中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》习题集第1章C语言概述1.1 c语言程序的总体结构是怎样的。

解:一个完整的c语言程序,是由一个、且只能由一个main()函数(又称主函数)和若干个其他函数结合而成的,或仅由一个main()函数构成。

1.2 c语言程序的基本单位是什么?它的结构又如何?解:函数是c语言程序的基本模块单元。

任何函数(包括主函数main())都是由函数说明和函数体两部分组成。

其一般结构如下:[函数类型] 函数名(函数参数表){ 说明语句部分;执行语句部分;}1.3主函数main()在程序中的地位如何。

程序总是从哪个函数开始执行,到哪个函数执行完后结束?解:main()函数的作用相当于其他高级语言中的主程序;其他函数的作用相当于子程序。

一个c语言程序,总是从main()函数开始执行,而不论其在程序中的位置。

当主函数执行完毕时,亦即程序执行完毕。

习惯上,将主函数main()放在最前头。

1.4 c语言的语句分为哪几类?解:按照语句功能或构成的不同,可将c语言的语句分为五类。

控制语句、函数调用语句、表达式语句、空语句和复合语句。

1.5执行一个c语言程序的一般过程是什么?解:运行一个c语言程序的一般过程,如下图所示。

1)启动Tc,进入Tc集成环境。

2)编辑(或修改)源程序。

3)编译。

如果编译成功,则可进行下一步操作;否则,返回2)修改源程序,再重新编译,直至编译成功。

4)连接。

如果连接成功,则可进行下一步操作;否则,根据系统的错误提示进行相应修改,再重新连接,直至连接成功。

5)运行。

通过观察程序运行结果,验证程序的正确性。

6)退出Tc集成环境,结束本次程序运行。

1.6在Tc集成环境下,下列操作的快捷键分别是什么解:存盘:F2;编译与连接:F9;运行:nF9;查看运行结果:Alt+F5。

第2章数据类型、运算符与表达式2.1 指出下列变量名中,哪些是合法的,哪些是非法的。

如果非法,为什么?Int,char,345,ABdf,c&d,string*,_322,alpf_beat,JOHN.smith,3ab解:ABdf,_322,alpf_beat合法,其它的非法Int,char非法是因为它们都是C语言关键字;345,3ab非法是因为变量名不能以阿拉伯数字开头;c&d,string*,JOHN.smith非法是因为变量名中只能由字母、数字和下划线组成。

2.2 计算下列表达式的值(1)a+b%3*(int)(a-b)/4 (设a=13.6,b=8)(2)(x+y)/2+(int)x%(int)y (设x=4.5,y=2.5)(3)z*=3+6,z/z=z/2,z+=z-=z*=z (设z=6)解:(1) 15.600000;(2)3.500000;(3)0。

第3章顺序结构程序设计3.1 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=…a‟,c2=…b‟。

想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

a=□3□□b=□4□□c=□5x=1.200000,y=2.400000,z=-3.600000x+y=□3.600□□y+z=-1.20□□z+x=-2.40c1=ˊaˊ□or□97(ASCII)c2=ˊbˊ□or□98(ASCII)(□表示空格,下同)参考源程序如下:main(){int a=3,b=4,c=5;long int u=51274,n=128765;float x=1.2,y=2.4,z=3.6;char c1='a',c2='b';printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%f,y=%f,z=%f\n",x,y,z);printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);printf("u=%6ld n=%9ld\n",u,n);printf("%s %s %d%s\n","c1='a'","or",c1,"(ASCII)");printf("%s %s %d%s\n","c2='a'","or",c2,"(ASCII)");}3.2用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?main(){int a,b;float x,y;char c1c2;scanf("a=%d_b=%d",&a,&b);scanf("_x=%f_y=%e",&x,&y);scanf("_c1=%c_c2=%c",&c1,&c2);}输入方法如下:a=3□b=7□x=8.5□y=71.82□c1=A□c2=a3.2 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

参考源程序:main(){float r,h,C1,Sa,Sb,Va,Vb;scanf("%f,%f",&r,&h);C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf("C1=%.2f\n",C1);printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb);}3.3输入一个华氏温度,要求输出摄氏温度。

公式为c=5(F-32)/9,输出要求有文字说明,取位2小数。

参考源程序如下:main(){float F,c;scanf("%f",&F);c=5*(F-32)/9;printf("输入的华氏温度为:%.2f,则摄氏温度为%.2f",f,c);}3.4 已知三角形的三边长,求其面积。

解:假设输入的三边能构成三角形,三角形的面积公式为:Area=其中S=(a+b+c)/2。

参考源程序如下:#include “math.h”Main(){Float a,b,c,s,area;Printf(“请输入三角形的三边:”);Scanf(“%f,%f,%f”,&a,&b,&c);S=(a+b+c)/2.0;Area=sqrt(s*(s-a)*(s-b)*(s-c));Printf(“三角形的三边为:%7.2f, %7.2f, %7.2f\n”,a,b,c); Prinft(“三角形的面积为:%7.2f\n”,area);}第4章选择结构程序设计4.1 写出下面表达式的值(设a=1,b=2,c=3,x=4,y=3)(1)a+b>c&&b==c(2)!a<b&&b!=c||x+y<=3(3)a+(b>=x+y)?c-a:y-x(4)!(x=a)&&(y=b)&&0(5)!(a+b)+c-1&&b+c/2(6)a||1+‟a‟&&b&&‟c‟解:(1)0;(2)1;(3)2;(4)0;(5)1;(6)1。

4.2有三个整数a、b、c,由键盘输入,输出其中最大的数。

参考源程序:main(){int a,b,c,t;scanf("%d %d %d",&a,&b,&c);if(a>b)if(a>c) t=a;else t=c;else if(b>c) t=b;else t=c;printf("%d\n",t);}4.3给出一百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。

90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。

参考源程序:main(){int number,md;char c1;scanf("%d",&number);md=number/10;switch(md){case 10:case 9: c1='A';break;case 8: c1='B';break;case 7: c1='C';break;case 6: c1='D';break;case 5:case 4:case 3:case 2:case 1:case 0: c1='E';break;}printf("%c\n",c1);}4.4给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆顺序打印出各位数字,例如原来为321,应输出123。

参考源程序:main(){int a,b,c,d,e,n;long m;scanf("%ld",&m);a=0.0001*m;b=10*(0.0001*m-a);c=100*(0.0001*m-a-0.1*b);d=1000*(0.0001*m-a-0.1*b-0.01*c);e=m-10000*a-1000*b-100*c-10*d;if(a!=0)n=5,printf("%d%d,%d,%d,%d,%d%d%d%d%d%d\n",n,a,b,c,d,e,e,d,c,b,a);else if(b!=0) n=4,printf("%d %d,%d,%d,%d %d%d%d%d\n",n,b,c,d,e,e,d,c,b);else if(c!=0) n=3,printf("%d %d,%d,%d %d%d%d\n",n,c,d,e,e,d,c);else if(d!=0) n=2,printf("%d %d,%d %d%d\n",n,d,e,e,d);else n=1,printf("%d %d %d\n",n,e,e);}4.5企业发放的奖金根据利润提成。

相关文档
最新文档