实验题目1:
编写程序,计算购货款。请输入购货金额,输出实际付款金额。
购货折扣率如下:
购货金额<=500元 不打折
500元<购货金额<=1000元 9折
1000元<购货金额 8折
分别用if语句、switch语句编程。
设计思想:
获取购货金额b,通过if语句改变a的值,从而改变switch语句中的
选择,从而打折
实验代码及注释:
#include<stdio.h>
int main()
{
int a = 0;
float b = 0.0;
scanf("%f", &b);
if (b <= 500)
{
a = 0;
}
else if (b <= 1000)
{
a = 1;
}
else
{
a = 2;
}
switch (a)
{
case(0):
{
printf("%f\n", b);
break;
}
case(1):
{
printf("%f\n", b * 0.9);
break;
}
case(2):
{
printf("%f\n", b * 0.8);
break;
}
}
return 0;
}
验证与结论:
没有bug。
总结与心得体会:
金额嘛,用浮点数获取,毕竟int乘以float得到的还是float。
实验题目2:
输入4个整数,求其前两个数中较小的数与后两个数中较大的数之和。
设计思想:比较后运算
实验代码及注释:
#include<stdio.h>
int main()
{
int arr1[4] = { 0 };
for (int i = 0; i < 4; i++)
{
scanf("%d", &arr1[i]);
}
int a = arr1[0] >= arr1[1] ? arr1[1] : arr1[0];
int b = arr1[2] >= arr1[3] ? arr1[2] : arr1[3];
int c = a + b;
printf("%d\n", c);
return 0;
}
验证与结论:又穷测试通过
总结与心得体会:easy
实验题目3:
输入8个整数,求其中所有偶数的和。
设计思想:判断加运算
实验代码及注释:
#include<stdio.h>
int main()
{
int arr[8] = { 0 };
int sum = 0;
for (int i = 0; i < 8; i++)
{
scanf("%d", &arr[i]);
if (arr[i] % 2 == 0)
{
sum += arr[i];
}
}
printf("%d\n", sum);
return 0;
}
验证与结论:又穷测试正确
总结与心得体会:easy
实验题目4:
输入10个整数,输出其中的最大值和最小值。
设计思想:比大小
实验代码及注释:
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
int min = 0, max = 0;
for (int i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
min = arr[0];
max = arr[0];
for (int i = 1; i < 10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
if (min > arr[i])
{
min = arr[i];
}
}
printf("最大值:%d\n最小值:%d\n", max, min);
return 0;
}
验证与结论:又穷测试正确
总结与心得体会:easy
实验题目5:
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃
了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃
了前一天剩下的一半多一个。到第10天早上想再吃时,发现只剩下一个桃子了。
求第一天共摘了多少个桃子。
设计思想:
用递归求解。
实验代码及注释:
#include<stdio.h>
int main()
{
int qiu(int);
printf("%d\n",qiu(1));
return 0;
}
int qiu(int a)
{
if (a == 10)
{
return 1;
}
else
{
return ((qiu(a + 1) + 1) * 2);
}
}
验证与结论:
结果为1534,人工计算正确。
总结与心得体会:
return了,不一定显示在屏幕上。