c语言if语句练习题

合集下载

c语言if语句练习题

c语言if语句练习题

c语言i f语句练习题(总8页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除c语言if语句练习题1、输入一个学生成绩,判断并输出该学生是否及格。

#include main { int a; printf ; scanf ; if printf ; else switch { case 0: case 1: case: case: case: case: printf ; break; 为B\n”); } } 2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。

拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。

提示:正三角形——三边相等;等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。

case: printf; break; case: printf; break; case: printf; #include #include main { float a,b,c,d; \n”); printf ; d=/2; if { if {printf ; printf ; } else { if { printf ; printf **),a+b+c); } else { if{ printf ; printf **),a+b+c); } else { printf ; printf **),a+b+c); } } } } else printf ; } 3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人解方程组编写程序,采用穷举法求出结果。

编写程序,根据以下公式求e的值。

c语言练习2

c语言练习2

练习2一、选择题1.下面关于语句的说法中,正确的是( A B D)。

A、对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B、表达式后面加;号构成表达式语句C、复合语句中不允许包含另一条复合语句D、对程序执行流程起控制作用的语句属于控制语句2.下面语句中,错误的是( B )。

A、m=x>y>z;B、float x=y=z;C、m=x,m>y;D、{k=m>n;k?:x,y;}3.下面不正确的if语句形式是( A )。

A、if (x=y;) m++;B、if (x<=y) m++;C、if (x-y) m++;D、if ( x ) m++;4.下面不正确的if语句形式是( C )。

A、if (x=y) ;B、if (x==y) m=0,n=1;C、if (x>=y) m=0 else n=1;D、if ( x!=y ) m=n;5.下面程序的运行结果是(A)。

void main(){int x=7,y=8,z=9;if(x>y)x=y,y=z; z=x;printf("x=%d y=%d z=%d\n",x,y,z);}A、x=7 y=8 z=7B、x=7 y=9 z=7 D、x=8 y=9 z=7 D、x=8 y=9 z=86.下面程序的运行结果是(B)。

void main(){int x=6,y=6;if(++x<y++)printf(“%d\n”,x++);elseprintf(“%d\n”,y++);}A、6B、7C、8D、97.下面程序的运行结果是(D)。

void main(){int x=1,y=2,z=3,m=1if(!x)m--;else if(!y)m=2;else if(!z);else m=3;printf(“m=%d\n”,m);}A、0B、1C、2D、38.在下面的if语句中,功能上具有等价关系的两条if语句是(B)。

c语言(if语句)练习题

c语言(if语句)练习题

一、程序填空:输入3个数分别是a 、b 、c 。

先将a 、b 中的较大致存入a 中、较小数存入b 中;再让a 与c 比较,将a 与c 中的较大数存在a 中,较小数存人c 中;最后比较b 与c ,将b 、c 中的较大数存入b 中,较小数存入c 中。

这样a 、b 、c 这3个数的序列即按从大到小排列。

#include <stdio.h>main(){int a,b,c,t;printf(“Input three integers:”);scanf(“%d,%d,%d ”, ); /*输入a ,b ,c3个整数*/if(a<b)/*交换a ,b 的值*/if(a<c)/*交换a ,c 的值*/if(b<c)/*交换b ,c 的值*/printf(“Big to small is:%d,%d,%d ”,a,b,c);}二、程序改错:下面的程序实现求解()()()2222100100x x f x x x ⎧->⎪=⎨--≤⎪⎩分析下列程序代码能否实现,如果程序中存在错误,请修改程序中的错误,然后运行修改后的程序。

#include <stdio.h>main(){int x,y;scanf(“%d ”,&x);if(x*x – 10>0);y = x*x;printf(“y= %d\n ”,y);elsey=-(x*x);printf(“y=%d\n ”,y);}三、编程题1、编写程序从键盘上输入两个整数,检查第一个数是否能被第二个数整除。

2、编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。

(1)标准体重=身高-110;(2)超过标准体重5kg(即大于5kg)为过胖;(3)低于标准体重5kg(即小于5kg)为过瘦。

3、判断某一年是否是闰年:(1) 被4整除但不能被100整除; 或(2) 被400整除;4、编写程序计算升高:每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。

if编程题目

if编程题目

if编程题目
当然,以下是一个基本的`if`编程问题的示例:
假设你正在编写一个程序,该程序会询问用户他们的年龄。

然后,根据用户的年龄,程序会告诉用户他们是否可以投票。

以下是一个使用Python的示例:
```python
age = int(input("请输入您的年龄: "))
if age < 18:
print("您还不能投票。

")
elif age >= 18:
print("您已经可以投票了。

")
else:
print("输入的年龄无效,请重新输入。

")
```
在这个程序中,我们首先询问用户他们的年龄,并将输入的字符串转换为整数。

然后,我们使用`if`语句来检查年龄。

如果年龄小于18,我们打印一条消息说用户还不能投票。

如果年龄大于或等于18,我们打印一条消息说用户已经可以投票了。

如果年龄不在这两个范围内,我们打印一条消息说输入的年龄无效。

c语言if语句习题,C语言练习

c语言if语句习题,C语言练习

c语⾔if语句习题,C语⾔练习C语⾔练习D.算法只能被有限的⽤户使⽤18、 有如下嵌套的if语句:以下选项中与上述if语句等价的语句是( )。

A. k=(aB.B.:((b>C.?b:C.;B.k=(aD.k=(a19、 有以下程序:程序运⾏后的输出结果是( )。

A.0B.1C.2D.320、 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使⽤的运算为( )。

A.笛卡尔积B.交C.并D.⾃然连接21、 有以下程序(说明:字母A的ASCIl码值是65):程序运⾏后的输出结果是( )。

A.BTB.YEC.YTD.BY22、 下列叙述中正确的是( )。

A.顺序存储结构的存储⼀定是连续的,链式存储结构的存储空间不⼀定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对⾮线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构⽐顺序存储结构节省存储空间23、 软件测试的⽬的是( )。

A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误24、 软件⽣命周期是指( )。

A.软件产品从提出、实现、使⽤维护到停⽌使⽤退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运⾏维护过程25、 以下关于retllm语句的叙述中正确的是( )。

A.⼀个⾃定义函数中必须有⼀条return语句B.⼀个⾃定义函数中可以根据不同情况设置多条retum语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的⾃定义函数在执⾏结束时不能返回到调⽤处26、 在长度为n的有序线性表中进⾏⼆分查找,最坏情况下需要⽐较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)27、 若有定义语句:double x,y,*px,*PY;执⾏了laX=&x;lay=&y;之后,正确的输⼊语句是( )。

c语言if语句的练习题答案

c语言if语句的练习题答案

1、编写程序输入a和b,求a和b的余数和商。

#include<stdio.h>void main(){int a,b;scanf("%d%d",&a,&b);printf("商为%d 余数为%d",a/b,a%b);}2、输入一个整型数据,分别求出各位数字。

如:469,则个位数是9,十位数是6,百位数是4。

#include<stdio.h>void main(){ int a,m=0;int t,t1,t2,t3,t4;scanf("%d",&a);if(a<0||a>99999)printf("输入数据超出范围\n");else if (a>=0&&a<10){ m=1;printf("该数是%d位数,其个位数为%d\n",m,a);}else if(a>=10&&a<100){m=2;t=a%10;a=a/10;printf("该数是%d位数,其个位数为%d 十位数为%d\n",m,t,a);}else if(a>=100&&a<1000){m=3;t=a%10;t1=(a/10)%10;t2=a/100;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d\n",m,t,t1,t2);}else if(a>=1000&&a<10000){m=4;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d\n",m,t,t1,t2,t3);}else if(a>=10000&&a<100000){m=5;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000%10;t4=a/10000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d 万位数字为%d\n",m,t,t1,t2,t3,t4);}}以上写法太繁琐了,如果学习了循环,则简单很多。

c语言练习题

c语言练习题

c语言练习题1停车场收费问题一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5+(3.6-3)某2=6.2元。

最高收费为40元。

假设任何车辆的停车时间都不超过24小时。

编写程序,计算每辆车的停车费。

(注意输出结果小数点后保留两位)输入#includeintmain(){doublem,某;printf(\输入停车时间某:\canf(\if(某<=24){if(某<3.0){m=5.0;printf(\eleif(某>3.0){m=5.0+2.0某(某-3.0);if(m<=40)printf(\}eleprintf(\输出停车费用40元\\n\return0;2.#includeintmain(){double某,m;printf(\输入停车时间(某):\canf(\if(某<=24){if(某<=3.0)printf(\停车费用5元\\n\if(某>3)m=5.0+2.0某(某-3.0);if(m<=40)printf(\eleprintf(\停车费用40元\\n\}}2计算细菌数量一种细菌的繁殖速度是每天成倍增长。

例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。

现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。

3计算邮资计算邮资:用户输入:邮件的重量,以及是否加快计算规则:重量在1克以内(包括1克),基本费0.8元。

超过1克的部分,按照0.5元/克的比例加收超重费。

如果用户选择加快,多收2元。

#includeuingnamepacetd;intmain(){double某,um;chare某p;while(cin>>某>>e某p){if(某<=1&&e某p=='n')um=0.8;if(某<=1&&e某p=='y')um=2.8;if(某>1&&e某p=='n')um=0.8+(某-1)某0.5;if(某>1&&e某p=='y')um=0.8+(某-1)某0.5+2;cout<return0;}#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(cin>>某>>y){你对一组输入的一次处理过程代码}return0;}C:#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(canf(%某%y\{你对一组输入的一次处理过程代码}return0;}注意:考虑以下几点,然后直接套用模版就行了:i)变量定义。

if语句练习题

if语句练习题

if语句练习题1.以下不正确的if语句形式是______A)if(x>y&&x!=y);B)if(x= =y)x+=y;C)if(x!=y)scanf(“%d”,&x),else scanf(“%d,&y);D)if(x<y){x++;y++;}2.以下运算符中优先级最低的是(1),优先级最高的是(2)A) ?: B)&& C)+ D)! =3.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是_____ if(x>y)z=x;x=y;y=z;A)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=204.以下if语句语法正确的是_____A)if(x>0)printf(“%f”,x)else printf(“%f”,-x);B)if(x>0){x=x+y;printf(“%f’,x);}else printf(“%f”,-x);C)if(x>0) {x=x+y;printf(“%f”,x);}else printf(“%f”,-x);D)if(x>0){x=x+y;printf(“%f,x);}else printf(“%f”,-x);5.请阅读以下程序:main( ){int a=5,b=0,c=0;if(a=b+c)printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序______A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出* * * D)输出$ $ $6.以下程序的运行结果是______main( ){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m--);}A) 4 B) 5 C) 6 D) 77.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______ if(a<b)if(c<d) x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A) 1 b) 2 c) 3 d) 68. 有一个函数关系见下表:下面程序段中能正确表示上面关系的是( ) A) y=x+1;if(x>=0)if(x==0)y=x;else y=x-1;b) y=x-1;if(x!=0)if(x>0)y=x+1; else y=x;c) if(x<=0)if(x<0)y=x-1;else y=x;else y=x+1;d)y=x;if(x<=0)if(x<0)y=x-1;else y=x+1;9.以下程序的输出结果是______main( ){int a=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(!ok1)a=1;elseif(ok2) a=10;a=-1;printf(“%d\n”,a);}A 1B 0C -1D 值不确定10.以下程序输出结果是_______main( ){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);A.3B.2C.1D.011.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与___配对.A.缩排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if12.以下不正确的语句为______A.if(x>y);B.if(x=y)&&(x! =0) x+=y;C,if(x! =y)scanf(“%d”,&x);else scanf(“%d”,&y);D.if(x<y){x++;y++;}12.阅读以下程序#include<stdio.h>main( ){float a, b;scanf(“%f”,&a); if(a<0.0)b=0.0;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0)b=1.0/a;else b=10.0;printf(“%f\n”,b);}若运行时输入2.0<回车>,则上面程序的输出结果是_____A)0.000000 B)0.500000 C)1.000000 D)0.25000013.若运行时输入:16<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){int year;printf(“Input you year:”);scanf(“%d”,&year);if(year>=18)printf(“you$4.5yuan/xiaoshi”);else printf(“your$3.0yuan/xiaoshi”);}14.若运行时输入:2<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){char class;printf(“enter 1for 1stclass post or 2 for 2nd post”);scanf(“%c”,&class);if(class= =’1’) printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”);}15.若运行时输入:4.4<回车>,则以下程序的运行结果是( ) #include<stdio.h>main( ){float costprice,sellingprice;printf(“enter cost price $:”);scanf(“%f”,&costprice);if(costprice>=5){sellingprice=costprice+costprice*0.25;printf(“selling price(0.25)$%6.2f”,sellingprice);} else{sellingprice=costprice+costprice*0.30;printf(“selling price(0.30)$%6.2f”,sellingprice);}} 16.以下程序的运行结果是( )main( ){ if(2*2= =5<2*2= =4) printf(“T”);else printf(“F”);}17.请阅读以下程序:main( ) {int t,h,m;scanf(“%d”,&t);h=(t/100)%12;if(h= =0)h=12;printf(“%d:”,h);m=t%100;if(m<10)printf(“0”);printf(“%d”,m);if(t<1200||t= =2400)printf(“AM”);else printf(“PM”);}若运行时输入:1605<回车>时,程序的运行结果是( )18.以下程序实现:输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在( )内填入正确的内容.标志运算a 面积c 周长b 二者均计算#define pi 3.14159main( ){char m;float r,c,a;printf(“input mark a c or b&&r\n”);scanf(“%c%f”,&m,&r);if( 1 ){a=pi*r*r;printf(“area is %f”,a);}if( 2 ){c=2*pi*r;printf(“circle is %f”,c);}if( 3 ){a=pi*r*r;c=2*pi*r;printf(“area&&circle are%f%f”,a,c);}}19.若运行时输入:5999<回车>,则以下程序的运行结果(保留小数后一位)是( ) main( ){int x;float y;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&x<=10000)y=54+0.3*x;printf(“%6.1f”,y);}20.以下程序实现输出x,y,z三个数中的最大者.请在( )添入正确内容.main( ){int x=4,y=6,z=7; int ( 1 )if( 2 )u=x;else u=y;if( 3 )v=u;else v=z;printf(“v=%d”,v);}21.以下程序实现:输入三个整数,按从大到小的顺序进行输出.请在( )内填入正确内容main( ){int x,y,z,c;scanf(“%d%d%d”,&x,&y,&z);if( 1 ){c=y;y=z;z=c;}if( 2 ){c=x;x=z;z=c;}if( 3 ){c=x;x=y;y=c;}printf(“%d,%d,%d”,x,y,z);}22.以下程序对输入的两个整数,按从大到小顺序输出.请在( )内填正确内容.main ( ){int x,y,z;scanf(“%d,%d,”,&x,&y);if( 1 ){z=x;(2)}printf(“%d,%d”,x,y);}23.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在( )填入正确内容#include “stdio.h”main( ){char c;c=getchar( );if(c>=’a’&&c<=’u’)( 1 )else if(c>=’v’&&c<=’z’)( 2 )putchar(c);}24.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在( )填正确内容main ( ){char ch;scanf(“%c”,&ch);if( 1 )ch=ch+32;else if(ch>=’a’&&ch<=’z’)(2)printf(“%c”,ch);}25.以下程序的运行结果是( ) main( ){int a,b,c;int s,w,t;s=w=t=0;a=-1,b=3,c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(“%d%d%d”,s,w,t);} 26.以下程序的运行结果是( ) main( ){int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(! b)if(! c)x=15;else x=25;printf(“%d\n”,d);}27.以下程序的运行结果是( ) #include<stdio.h>main( ){int x,y=1,z;if(y!=0)x=5;printf(“\t%d\n”,x);if(y= =0)x=4;else x=5;printf(“\t%d\n”,x);x=1;if(y<0)if(y>0)x=4;else x=5;printf(“\t%d\n”,x);}28.以下程序的运行结果是( ) #include<stdio.h>main( ){int x,y=-2,z=0;if((z=y)<0)x=4; else if(y= =0)x=5;else x=6;printf(“\t%d\t%d\n”,x,z);if(z=(y= =0))x=5;x=4;printf(“\t%d\t%d\n”,x,z);if(x=z=y)x=4;printf(“\t%d\t%d\n”,x,z);}29.阅读下面程序:main ( ){int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果t=4,输入量a和b应满足的条件是( )30.请阅读下面程序:main( ){int s ,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果s=1,t=5,输入量a和b应满足条件是( )31.下面程序根据以下函数关系,对输入的每个x值,计算出y值,在( )填正确内容main( ){int x,y;scanf(“%d,&x);if(1)y=x*(x+2); else if(2)y=2*x;else if(x<=-1)y=x-1;else( 3 );if(y!=-1)printf(“%d”,y);else printf(“error”);}32.下面程序根据以下函数关系,对输入的每个x值,计算出相应的y值.在( ) 填正确内容#include “math.h”main( ){int x,a;float y;scanf(“%d%d”,&x,&a);if( 1 )y=0;else if( 2 )y=sqrt(a*a-x*x);else y=x;printf(“%f”,y);}33.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,在( )填正确内容#include “math.h”main( ){float a,b,c,t,disc,twoa,term1,term2;printf(“enter a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if( 1 )if( 2 )printf(“no answer due to input error\n”);else printf(“the single root is%f\n”,-c/b);else{disc=b*b-4*a*c;twoa=2*a;terml=-b/twoa;t=abs(disc);term2=sqrt(t)/twoa;if(3)printf(“complex root\n real part=%fimag part=%f\n”, terml,term2);else printf(“real roots\n rootl=%froot2=%f\n”,terml+term2,term1-term2);}} 34.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在( )填正确内容.#include“math.h”main( ){float a,b,c; float s,area;scanf(“%f %f %f”,&a,&b,&c);if( [1] ){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“%f”,area);if( [2] )printf(“等边三角形”);else if( [3] )printf(“等腰三角形”);else if((a*a+b*b= =c*c)| |(a*a+c*c= =b*b)| |(b*b+c*c= =a*a) )printf(“直角三角形”);else printf(“一般三角形”);}else printf(“不能组成三角形”);}35. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的资料:重量(千克) 收费标准(元/公斤)wei<=10 0.8010<wei<=20 0.7520<wei<=30 0.70请在程序的[ ]内填入正确的内容.main( ){float len,wei,hei,wid,mon,r;scanf(“%f %f %f %f”,&len,&wid,&hei,&wei);if(len>1| |wid>1| |hei>1| |wei>30)[ 1 ];else if(wei<10) r=0.8;else if(wei<=20) r=0.75;else if(wei<=30)[ 2 ];if(r= =-1)printf(“error\n”):else {[ 3 ];printf(“%f”,mon);} }36.以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容.main( ){int y,f;scanf(“%d”,&y);if(y%400= =0) f=1;else if( [1] ) f=1;else [2] ;if(f)printf(“%d is”,y);else printf(“%d is not”,y);printf(“a leap year\n”);}37.有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容main( ){int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a<b){t=a;a=b;b=t;}if ([1]){t=c;c=d;d=t;}if(a<c){t=a;a=c;c=t;}if([2]){t=b;b=c;c=t;}if(b<d){t=b;b=d;d=t;}if(c<d){t=c;c=d;d=t;}printf(“%d %d %d %d\n”,a,b,c,d);}38.以下程序的运行结果是__main( ){int a=2,b=3,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“%d\n”,c);}39.编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上数字,否则输出两数之和.40.试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no41.编程序:根据以下函数关系,对输入的每个x值,计算出相应的y值42.编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一(1)能同时被3,5,7整除(2)能被其中两个数整除(要指出那两个数)(3)能被其中一个数整除(指出那一个)(4)不能被3,5,7任一个整除1、C2、(1)A (2)C3、B4、C5、D6、C7、B8、C9、C 10、B 11、A 12、B 12、B13、your$3.0yuan/xiaoshi14、2nd class postage is 14p15、selling price(0.30)$ 5.72 (注意:5.72前有2个空格)16、F17、4:05PM18、(1) m=='a' (2) m=='c' (3) m=='b'19、3635.4。

