上机1 顺序结构和选择结构

任务1:两个变量的值进行交换
定义变量first和second,从键盘输入两个数分别存放于first和second中,输出这两个变量的值。然后,这两个变量中的值进行交换,再输出这两个变量的值。

int main()
{
int first,second,third;
printf("请输入第一个数:");
scanf("%d",&first);
printf("请输入第二个数:");
scanf("%d",&second);
printf("输出交换前的数\n第一个数是:%d\n第二个数是:%d\n",first,second);
third=first;
first=second;
second=third;
printf("输出互换后的数\n现在第一个数是:%d\n现在第二个数是:%d\n",first,second);
return 0;
}

运行结果如下:
在这里插入图片描述
任务2:对于给定字符,请输出该字符的前驱字符和后继字符。

int main()
{
char x;
printf("请输入一个字符:");
scanf("%c",&x);
if(x=='A'||x=='a')
{
printf("该字符没有前驱字符,后继字符为:%c\n",x+1);
}
else 
if(x=='Z'||x=='z')
{
printf("前驱字符为%c,该字符没有后继字符\n",x-1);
}
else
{
printf("前驱字符为%c,后继字符为%c\n",x-1,x+1);
}
return 0;
}

运行结果如下:

在这里插入图片描述
任务3:输入一个四位整数,输出各位相加之和。如输入:1234,最后输出10

int main()
{
int n,a,b,c,d;
printf("输入一个四位数字:");
scanf("%4d",&n);
printf("输入的数字为%d\n",n);
a=n/1000;
b=(n%1000)/100;
c=(n%100)/10;
d=n%10;
printf("四位数字每位相加的和为:%d\n",a+b+c+d);
return 0;
}

运行结果如下:

在这里插入图片描述

任务4:输入三角形三边长,判断其能否构成三角形,若能,则计算三角形面积并输出结果。否则,输出不能构成三角形。
提示:已知三角形三边a,b,c,则可利用海伦公式计算三角形面积,p=(a+b+c)/2
S=sqrt[p(p-a)(p-b)(p-c)]

int main()
{
double a,b,c,s,p;
printf("请输入边长:\n");
scanf("%lf %lf %lf",&a,&b,&c);
if(a>0&&b>0&&c>0)
{
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
s=sqrt(p);
printf("a=%lf b=%lf c=%lf能构成三角形,面积是%lf\n",a,b,c,s);
}
else
printf("a=%lf b=%lf c=%lf不能构成三角形\n",a,b,c);
}
else 
{
printf("请重新输入边长\n");
}
return 0;
}

运行结果如下:

在这里插入图片描述
任务5:判断某年是否是闰年。
输入一个年份(int类型),判别是否为闰年,是闰年输出“这一年是闰年”,否则输出“这一年不是闰年”。接下来编写一个程序,使用逻辑运算符与if语句判断年份是闰年还是平年。
提示语句:year % 4 == 0 && (year % 100 != 0 ||year % 400 == 0)

int main()
{
int year;
printf("请输入年份:");
scanf("%d",&year);
if(year%4==0&&(year%100!=0||year%400==0))
{
printf("这一年是闰年\n");
}
else
{
printf("这一年不是闰年\n");
}
return 0;
}

运行结果如下:

在这里插入图片描述

任务6:输入存款金额和存期,计算本息。
1年期定期存款利息:2.25%
2年期定期存款利息:2.7%
3年期定期存款利息:3.4%
5年期定期存款利息:3.6%
提示:可以用switch语句实现。

int main()
{
int period;
double money,rate,sum;
sum=0;
printf("请输入存款金额:\n");
scanf("%lf",&money);
printf("请输入存期:\n");
scanf("%d"&period);
switch(period)
{
case 1:
rate=0.0225;break;
case 2:
rate=0.027;break;
case 3:
rate=0.034;break;
case 5:
rate=0.036;break;
}
sum=money*rate*period;
printf("利息为%2lf\n",sum);
printf("%d年本息为%2lf\n",period,sum+money);
return 0;
}

运行结果如下:
在这里插入图片描述
任务7:从键盘输入三个整数,按从小到大排序输出。

int main()
{
int x,y,z,t;
printf("请输入三个整数:");
scanf("%d %d %d",&x,&y,&z);
printf("三个数分别为:%d %d %d\n",x,y,z);
if(x>y)
{
t=x;
x=y;
y=t;
}
if(x>z)
{
t=x;
x=z;
z=t;
}
if(y>z)
{
t=y;
y=z;
z=t;
}
printf("由小到大的排序:%d %d %d\n",x,y,z);
return 0;
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值