用C语言实现一个一年365天持续努力的价值,用数据说明。 二、数据结构 54 float bi;/每天进步百分比,如: 5%o float xs;/向 上的力量,如: 6.17 float x;/向下的力量,如: 0.16 三、软件功能说明 1、一年365天,每天进步1%,累计进步多少呢? 1.01365 -年365天, 每天退步1%, 累计剩下多少呢? 2、5%o和1%的力量对比,数据写入文件中 3、工作日的力量 -年365天,- -周5个工作日,每天进步1% -年365天, - -周2个休息日,每天退步1% 这种工作日的力量,如何呢? 4、工作日的努力 工作日模式要努力到什么水平,才能与每天努力1%一样 A君:一年365天,每天进步1%,不停歇 B君:一年365天,每周工作5日休息2日,休息日下降1%,工作日要多努力?才能和A 君一样? 5、A君和B君10年工作的数据对比都写入文件 格式: A君10年x B君10年y 注: x, y是数据,比如,A君10年持续工作的力量是123451 (比较原来的力量值1) 34班级同学身体质量指数BMI统计分析
时间: 2024-03-16 11:48:09 浏览: 189
所有基础数据结构和算法的纯C语言实现,如各自排序、链表、栈、队列、各种树....
很好,以下是你的问题的回答:
1. 用C语言实现一个一年365天持续努力的价值,用数据说明。
以下是一个基础的C语言代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
float bi = 0.01; //每天进步百分比
float xs = 6.17; //向上的力量
float x = 0.16; //向下的力量
float progress = 1.0; //初始进步值为1
for (int i = 1; i <= 365; i++) {
progress = progress * (1 + bi) - (i % 7 <= 1 ? x : 0); //每天的进步值
}
float remaining = progress; //剩余进步值
for (int i = 1; i <= 365; i++) {
remaining = remaining * (1 - bi) + (i % 7 <= 1 ? x : 0); //每天的剩余值
}
printf("一年365天,每天进步1%%,累计进步为:%.2f%%\n", (progress - 1) * 100);
printf("一年365天,每天退步1%%,累计剩余为:%.2f%%\n", (remaining - 1) * 100);
float weekday_progress = 1.0; //工作日进步值
for (int i = 1; i <= 365; i++) {
weekday_progress = weekday_progress * (1 + bi) - (i % 7 == 6 || i % 7 == 0 ? x : 0); //工作日的进步值
}
printf("工作日每天进步1%%,一年365天,周5个工作日,每天进步1%%,周2个休息日,每天退步1%%,一年的进步为:%.2f%%\n", (weekday_progress - 1) * 100);
float b_progress = 1.0; //B君的进步值
for (int i = 1; i <= 365; i++) {
b_progress = b_progress * (1 + bi) - (i % 7 == 6 || i % 7 == 0 ? x : x * 1.01); //B君的进步值
}
int a_progress = pow(1 + bi, 365 * 10) * xs; //A君10年的进步值
int b_progress_10 = pow(1 + bi, 365 * 5) * pow(1 - 0.01, 365 * 2) * pow(1 + b_progress / xs, 365 * 3) * xs; //B君10年的进步值
printf("A君在10年内的进步为:%d,B君在10年内的进步为:%d\n", a_progress, b_progress_10);
return 0;
}
```
2. 5%o和1%的力量对比,数据写入文件中
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
float bi = 0.01; //每天进步百分比
float xs = 6.17; //向上的力量
float x = 0.16; //向下的力量
float progress_1 = 1.0; //1%的力量进步值
float progress_5 = 1.0; //5%o的力量进步值
FILE *fp = fopen("power_comparison.txt", "w"); //打开文件
for (int i = 1; i <= 365; i++) {
progress_1 = progress_1 * (1 + 0.01); //1%的力量进步值
progress_5 = progress_5 * (1 + 0.05 / 100); //5%o的力量进步值
fprintf(fp, "%d %.2f %.2f\n", i, progress_1, progress_5); //将数据写入文件
}
fclose(fp); //关闭文件
return 0;
}
```
3. 工作日的力量
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
float bi = 0.01; //每天进步百分比
float xs = 6.17; //向上的力量
float x = 0.16; //向下的力量
float weekday_progress = 1.0; //工作日进步值
float weekend_progress = 1.0; //周末进步值
for (int i = 1; i <= 365; i++) {
if (i % 7 == 6 || i % 7 == 0) {
weekend_progress = weekend_progress * (1 - 0.01); //周末的进步值
} else {
weekday_progress = weekday_progress * (1 + bi) - x; //工作日的进步值
}
}
printf("工作日每天进步1%%,一年365天,周5个工作日,每天进步1%%,周2个休息日,每天退步1%%,一年的进步为:%.2f%%\n", (weekday_progress * weekend_progress - 1) * 100);
return 0;
}
```
4. 工作日的努力
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
float bi = 0.01; //每天进步百分比
float xs = 6.17; //向上的力量
float x = 0.16; //向下的力量
float weekday_progress = 1.0; //工作日进步值
float weekend_progress = 1.0; //周末进步值
for (int i = 1; i <= 365; i++) {
if (i % 7 == 6 || i % 7 == 0) {
weekend_progress = weekend_progress * (1 - 0.01); //周末的进步值
} else {
weekday_progress = weekday_progress * (1 + bi) - x; //工作日的进步值
}
}
float a_progress_10 = pow(1 + bi, 365 * 10) * xs; //A君10年的进步值
float b_progress_10 = pow(1 + bi, 365 * 5) * pow(1 - 0.01, 365 * 2) * pow(1 + weekday_progress / xs, 365 * 3) * xs; //B君10年的进步值
float b_weekday_bi = pow(b_progress_10 / xs, 1.0 / (365 * 3)) - 1; //B君工作日的进步百分比
printf("A君一年365天,每天进步1%%,不停歇;B君一年365天,每周工作5日休息2日,休息日下降1%%,工作日要努力%.2f%%才能和A君一样\n", b_weekday_bi * 100);
return 0;
}
```
5. A君和B君10年工作的数据对比都写入文件
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
float bi = 0.01; //每天进步百分比
float xs = 6.17; //向上的力量
float x = 0.16; //向下的力量
float a_progress_10 = pow(1 + bi, 365 * 10) * xs; //A君10年的进步值
float b_progress_10 = pow(1 + bi, 365 * 5) * pow(1 - 0.01, 365 * 2) * pow(1 + pow(1 + bi, 365 * 5) * pow(1 - 0.01, 365 * 2) / xs, 365 * 3) * xs; //B君10年的进步值
FILE *fp = fopen("progress_comparison.txt", "w"); //打开文件
for (int i = 1; i <= 10; i++) {
float a_progress = pow(1 + bi, 365 * i) * xs; //A君每年的进步值
float b_progress = pow(1 + bi, 365 * i) * pow(1 - 0.01, 365 * 2) * pow(1 + pow(1 + bi, 365 * i) * pow(1 - 0.01, 365 * 2) / xs, 365 * (10 - i)) * xs; //B君每年的进步值
fprintf(fp, "%d %d %d\n", i, (int)a_progress, (int)b_progress); //将数据写入文件
}
fclose(fp); //关闭文件
return 0;
}
```
6. 34班级同学身体质量指数BMI统计分析
这个问题与前面的C语言实现无关,需要您提供更多的问题细节和数据,才能给出回答。
阅读全文