C语言程序设计函数练习题及参考答案

C语言程序设计函数练习题及参考答案

C语言程序设计练习题及参考答案1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c)return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为3,b中的值原为8,程序运行后a 中的值为8,b中的值为3。

#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。

例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。

C语言综合练习(附答案)

C语言综合练习(附答案)

C语言综合练习(附答案)一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。

A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。

A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。

#includemain(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。

#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b)}A)0 B)1 C)2 D)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。

A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。

C语言练习if语句

C语言练习if语句

判定三角形类型/某 __author__ = '某iaofeizhang' 函数作用:判定三角形类型某/ #include <std io.h> int main(void){ float a, b, c; printf("请输入第一条边的长度:%f", &a); sc anf("%f", &a); printf("第一条边的长度为:%f\n", a); printf("请输入第二条边的长度:%f", &b); scanf("%f", &b); printf("请输入第三条边的长度:%f", &c); sc anf("%f", &c); if (a>=b+c , b>=a+c , c>=a+b){ printf("这三条边无法组成一个三角形\n"); } else{ if (a==b && a==c && b==c){ printf("这是一个等边三角形\n"); } else if (a==b , a==c , b==c){ printf("这是一个等腰三角形\n"); } else if(a某a+b某b==c某c , a某a+c某c==b某b , b某b+c某c==a某a){ printf("这是一个直角三角形"); } } return 0; } /某请输入第一条边的长度:0.0000001 第一条边的长度为:1.000000 请输入第二条边的长度:0.0000002 请输入第三条边的长度:0.0000003 这三条边无法组成一个三角形 -------------------------------- Process e某ited after 2.5 seconds with return v alue 0 请按任意键继续. . . 某/根据某的不同,输出不同的y/某 __author__ = '某iaofeizhang' 函数作用:根据某的不同,输出不同的y 某/ #include<stdio.h> int main(void){ int 某, y; printf("请输入某的值:"); scanf ("%d", &某); if(某>0){ y = 1; } else if (某 == 0){ y = 0; } else{ y = -1; } printf("y的值为%d", y); return 0; } /某请输入某的值:-1 y的值为-1 请输入某的值:0 y的值为0 请输入某的值:1 y的值为1 -------------------------------- Process e某ited after 0.975 seconds with return value 0 请按任意键继续. . . 某/判定2023年6月有多少天/某 __author__ ='某iaofeizhang' 函数作用:判定2023年6月有多少天某/ #in clude<stdio.h> int main(void){ int year, month, days=0; printf("请输入年份: "); scanf("%d", &year); printf("请输入月份: "); scanf("%d", &month); switch (month){ case 1:; case 3:; case 5:; case 7:; case 8:; case 10:; case 12: days = 31; break; case 4:; case 6:; case 9:; case 11: days = 30; break; case 2: if ((year%4==0 && year%100!=0),year%400==0){ days = 29; } else{ days = 28; break; } } if (days != 0){ printf("%d年%d月有%d天", year,month,days); } else { p rintf("输入的时间有问题"); } return 0; } /某请输入年份: 2023 请输入月份: 2 2023年2月有28天 -------------------------------- Process e某ited after 4.642 seco nds with return value 0 请按任意键继续. . . 某/简单计算器/某 __author__ ='某iaofeizhang' 函数作用:简单计算器某/ #include <stdio. h> int main(void){ float a, b; int symbol; printf("请输入第一个操作数:"); s canf("%f", &a); printf("请输入第二个操作数:"); scanf("%f", &b); printf("请输入操作符\n"); printf("1: 为乘法某\n"); printf("2: 为除法 /\n"); printf("3:为加法 +\n"); printf("4:为减法 -\n"); printf("请输入:"); scanf("%d", &sym bol); //找问题,找了半天,最后才发现是scanf函数输入格式有问题,记住这个取地址符号& switch(symbol){ case 1: printf("结果为:%f", a某b); break; case 2: printf("%f 除以 %f 的结果为:%f\n", a, b, a/b); break; case 3: print f("%f 加上 %f 的结果为:%f\n", a, b, a+b); break; case 4: printf("%f 减去 %f 的结果为:%f\n", a, b, a-b); break; default: printf("输入的操作符可能有些问题,请检查后重新输入"); } return 0; } /某请输入第一个操作数:2 请输入第二个操作数:3 请输入操作符 1: 为乘法某 2: 为除法 / 3: 为加法 + 4:为减法 - 请输入:3 2.000000 加上 3.000000 的结果为:5.000000 -------------------------------- Process e 某ited after 8.262 seconds with return value 0 请按任意键继续. . . 某/判定一个数字能否被7整除/某 __author__ ='某iaofeizhang' 函数作用:判定一个数字能否被7整除某/ #i nclude <stdio.h> int main(void){ int num; printf("请输入一个正数:"); scanf ("%d", &num); // 输入的字符串中如果含有数字和字母,输入函数会从第一位开始寻找数字,找到就输出,找不到就截止对应 // 如果首位为字母,直接输出0 if (num%7==0 && num%11==0){ printf("输入的数值为:%d, 该数能否被7或者11整除:Yes\n", num); } else{ printf("输入的数值为:%d, 该数能否被7或者11整除:No\n", num); } return 0; } /某请输入一个正数:18 输入的数值为:18, 该数能否被7或者11整除:No -------------------------------- Process e某ited after 2.748 seconds with return value 0 请按任意键继续. . . 某/判断一个数是否为整数/某 __author__ ='某iaofeizhang' 函数作用:判断一个数是否为整数某/ #inclu de <stdio.h> bool check(const char 某p) { if(p == NULL) return 0; else { while(某p != '\0') { if(某p <= '9' && 某p++ >= '0') continue; el se return 0; } } return 1; } int main( { bool count; bool check(c onst char 某p); count = check("123456."); if (count){ printf("输入数据的类型为数值类型"); } else { printf("输入的类型不为数值类型"); } return 0; } /某输入的类型不为数值类型 -------------------------------- Process e某ited after 0.02 12 seconds with return value 0 请按任意键继续. . . 某/求解二元一次方程的解/某 __author__ ='某iaofeizhang' 函数作用:求解二元一次方程的解某/ #inclu de <stdio.h> #include <math.h> int main(void){ float a, b, c, delta; float 某1, 某2; printf("请输入系数a: "); scanf("%f", &a); printf("请输入系数b: "); scanf ("%f", &b); printf("请输入系数c: "); scanf("%f", &c); // a = 1; b= 2; c=1; if (a >0 , a<0 ){ delta = b某b - 4某a某c; printf("delta的值为:%lf\n", delta); if (delta<0){ printf("该方程无解"); } else if (delta==0){ 某1 = -b / (2 某 a); printf("该方程有两个相同的解, %f, %f\n", 某1, 某1); } else { 某1 = (-b + sqrt(delta)) / (2 某 a); 某2 = (-b - sqrt(delta)) / (2 某 a); printf("该方程有两个不相同的解,解一为:%f,解二为:%f\n",某1, 某2); } } else{ printf("这不是一个二元一次方程"); } retur n 0; } /某请输入系数a: 2 请输入系数b: 4 请输入系数c: 1 delta的值为:8.00000 0 该方程有两个不相同的解,解一为:-0.292893,解二为:-1.707107 -------------------------------- Process e某ited after 4.65 seconds with return value 0 请按任意键继续. . . 某/确定一个正数的位数以及反转/某 __author__ ='某iaofeizhang' 函数作用:确定一个正数的位数以及反转某/ #include <stdio.h> #include<string.h> int main(void){ int symbol, symbol_copy, len=0, symbol_reverse=0, tmp; printf("请输入一个位数不多于4位的正整数:"); // scanf("%c", &symbol); // strlen函数为返回字符串的长度 // len = strlen (symbol); scanf("%d", &symbol); symbol_copy = symbol; while (symbol) { tmp = symbol % 10; symbol_reverse = symbol_reverse 某 10 + tmp; sym bol = symbol / 10; len++; } printf("%d 的位数为 %d\n", symbol_copy, len); printf("%d这个序列的反序列为: %d", symbol_copy, symbol_reverse); } /某请输入一个位数不多于4位的正整数:399 399 的位数为 3 399这个序列的反序列为: 9 93 -------------------------------- Process e某ited after 4.271 seconds with return value 0 请按任意键继续. . . 某/使用随机函数输入三个数,并按照从小到大顺序排列/某 __author__ = '某iaofeizhang' 函数作用:输入三个数,并按照从小到大的顺序排列某/ #include <stdio.h> bool check(const char 某p) { if(p == NULL) re turn 0; else { while(某p != '\0') { if(某p <= '9' && 某p++ >= '0') continue; else return 0; } } return 1; } int main( { int a, b, c; int new_1, new_2, new_3; bool count; bool check(const char 某p); printf ("请输入a:\n"); scanf("%d", &a); printf("请输入b:\n"); scanf("%d", & b); printf("请输入c:\n"); scanf("%d", &c); if (a>=b && a>=c){ new_1 = a; if (b>c){ new_2 = b; new_3 = c; } else { new_2 = c; new_3 = b; } } if (b>=a && b>=c){ new_1 = b; if (a>=c){ new_2 = a; new_3 = c; } else { new_2 = c; new_3 = a; }} if (c>=a && c>=b){ new_1 = c; if (a>=b){ new_2 = a; ne w_3 = b; } else { new_2 = b; new_3 = a; } } printf("这组数据从小到大为:%d, %d, %d\n", new_3, new_2, new_1); count = check("12 345.6"); if (count){ printf("输入数据的类型为数值类型"); } else { prin tf("输入的类型不为数值类型"); } return 0; } /某请输入a: 123 请输入b: 3 21 请输入c: 456 这组数据从小到大为:123, 321, 456 输入的类型不为数值类型 -------------------------------- Process e某ited after 5.888 seconds with return value 0 请按任意键继续. . . 某/自动售卖机/某 __author__ = '某iaofeizhang' 函数作用:自动售卖机某/ #include <stdio.h> int main(void){ int choice; printf(" 某某某某某自动售卖机清单某某某某某\n"); printf(" 某某某某某 1. 瓜子某某某某某\n"); printf(" 某某某某某 2.花生某某某某某\n"); printf(" 某某某某某 3. 爆米花某某某某某\n"); pri ntf(" 某某某某某 4. 可乐某某某某某\n"); printf(" 某某某某某 5. 雪碧某某某某某\n"); printf(" 某某某某某 6. 果汁某某某某某\n"); printf(" 某某某某某 7. 咖啡某某某某某\n"); printf("请输入你想购买的物品序号(1-7):\n "); scanf("%d", &choice); switch (choice){ case 1: printf("这是你购买的瓜子\n"); break; case 2: printf("这是你购买的花生\n"); break; case 3: printf("这是你购买的爆米花\n"); break; case 4: printf("这是你购买的可乐\n"); break; case 5: printf("这是你购买的雪碧\n"); break; case 6: printf("这是你购买的果汁\n"); break; case 7: printf("这是你购买的咖啡\n"); break; default: printf ("你下的单有问题,请检查后,在重新下单\n"); } return 0; } /某某某某某某自动售卖机清单某某某某某某某某某某 1. 瓜子某某某某某某某某某某 2. 花生某某某某某某某某某某 3. 爆米花某某某某某某某某某某 4. 可乐某某某某某某某某某某 5. 雪碧某某某某某某某某某某 6. 果汁某某某某某某某某某某 7. 咖啡某某某某某请输入你想购买的物品序号(1-7): 6 这是你购买的果汁 -------------------------------- Process e某ited after 3.891 seconds with r eturn value 0 请按任意键继续. . . 某/字符转换/某 __author__ = '某iaofeizhang' 函数作用:字符转换某/ #include <stdio.h> #i nclude <stdlib.h> int main(void) { char symbol, symbol_change; printf("请输入要转化的内容(大写字母,小写字母,数字):"); symbol = getchar(; if ('A'<= symbol && symbol<='Z'){ symbol_change = symbol + 32; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%c\n", symbol_chang e); } else if ('0'<=symbol && symbol<='9'){ symbol_change = symbol-48; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%d\ n", symbol_change); } else if ('a'<=symbol && symbol<='z'){ symbol_change = symbol - 32; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%c\n", symbol_change); } else { printf("输入的字符可能不在本次转化的考察范围之内\n"); e某it(0); } return 0; } /某请输入要转化的内容(大写字母,小写字母,数字):j 本次输入的字符为:j 转化以后的字符为:J -------------------------------- Process e某ited after 3.495 seconds with return value0 请按任意键继续. . . 某/。

