如何用Visual Studio 2013在C语言竞赛中替换0502题目的最小数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计545个文字,预计阅读时间需要3分钟。
题目:找出数组中最小数及其下标,并将其与数组中前面的元素对换位置
解决代码及点评:pythondef swap_min(arr): if not arr: return None
min_index=arr.index(min(arr)) min_value=arr[min_index]
# 如果最小值不在数组开头,则与前面的元素对换 if min_index !=0: arr[0], arr[min_index]=arr[min_index], arr[0]
return min_value, min_index
测试代码arr=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3]min_value, min_index=swap_min(arr)print(f最小值: {min_value}, 下标: {min_index})print(f数组: {arr})
点评:- 代码简洁,逻辑清晰。- 使用了Python内置的`min`函数和`index`方法来找到最小值及其下标。- 通过条件判断确保只有当最小值不在数组开头时才进行对换。- 测试代码展示了函数的使用方法和输出结果。
题目
解决代码及点评
/************************************************************************//*
2. 有一个数组,内放10个整数。要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10];
int min;//定义最小值
int k;//记录下标
for (int i=0;i<10;i++)//给数组赋值十个随机数
{
a[i]=rand()%100;
printf("%d\t",a[i]);
}
min=a[0];
for (int i=0;i<10;i++)//将最小值赋给min,得到数组最小值下标
{
if (min>a[i])
{
min=a[i]; // min保存最小值
k=i; // k保存最小值的下标
}
}
printf("\nmin=%d,k=%d\n",min,k);
//将a[0]和a[k]交换后输出
a[0]=a[0]+a[k];
a[k]=a[0]-a[k];
a[0]=a[0]-a[k];
for (int i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
system("pause");
}
代码下载及其运行
代码下载链接:
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果
本文共计545个文字,预计阅读时间需要3分钟。
题目:找出数组中最小数及其下标,并将其与数组中前面的元素对换位置
解决代码及点评:pythondef swap_min(arr): if not arr: return None
min_index=arr.index(min(arr)) min_value=arr[min_index]
# 如果最小值不在数组开头,则与前面的元素对换 if min_index !=0: arr[0], arr[min_index]=arr[min_index], arr[0]
return min_value, min_index
测试代码arr=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3]min_value, min_index=swap_min(arr)print(f最小值: {min_value}, 下标: {min_index})print(f数组: {arr})
点评:- 代码简洁,逻辑清晰。- 使用了Python内置的`min`函数和`index`方法来找到最小值及其下标。- 通过条件判断确保只有当最小值不在数组开头时才进行对换。- 测试代码展示了函数的使用方法和输出结果。
题目
解决代码及点评
/************************************************************************//*
2. 有一个数组,内放10个整数。要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10];
int min;//定义最小值
int k;//记录下标
for (int i=0;i<10;i++)//给数组赋值十个随机数
{
a[i]=rand()%100;
printf("%d\t",a[i]);
}
min=a[0];
for (int i=0;i<10;i++)//将最小值赋给min,得到数组最小值下标
{
if (min>a[i])
{
min=a[i]; // min保存最小值
k=i; // k保存最小值的下标
}
}
printf("\nmin=%d,k=%d\n",min,k);
//将a[0]和a[k]交换后输出
a[0]=a[0]+a[k];
a[k]=a[0]-a[k];
a[0]=a[0]-a[k];
for (int i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
system("pause");
}
代码下载及其运行
代码下载链接:
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行

