#include <stdio.h>
#include <string.h>
#include <math.h>
int main(int argc, const char *argv[])
{
// 2023-8-29 练习第1题
// 某服装店进行促销活动,一件上衣原价90元,裤子原价45元,现一套120元。
// 如果我买m套上衣和n套裤子,最少花费多少钱?
printf("\n"); // 第1题开头空1行,看起来舒服一些
printf("第1题************************************************\n");
int a1,a2,a3; // 定义一些整形变量
a1=0,a2=0,a3=0; // 初始化数据
printf("请输入购买数量\n"); // 提示输入购买数量
scanf("%d %d", &a1, &a2 ); // a1=买上衣变量,a2=买裤子变量
if (a1 == a2) // 判断购买上衣和裤子数量是否相等
{
a3=a1*120; // 相等的情况下,选择上衣或者裤子的购买数量*整套的价格
}
else // 购买的上衣和裤子不相等
{
if(a1>a2) // 上衣数量大于裤子数量
{
a3=((a1-a2)*90)+(a2*120); // 裤子数量用来购买整套,上衣-裤子数量=还需购买数量,然后*上衣价格90元,最后算出整套+上衣之和
}
if(a1<a2) // 上衣数量小于裤子数量
{
a3=((a2-a1)*45)+(a1*120); // 上衣数量用来购买整套,裤子-上衣数量=还需购买数量,然后*裤子价格45元,最后算出整套+裤子之和
}
}
printf("你需要花费 = %d\n",a3); // 打印你要花费的金额
// 2023-8-29 练习第2题
//终端输入三角形的三条边,判断是否可以组成三角形,能的话,是等腰三角形,还是等边三角形、或普通三角形
printf("\n"); // 与上一题空1行,看起来舒服一些
printf("第2题************************************************\n");
printf("请输入3条边长\n");
float b1,b2,b3; // 定义3个浮点数,用于3条边
b1=0.0,b2=0.0,b2=0.0; // 初始化3条边的数据
scanf("%f %f %f", &b1, &b2, &b3 ); // 输入3条边长
if (b1+b2>b3 && b1+b3>b2 && b2+b3>b1) // 判断能否组成三角形
{
if((b1==b2) && (b2==b3) && (b1==b3)) // 判断3条边相等
printf("组成等边三角行了\n"); // 打印组成等边三角形
else if((b1==b2)||(b2==b3)||(b1==b3)) // 判断2条边相等,另一条边不等
printf("组成等腰三角行了\n"); // 打印组成等腰三角形
else
printf("组成普通三角行了\n"); // 打印能组成普通三角形
}
else // 不能组成三角形
{
printf("不能组成三角行\n"); // 打印不能组成三角形
}
// 2023-8-29 练习第3题
//终端输入一个数,判断是一、二、三位数
//如果是一位数的话,判断奇偶
//如果是二位数的话,判断个位能不能被十位整除
//如果是三位数的话,判断个的三次方+十的三次方+百的三次方 = 本身。(水仙花数)
printf("\n"); // 与上一题空1行,看起来舒服一些
printf("第3题************************************************\n");
printf("请输入1~3位数\n");
int c1,c2,c3,c4,c5,c6,c7,c8; // 定义一些变量
c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0; // 数据初始化
scanf("%d", &c1 ); // 终端输入数据
if(c1>0 && c1<=9) // 判断是否1位数
{
c2=1; // =1位数
if(c1%2==0) // 判断没有余数
{
printf("是偶数\n"); // 没余数打印是偶数
}
else
{
printf("是奇数\n"); // 否则打印是奇数
}
}
if(c1>=10 && c1<=99) // 判断是否2位数
{
c2=2; // =2位数
c3=c1/1%10; // 取个位数
c4=c1/10%10; // 取十位数
printf("个位数显示=%d\n", c3); // 打印取出的个位数
printf("十位数显示=%d\n", c4); // 打印取出的十位数
if(c3%c4 == 0)
{
printf("能整除\n"); // 打印能整除
}
else
{
printf("不能整除\n"); // 打印能整除
}
}
if(c1>=100 && c1<=999) // 判断是否3位数
{
c2=3; // =3位数
c5 = c1/100; // 取出百位数
c6 = c1/10%10; // 取出十位数
c7 = c1/1%10; // 取出个位数
printf("百=%d\n",c5); // 打印百位数
printf("十=%d\n",c6); // 打印十位数
printf("个=%d\n",c7); // 打印个位数
c8=pow(c5,3)+pow(c6,3)+pow(c7,3); // 计算3个数的次方之和
printf("PPDI=%d\n",c8); // 打印计算之和
if (c8== c1) // 判断2个数是否相等
{
printf("是水仙花数\n"); // 相等打印是水仙花数
}
else
{
printf("不是水仙花数\n"); // 不等打印非水仙花数
}
}
printf("数据位数显示=%d\n", c2);
return 0;
}