c语言上机练习

c语言上机练习
return 0 ;
}
答案:
2行main
4行末尾少分号
3.编写程序在屏幕上显示以下内容:
Programming is fun.
And Programming in C is even more fun!
答案:
#include <stdio.h>
int main( )
{
printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;
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.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6u n=%7ld\n",u,n);
return 0 ;
}
4.编写程序输出以下图案:
* * * *
* * *
* *
*
答案:
#include <stdio.h>
void main( )
{
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
}
5.编写程序,计算并在屏幕上显示10~20的平方值。

c语言练习 (1)

c语言练习 (1)

A、当y<0时整个循环结束
B、y>=0时什么也不输出
C、printf函数永远也不执行
D、最多允许输出100个非负整数 76、以下程序段等价于____ for (k=100; k<=200; k++) { if (k%3==0) continue; printf("%4d", k); } A、for (k=100; (k%3)&&k<=200; k++) printf("%4d", k); B、for (k=100; (k%3)||k<=200; k++) printf("%4d", k); C、for (k=100; k<=200; k++) if (k%3!=0) printf("%4d", k); D、for (k=100; k<=200; k++) { if (k%3) printf("%4d", k); else continue; break; }
C、2 3 4 6 9 12
D、2 3 4
6 9 12
10 15 20
70、以下程序段中是死循环的是____
A、int n=1; B、int n=1;
while (!n)
do { n--;
n++;
}while(n);
C、int n=1;
D、for (n=5; n<1; ) ;
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号 括起来 64、语句for (表达式1; ; 表达式3)等价于____ A、for (表达式1; 0 ; 表达式3) B、for (表达式1; 1 ; 表达式3) C、for (表达式1; 表达式1; 表达式3) D、for (表达式1; 表达式3; 表达式3) 65、若k为整型变量,则以下for循环的执行次数是____ for (k=2; k==0; )

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语言第五章习题

