要用函数写,有没有学长指导一下一把
在vc++2010里用c语言编写一个函数,在一维数组中找到最大值和最小值及其下标并且顺序输出数组,一维数组由用户输入
测试运行没问题
#include <stdio.h>
void find_max_min(double* numbers, int length, double* max_value, int* max_index, double* min_value, int* min_index);
int main() {
double numbers[10];
int i;
// 提示用户输入浮点数
printf("请输入10个浮点数:\n");
for (i = 0; i < 10; i++) {
printf("请输入第%d个数:", i+1);
scanf("%lf", &numbers[i]);
}
double max_value, min_value;
int max_index, min_index;
// 查找最大值和最小值及其下标
find_max_min(numbers, 10, &max_value, &max_index, &min_value, &min_index);
// 输出结果
printf("排序后的数组为:");
for (i = 0; i < 10; i++) {
printf("%.3lf ", numbers[i]);
}
printf("\n最大值为:%.3lf,下标为:%d\n", max_value, max_index);
printf("最小值为:%.3lf,下标为:%d\n", min_value, min_index);
return 0;
}
void find_max_min(double* numbers, int length, double* max_value, int* max_index, double* min_value, int* min_index) {
int i;
*max_index = 0;
*min_index = 0;
*max_value = numbers[0];
*min_value = numbers[0];
for (i = 1; i < length; i++) {
if (numbers[i] > *max_value) {
*max_index = i;
*max_value = numbers[i];
}
if (numbers[i] < *min_value) {
*min_index = i;
*min_value = numbers[i];
}
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
2. 创建Win32
控制台应用程序
3. 下一步
4. 选择控制台应用程序
和空项目
5.在资源文件
文件夹上面鼠标右键,一次选择添加
-新建项
5. 选择C++文件,输入文件名称,不需要添加后缀
6. 添加代码
复制粘贴上面的完整代码。如果使用原作者的代码需要添加取消Unicode的宏定义以及添加tchar.h头文件。
7. 添加完代码后,VC2010程序会自动加载外部依赖项
,等待加载完后,点击运行调试图标按键。
8,调试窗口,界面是黑的,按任意键,开始进入游戏
8. 游戏开始后,键盘需要切换为大写输入模式,也就是CapsLk
按键,才能进行游戏操控。
9. 按键:A S W D
还有空格
按键,
#define KEY_UP 87 //用户操作
#define KEY_LEFT 65
#define KEY_RIGHT 68
#define KEY_DOWN 83
#define KEY_SPACE 32