选择结构程序设计习题
- 格式:doc
- 大小:38.00 KB
- 文档页数:10
精选文档,供参考! 选择结构程序设计练习
1. 从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[提示] 根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。 使用if…else…语句 。
#include "stdio.h"
int main()
{
char ch;
int dch;
printf("请输入一个字符:\n");
scanf("%c",&ch);
printf("输入的字符是:%c\n",ch);
if(ch>='0'&&ch<='9')
{
dch=ch-'0';
printf("%c对应的整数是:%d\n",ch,dch);
}
else
{
printf("%c不是数字字符\n",ch);
}
} 精选文档,供参考!
2. 编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。
[提示] 条件判断表达式x+y==z
3. 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max, 小数存入min;然后最大值变量max和最小值变量min再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。最后输出max和min的值。使用if…else…语句、if语句以及复合语句。
#include "stdio.h"
int main()
{
float x,y,z;
printf("请输入x,y,z:\n");
scanf("%f%f%f",&x,&y,&z);
if(x+y==z)
printf("x+y=z\n");
else
printf("x+y!=z\n");
}
精选文档,供参考!
#include "stdio.h"
int main()
{
int a,b,c,max,min;
printf("请输入三个整数a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
printf("三个整数为:\n");
printf("a=%d b=%d c=%d\n",a,b,c);
if(a>b)
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(c>max) max=c;
if(c
printf("max=%d min=%d\n",max,min);
}
使用条件算符:
x=(a>b?a:b); max=(c>x?c:x);
x=(a
#include "stdio.h"
void main()
{
int m,c1,c2,c;
printf("请输入生产数量:\n");
scanf("%d",&m);
if(m<10000)
{
c1=20000;
c2=10;
}
else
{
c1=40000;
c2=5;
}
c=c1+m*c2;
printf("生产数量=%d\n",m);
printf("总成本=%d\n",c);
printf("单位生产成本=%d\n",m*c2);
}
精选文档,供参考!
5. 分段函数的计算。 编写一个程序,计算下列函数:
y=
x x<1
2x-1 1≤x<10
3x-11 x≥10
[提示]根据输入的x值的取值,计算y的值并输出。使用if…else if语句以及复合语句。 精选文档,供参考!
6. 编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
[提示]利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。
#include "stdio.h"
void main()
{
float x,y;
printf("请输入x:\n");
scanf("%f",&x);
printf("输入x=:%f\n",x);
if(x<1)
{
y=x;
printf("y=%f\n",y);
}
else if(x>=1&&x<10)
{
y=2*x-1;
printf("y=%f\n",y);
}
else
{
y=3*x-11;
printf("y=%f\n",y);
}
}
精选文档,供参考!
7. 某个电力公司对其用户的收费规定如下:
用电数量 收费标准
0~200 x*0.5元
201~400 100+(x-200)*0.65元 #include "stdio.h"
void main()
{
float a,b,c;
printf("请输入a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
if(a==b&&b==c&&c==a)
printf("a=%f b=%f c=%f 构成等边三角形!\n",a,b,c);
else
if(a==b||b==c||c==a)
printf("a=%f b=%f c=%f 构成等腰三角形!\n",a,b,c);
else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
printf("a=%f b=%f c=%f 构成直角三角形!\n",a,b,c);
else
printf("a=%f b=%f c=%f 构成一般三角形!\n",a,b,c);
}
else
printf("a=%f b=%f c=%f 不能构成三角形!\n",a,b,c);
}
精选文档,供参考! 401~600 230+(x-400)*0.8元
601以上 390+(x-600)*1.0元
编写程序,对于一个输入的用电数量,计算用户的缴费额。
[提示] 用if…else if语句实现。注意输入负数时的处理。
8. 编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) #include "stdio.h"
void main()
{
double x,y;
printf("请输入用电数量x:\n");
scanf("%lf",&x);
if(x<0)
printf("输入数据有误!");
else
{
if(x>=0&&x<=200)
y=x*0.5;
else if(x>=201&&x<=400)
y=100+(x-200)*0.65;
else if(x>=401&&x<=600)
y=230+(x-400)*0.8;
else
y=390+(x-600)*1.0;
printf("x=%lf y=%lf\n",x,y);
}
}
精选文档,供参考! 例如 [输入]
Please enter the expression:22.12+12.10
[输出]
22.12+12.10=34.22
屏幕提示 键盘输入
程序输出 精选文档,供参考! #include
void main()
{ float x,y,z;
char op;
printf(“请输入表达式:”);
scanf(“%f,%c,%f”,&x,&op,&y);
switch(op)
{
case ‘+’: z=x+y;
case ‘-’: z=x-y;
case ‘*’: z=x*y;
case ‘/’: {if (y!=0) z=x/y;
else printf(“除数为0”);}
}
printf(“%f%c%f=%f\n”,x,op,y,z);
}
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的支持)