c语言第五章习题

第五章练习题一、选择题1、判断字符串a和b是否相等,应当使用()A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))2、以下正确的定义语句是()A、int a[1][4]={1,2,3,4,5};B、float x[3][]={{1},{2},{3}};C、long b[2][3]={{1},{1,2},{1,2,3}};D、double y[][3]={0};3、以下各组选项中,均能正确定义二维实型数组a的选项是()A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}};B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}};C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}};D、float a[3][4]; float a[3][ ]; float a[ ][4];4、下面程序的运行结果是()#include "stdio.h"main(){ char str[]="SSSWLIA",c;int k;for(k=2;(c=str[k]!='\0');k++){ switch(c){case 'I':++k;break;case 'L':continue;default:putchar(c);continue;}putchar('*');}}A、SSW*B、SW*C、SW*AD、SW5、下面程序段是输出两个字符串中对应相等的字符。

横线处应填入()char x[]="programming";char y[]="Fortran";int i=0;while(x[i]!='\0'&&y[i]!='\0')if(x[i]==y[i]) printf("%c",《1》);A、x[i++]B、y[++i]C、x[i]D、y[i]6、有下面的程序段,则()char a[3],b[]="china";a=b;printf("%s",a);A、运行后将输出ChinaB、运行后将输出ChC、运行后将输出ChiD、编译出错7、下面程序的运行结果是()main(){ char ch[7]={"12ab56"};int i,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A、1B、1256C、12ab56D、12568、定义如下变量和数组:则下面语句的输出结果是()int k;int a[3][3]={1,2,3,4,5,6,7,8,9,};for(k=0;k<3;k++)printf("%d",a[k][2-k]);A、3 5 7B、3 6 9C、1 5 9D、1 4 79、下面程序段的运行结果是()char c[5]={'a','b','\0','c','\0'};printf("%s",c);A、'a''b'B、abC、ab cD、abc10、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()A、2B、3C、4D、无确定值11、下面程序的运行结果是()main()for(i=1;i<6;i++){ a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}}A、-4 0 4 0 4B、-4 0 4 0 3C、-4 0 4 4 3D、-4 0 4 4 012、下面程序的运行结果是()main(){int a[6][6],i,j;for(i=1;i<6;i++)for(j=1;j<6;j++)a[i][j]=(i/j)*(j/i);for(i=1;i<6;i++){ for(j=1;j<6;j++)printf("%2d",a[i][j]);printf("\n");}}A、1 1 1 1 1B、0 0 0 0 1C、1 0 0 0 0D、1 0 0 0 11 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 01 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 01 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 01 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 113、下述对C语言字符数组的描述中错误的是()A、字符数组可以存放字符串。

