目录
前言
1、网购
1.1题目
描述
输入描述:
输出描述:
编辑
1.1 解题
2、带空格直角三角形图案
2.1题目
描述
输入描述:
输出描述:
编辑
2.2 解题
3、小乐乐改数字
3.1 题目
描述
输入描述:
输出描述:
3.3解题
4 结语
前言
纸上得来终觉浅,觉知此事要躬行。C语言的学习不仅要了解理论知识,更要不断练习,在练习中成长。下面我将给出几到例题,并分析讲解,帮助我们在实践中了解C语言。
1、网购
1.1题目
描述
KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。
数据范围:衣服价格满足 1≤val≤100000
输入描述:
一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。 注:输入日期保证只有“双11”和“双12”。
输出描述:
一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你钱)
1.1 解题
看完本题,先想思路。本题主题就是一个条件判断的程序,输入的参数分别是商品价格、当天日期(只能是双十一和双十二中的一个),最后一个表示有无优惠卷,有就为1,没有就是0。
下面开始编程:
#include <stdio.h>
int main()
{
float a = 0;
int b = 0;
int c = 0;
int d = 0;
scanf("%f", &a);
scanf("%d", &b);
scanf("%d", &c);
scanf("%d", &d);
int i = 0;
float val = 0;
if (b == 11 && c == 11)
{
val = a * 0.7;
if (d == 1)
{
val = val - 50;
}
}
if (b == 12 && c == 12)
{
val = a * 0.8;
if (d == 1)
{
val = val - 50;
}
}
if(val<0)
{
val=0;
}
printf("%.2f", val);
return 0;
}
输出成功。
2、带空格直角三角形图案
2.1题目
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。
输入描述:
多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。
输出描述:
针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。
2.2 解题
注意,这是需要多组输入的。解此题只需要用到循环即可。
下面看代码:
#include <stdio.h>
int main()
{
int a = 1;
int i = 0;
int j = 0;
while (a) {
scanf("%d", &a);
for (i = 0; i < a; i++)
{
for (j = 0; j < a; j++)
{
if (i + j >= a - 1)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}
通过循环,只需要判断何时需要打印‘* ’,何时需要打印“空格”,即可。
3、小乐乐改数字
3.1 题目
描述
小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。
输入描述:
输入包含一个整数n (0 ≤ n ≤ 109)
输出描述:
输出一个整数,即小乐乐修改后得到的数字。
3.3解题
此题需要我们知道,如何将一个整型数据的每一位进行判断,如何去判断每一位数的奇偶性。
对于奇偶判断,只需要%2,值为1则为奇数,值为0则为偶数。整型数组每次‘/10’,少一位。比如123这个数字,一次'/10',就变成12,再'/10',就变成1。利用这个性质,我们写出如下代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int a = 0;
for (i = 0;i < 9;i++)
{
if (n % 2 == 1)
{
a = a + (int)pow(10, i);
}
n = n / 10;
}
printf("%d", a);
return 0;
}
验证输出:
4 结语
每天保持练习,持之以恒,我们的C语言技术才会越发熟练,不要小瞧每一次练习。