练习1互换两个变量的值Word文档下载推荐.docx
《练习1互换两个变量的值Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《练习1互换两个变量的值Word文档下载推荐.docx(56页珍藏版)》请在冰点文库上搜索。
![练习1互换两个变量的值Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/e019c1c5-34a9-46be-9efe-76da6e862d50/e019c1c5-34a9-46be-9efe-76da6e862d501.gif)
字母大小写转换:
编写一个程序,要求
用户输入一个小写字母,然后显示相应的大写字母。
注意:
小写字母a~z的ASCII码为97~122,而大写字
母A~Z的ASCII码为65~90,相差32,所以只要将输入
的小写字符减去32即可转换为大写。
charch1,ch2;
//ch1=getchar();
输入一个字符:
"
%c"
ch1);
if(ch1>
=97&
&
ch1<
=122)
ch2=ch1-32;
=65&
=90)
ch2=ch1+32;
转换后为:
%c\n"
ch2);
练习4.、接收一个四位数。
编写一个程序,将该数的每一位数字相加并显示结果。
#include<
inta,b,c,d,e,result;
输入一个四位数:
b=a/1000;
c=a%1000/100;
d=a%1000%100/10;
e=a%1000%100%10/1;
result=b+c+d+e;
得出结果%d\n"
result);
练习5接收用户输入的数值,该数值表示某个字符的ASCII码,使用putchar()函数显示该字符.
inta;
输入一个数值:
putchar(a);
putchar('
\n'
练习6编写一个程序,从用户输扩的三个数中找到最大值,并将该最大值输出。
提示:
另外定义一个中间变量用来存贮较大者*/
intx,y,z,w;
输入xyz值:
%d%d%d"
x,&
y,&
z);
if(x>
y)
{
w=x;
x=y;
y=w;
}
z)
x=z;
z=w;
if(y>
w=y;
y=z;
最大的数是:
%d\n"
z);
练习7编写一个程序,验证用户输入的一个字符是否是大写字母,如果是打印出
你输入的是一个大写字母"
,否则打印出"
你输入的不是一个大写字母"
。
charch;
请输入一个字符:
ch);
fflush(stdin);
if(ch>
ch<
printf("
你输入的是一个大写字母.\n"
else
你输入的不是一个大写字母.\n"
练习8.银行提供了整存整取定期储蓄业务,其存期分为一年、两年、三年、五年,
到期凭存单支取本息。
年利率如下表所示:
存期年利率(%)
一年2.25
二年2.7
三年3.24
五年3.6
要求用户选择存期,并输入本金。
声明两个变量分别存储存期和本金。
计算利息的公式:
利息=本金*年利率*存期
本息=本金+利息*/
floatmoney,lili;
intyear;
你的本金为:
money);
你的存期为:
year);
switch(year)
case1:
lili=0.0225;
你能得到的本息和有:
%g元.\n"
money+money*lili*year);
break;
case2:
lili=0.027;
case3:
lili=0.0324;
case5:
lili=0.036;
练习9:
只要顾客购买的商品数量大于等于10件,并且购物总额大于等于10000元,商店就给顾客10%的折扣。
从键盘接收购物数量以及总金额,要求计算出折扣额和折扣后的应付金额。
floatshuliang,qian,fuqian;
买东西的数量:
shuliang);
买东西花的钱:
qian);
if(shuliang>
=10&
qian>
=10000)
{printf("
折扣0.1\n"
应付金额:
fuqian=qian*0.9);
原价销售\n"
fuqian=qian);
练习10:
从键盘输入三个整数x,y,z,请把3个数由小到大输出。
想办法把最小的数放到x上,先将X与Y比较,如果X>
y,则将X与Y进行交换,然后再用X与z进行比较;
如果X>
z,则将X与z的值进行交换,这样能使X最小。
然后在将Y与Z进行比较;
如果Y>
Z,则将Y与z的值进行交换。
%d,%d,%d\n"
x,y,z);
11:
根据条件确定学员成绩的等级
用户从键盘输入一个学生的成绩,
如果成绩>
=90,输出:
A"
=80,输出:
B"
=70,输出:
C"
=60,输出:
D"
如果成绩<
80,输出:
E"
提示用:
if……else语句完成*/
intchengji;
while
(1)
请输入该学员的成绩:
chengji);
if(chengji>
100||chengji<
0)
错误,不可能有这样的成绩!
!
elseif(chengji>
该学员的等级为:
A(你好棒啊!
)\n"
=80)
B(你已经做得很好了哦!
=70)
C(争取做得更好吧!
=60)
D(加把劲!
else
该学员他的等级为:
E(要努力哦!
12:
计算长方形、圆形和三角形的面积
编写一个程序,用于计算长方形、圆形和三角形的面积。
根据用户的选择要能计算相应形状的面积。
分析:
考虑用switch结构实现。
1、标识形状的类型:
长方形、圆形和三角形分别用1、2、3表示。
如果输入其它数字提示无效。
2、接收用户输入表示形状的数字。
3、根据用户选择的形状,提示用户输入该形状的详细信息:
长方形要求输长和宽的值;
圆要求输入
半径的值;
三角形要求输入底和高的值。
4、计算相应的面积*/
floatchang,kuan,di,gao,r;
1表示求长方形的面积。
2表示求圆形的面积。
3表示求三角形的面积。
请选择标识形状的类型:
switch(ch)
case'
1'
:
请输入长方形的长和宽:
scanf("
chang);
kuan);
长为%g宽为%g的长方形的面积为:
%g\n"
chang,kuan,chang*kuan);
2'
请输入圆形的半径:
r);
半径为%g的圆的面积为:
r,3.1415926*r*r);
3'
请输入三角形的底和高:
di);
gao);
底为%g高为%g的三角形的面积为:
di,gao,di*gao/2);
default:
你选错了,没有与之相对应的形状.\n"
13:
某公司员工的工资包括底薪和奖金两部分,每个员工的底薪都是1000元,而奖金取决于员工的级别。
不同级别的员工奖金比例如下表:
某公司员工不同级别的员工奖金比例
等级
奖金占底薪的百分比
A
45%
B
40%
C
30%
D
25%
根据员工的级别,计算应付给该员工的工资。
inta=1000;
员工的等级是:
if(ch=='
A'
)
奖金占底薪的0.45。
所得工资为:
%.2f\n"
a+a*0.45);
elseif(ch=='
B'
奖金占底薪的0.4。
a+a*0.4);
C'
奖金占底薪的0.3。
a+a*0.3);
D'
奖金占底薪的0.25。
a+a*0.25);
无奖金。
14:
将上机练习的第一题用switch语句结构实现。
intscore;
输入成绩:
score);
if(score>
=0&
score<
=100)
switch(score/10)
case10:
case9:
printf("
该成绩的等级为:
A\n"
score);
break;
case8:
B\n"
case7:
C\n"
case6:
D\n"
default:
E\n"
entererror!
15.猜价格,从键盘接受用户输入的价格,判断价格与实际价格相比,
提示用户猜的价格高还是低,如果猜对就退出,否则就继续
说明:
Do…while循环控制
If..else判断价格高还是低*/
floatprice,p=100;
do
请输入你猜的价格:
price);
if(price>
p)
printf("
你猜的高了.\n"
elseif(price<
你猜的低了.\n"
elseif(price==p)
恭喜你,你终于猜对了.\n"
}while(price!
=p);
16.从键盘输入一个数,计算这个数的阶层
阶层一个自然数从1到它本身所有数字的乘积
例如(5的阶层)5!
=5*4*3*2*1=120
提示:
用while、do……while、for语句三种方式完成。
使用循环让每个数相乘
使用一个变量保存每一次的乘积*/
inti=1,n,s=1;
输入n的值:
n);
s=s*i;
i++;
while(i<
=n);
%d!
=%d\n"
n,s);
17、从键盘输入一个数,计算这个数的阶层
for(i=1;
i<
=n;
i++)
18.从键盘输入一个数,计算这个数的阶层
while(i<
=n)
19.、打印1-200之间的所有的偶数,
提示:
使用while循环1-200之间的所有整数
在循环过程中使用if语句判断偶数并输出
每行输出10个数,用if判断,有10个数后就换行。
inti=0,j=0;
while(i++<
200)
if(i%2==0)
%d\t"
i);
j=j++;
if(j%10==0)
\n"
20/*题目:
两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定
比赛名单。
有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出
三队赛手的名单。
1.程序分析:
判断素数的方法:
用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
2.程序源代码:
chari,j,k;
for(i='
x'
;
='
z'
for(j='
j<
j++)
{
if(i!
=j)
for(k='
k<
k++)
{
if(i!
=k&
j!
=k)
if(i!
k!
printf("
orderisa--%c\tb--%c\tc--%c"
i,j,k);
}
}
21、判断3个数的大小,判断完后,等待用户输入确定是否进行下一轮,输入‘Y’表示继续,输入其他键表示退出。
charch='
Y'
while(ch=='
输入x,y,z值:
fflush(stdin);
输入字符?
22、输入一个数,计算这个数字各个位数字之和例如12341+2+3+4=10
提示1234/1000=?
1234%1000=?
longi,sum;
intk;
输入一个数:
%ld"
i);
sum=0;
while(i!
=0)
k=i%10;
sum=sum+k;
i=i/10;
各个数字之和:
sum);
23、打印如下的图案
BBB
CCCCC
DDDDDDD
EEEEEEEEE
使用嵌套for循环
外层控制行数
内层控制个数
注意行数和该行个数之间的关系
输入的字符变化与循环数之间的关系*/
inti,j,w=65;
=5;
for(j=1;
=2*i-1;
w);
w++;
24、打印2-200之间的素数
素数素数就是只有1和它本身2个约数没有其他约数的数
例如2,3,5,7都是素数2=1*2…
相反4,6,8都是合数4=1*44=2*2…
外层控制2-200之间数字的循环
内层控制每一个数从1到其本身的循环
并判断它是否为素数
注意使用break跳出*/
#include"
math.h"
voidmain()
intn,i,j,flag;
for(i=2;
=200;
flag=1,j=2;
n=(int)sqrt((double)i);
while(flag&
j<
if(i%j==0)
flag=0;
j++;
if(flag)
%d\t"
25、编写一个程序,用于产生斐波拉契数列的前20个数
斐波拉契数列第1和第2位都为1,从第3位起后1位数字等于前2个数字的和(1,1,2,3,5,8,13,21,34…)
使用for循环控制循环个数
注意算法(第1和第2位都为1,从第3位起后1位数字等于前2个数字的和)*/
math.h>
inta,b,c,e,n;
请任意输入一个数:
1\n"
a=1,b=1,c=2;
for(e=1;