c语言选择结构练习题

c语言选择结构练习题

C语言选择结构练习题一、单选题A. ifB. switchC. forD. while2. 当表达式 (a > b) 为真时,下列哪个表达式的值为假?A. !(a <= b)B. (a == b)C. (a >= b)D. (a != b)A. ifelseB. switchcaseC. whileD. dowhile4. 当if语句的条件为真时,下列哪个选项的语句不会执行?A. if语句内的语句B. else语句内的语句C. if语句和else语句内的语句D. 与if语句平级的下一个语句二、多选题A. ifB. else ifC. switchD. forA. if和else语句块只能包含一条语句B. if和else语句块可以包含多条语句,但需要用大括号括起来C. if语句块后面可以不跟else语句块D. else语句块后面可以继续跟if语句块A. 没有与case匹配的值B. case后面的值与switch表达式匹配C. switch表达式为空D. default分支位于所有case分支之前三、填空题1. 在C语言中,______ 关键字用于实现选择结构。

2. 当if语句的条件为真时,执行______ 语句块;当条件为假时,执行______ 语句块。

3. 在switch语句中,每个case分支后面需要使用______ 语句来跳出switch结构。

四、编程题1. 编写一个C程序,输入一个整数,判断它是正数、负数还是零,并输出相应的结果。

2. 编写一个C程序,输入三个整数,找出其中的最大值并输出。

3. 编写一个C程序,根据用户输入的成绩(0100),输出相应的等级(A、B、C、D、E)。

4. 编写一个C程序,输入一个年份,判断它是否为闰年,并输出结果。

5. 编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。

用户输入两个整数和一个运算符,程序输出运算结果。

C语言练习题答案

C语言练习题答案

1.已知三角形的三边长为a,b,c,计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。

试编程从键盘输入a,b,c的值(假设a,b,c的值可以保证其构成一个三角形),计算并输出三角形的面积。

**输入格式要求:"%f,%f,%f" 提示信息:"Input a,b,c:"**输出格式要求:"area = %.2f\n"程序运行示例如下:Input a,b,c:3,4,5area = 6.00答案:#include<stdio.h>#include<math.h>int main(void){float a, b, c, s, area;printf("Input a,b,c:");scanf("%f,%f,%f", &a, &b, &c);s = (a + b + c) / 2;area = sqrt(s*(s - a)*(s - b)*(s - c));printf("area = %.2f\n", area);return 0;}-----------------12.从键盘任意输入一个4位整数,编程计算并输出它的逆序数.例如:输入1234,分离出千位1、百位2、十位3和个位4,然后计算4*1000+3*100+2*10+1=4321,并输出4321。

**要求输入提示信息为:无**要求输入格式为: "%d"**要求输出格式为:"%d"程序运行示例如下:1234 此处为输入4321 此处为输出答案:#include<stdio.h>int main(void){int a, b, c, d,e;scanf("%d",&a);b = a/1000;c = a%1000/100;d = a%100/10;e = a%10;a = e*1000+d*100+c*10+b;printf("%d",a);return 0;}--------------23.有关输入输出问题。

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

C语言编程练习题附答案

C语言编程练习题附答案

C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。

includeint main() {int a[20]。

i。

j。

t;printf("请任意输入20个整数\n");for (i = 0.i < 20.i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < 19.i++)for (j = 0.j < 19 - i。

j++)if (a[j] < a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t;printf("按照从大到小的顺序排列为\n");for (i = 0.i < 20.i++)printf("%d,"。

a[i]);printf("\n");return 0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。

includedefine N 20int main() {int a[N]。

i。

j。

max。

k;printf("请任意输入20个整数\n");for (i = 0.i < N。

i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < N - 1.i++) {k = i;for (j = i + 1.j < N。

j++)if (a[i] < a[j])k = j;max = a[k];a[k] = a[i];a[i] = max;printf("按照从大到小的顺序排列为\n");for (i = 0.i < N。

i++)printf("%d,"。

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

c语言if语句练习题1、输入一个学生成绩,判断并输出该学生是否及格。

#includemain{int a;printf ;scanf ;ifprintf ; elseswitch{case 0:case 1:case:case:case:case: printf ;break;为B\n”);}}2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。

拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。

提示:正三角形——三边相等;等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。

case: printf; break; case: printf; break; case: printf;#include#includemain{float a,b,c,d;\n”);printf ; d=/2; if { if {printf ; printf ; } else { if {printf ;printf **),a+b+c);}else{if{printf ;printf **),a+b+c);}else{printf ;printf **),a+b+c);}}}}elseprintf ;}3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。

? 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?解方程组编写程序,采用穷举法求出结果。

? 编写程序,根据以下公式求e的值。

要求用两种方法计算:111111 e?11!2!1) for循环,计算前50项2)while 循环,直至最后一项的值小于10-43!4!5!n!? 从键盘中输入一个数字,用循环语句编程判断并输出这个数字的位数。

? 猴子吃桃子问题。

猴子第一天摘下若干个桃,当即只一半,又多吃一个。

第二天早上又将剩下的一半吃掉一半,双多吃一个。

以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。

问第一天摘了几个桃。

? 编程打印九九乘法表? 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分。

? 从键盘中输入一个数字1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。

2) 使用数组来进行编程。

? 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。

10进制327转八进制:327/=0 余数为740/=余数为0于是八进制数为507)? 使用数组,编写一个任意进制正整数转换为十进制的转换工具。

? 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,14,20。

然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。

? 编写一个函数,用以求x2-5x+4的值,x做为函数的形参,调用此函数,求:y1=2-5×2+4Y2=2-5+4Y3=2-5sinx+4sinx 可以加载”math.h” 库函数后使用,函数说明为double sin? 编写一个函数,使给定的一个二维数组行列互换。

? 从键盘中输入一个不超过40个字符的字符串,再输入一个位数,删除对应位数的字符,然后输出删除指定字符后的字符串要求:1) 用puts输出指示信息2) 用gets接收字符串? 如果有一个正整数从左、右来读都是一样的,则称为回文式数;比如101,32123,999都是回数。

数学中有名的“回数猜想”之迷,至今未解决。

回数猜想:任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数。

例:倒过来是668+86= 154154+541=05605+506=1111编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7步,看是否能得到一个回数。

要求:主函数中接收键盘数据,必须用scanf接收整型变量,显示该数与其倒数的和,输出每一步计算步骤。

子函数1,计算该数的倒数。

子函数2,验证和是否为回数,是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示,“经过n次计算,未得到回数” ? 求Sn=a+aa+aaa+------+aaaaaaa,其中a和n都从键盘中输入,如从键盘中输入2,5,则计算S5=2+22+222+2222+22222。

#include “stdio.h”void main{int a,n,i=1;long s=0,t=0;printf;scanf;printf;scanf;while{t=t+a;s=s+t;a=a*10;++i;}printf;}? 两个乒乓球队进行比赛,各出三人。

甲队为A,B,C三人,乙队为X,Y,Z三人。

已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X 比,C说他不和X、Z比,编程找出三对选手的对手名单。

注:使用穷举法#include”stdio.h”int main{ int i,j,k;for{ for{ for{ if continue;if{ printf;printf;printf;return 0;}}}}return 0;}? 编写一个函数,函数说明为:char lastchar功能:求一个字符串的最后一个字符,如果是空串,则返回空字符。

再利用该函数编程,输入两个字符串,输出第一字符串的最后一个字符和第二个字符串的最后一个字符。

? 韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

编程求韩信至少有多少兵?#include “stdio.h”void main{int i;for{if{printf;break;}}}? 用递归方法计算下列函数的值:fx =x-x2+x3-x4+......n-1xn n>0要求:1) 写出递归函数的原型2) 编写程序? 用递归法将一个整数转换成字符形式输出。

例如输入483,应输出字符串“483”。

其程序如下,请验证,并修改程序,增加显示出输入数字的位数的功能,并使输出结果与下图一致。

void convert{ long i;if !=0)convert;putchar;}main{ long number;scanf;if{putchar; number= -number;}convert ;? 利用以下公式,编程计算π的值,直到最后一项的绝对值 )小于0.0001为止。

题目:有1、2、3、41.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:#include “stdio.h”#include “conio.h”main{int i,j,k;printf;for /*以下为三重循环*/forfor{if /*确保i、j、k三位互不相同*/printf;}getch;}===========================================题目:企业发放的奖金根据利润提成。

利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于0万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:#include “stdio.h”#include “conio.h”main{long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf;bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;ifbonus=i*0.1;else ifbonus=bonus1+*0.075;else ifbonus=bonus2+*0.05;else ifbonus=bonus4+*0.03;else ifbonus=bonus6+*0.015;else实验四1. 熟悉和掌握if、switch的使用方法;学会编写简单的分支程序结构。

2. 熟悉for语句的一般形式,学会编写简单的循环结构程序。

1、将所有题的程序复制在以班级、学号和名字命名的word文档中,并将该文档上传至对应ftp地址的作业上传文件中,比如命名为”500班2010210010白立民.doc”。

2、编程题的第4题为选做题。

一、程序改错分析下面的程序:如果下列语句来实现s=1+2+3+4+5的累加功能。

请分析、运行程序,找出程序中存在的错误并进行修改。

#includemain{int i, s = 0;for;s = s + i;printf;}二、程序填空有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请在、处填空,并上机调试运行。

#includemain{int day, x1, x2;day = 0;x1 = 1020;while{x= ;x1 = x2;day++;}printf;}三、编程题1、编一程序,要求实现下面的功能:输入一个实数后,屏幕上显示如下菜单:1.输出相反数2.输出平方数3.输出平方根4.退出程序运行的效果为:若按1键,则输出该数的相反数;若按2键,则输出该数的平方数;……。

按1 ~4之外的其他键时,显示出错,、。

2、课本P85第12题3.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=13+53+33。

分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

4.兔子繁殖问题:假设小兔子每隔一个月长成大兔子,大兔子每月生一只小兔子。

第一个月有一只小兔子,求n个月后有多少只兔子?令f为n个月后兔子的数目,则第一个月有一只小兔子,f=1,第二个月小兔子长成大兔子,f=1,第三个月,大兔子生一只小兔子,兔子数目为2,第四个月大兔子生了一只小兔子,原来的小兔子长成大兔子,小兔子数目为1,大兔子数目为2,兔子总数为3,于是,兔子的数目可以用序列表示:1,1,2,3,5,8,13,21,……其中从第三项开始,任一项为前两项之和。

相关文档
最新文档