基于visual Studio2013解决C语言竞赛题之1022最大数最小数

时间:2023-03-09 15:32:43
基于visual Studio2013解决C语言竞赛题之1022最大数最小数





基于visual Studio2013解决C语言竞赛题之1022最大数最小数

题目

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

解决代码及点评


/************************************************************************/
/*
22. 有一批实数,用零作终止标记。请编程序找出这批数中的最大值及最小值,
并输出该最大值数是这批数中的第几个数(若最大值数多次出现,只打印出第一个的位置)。
又问:若打印出每个最大值数的位置,程序应如何修改? */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int FindMin18(float * arr,int n)
{
int min=0;
for (int i=1;i<n;i++)
{
if (arr[min]>arr[i])
{
min=i;
}
}
return min;
}
int FindMax18(float * arr,int n)
{
int max=0;
for (int i=1;i<n;i++)
{
if (arr[max]<arr[i])
{
max=i;
}
}
return max;
}
void FindMaxMax18(float * arr,int n)
{
int max=0;
for (int i=1;i<n;i++)
{
if (arr[max]<arr[i])
{
max=i;
}
}
for (int j=0;j<n;j++)
{
if (arr[j]==arr[max])
{
printf("%5d",j+1);
}
}
}
//用一个数组保存相应的个数
void main()
{
float arr[100]={0};// 设置最长输入为100个
int i=0;
while(1)
{
scanf_s("%f",&arr[i]);
float temp=arr[i];
if (temp==0)
{
break;
}
i++;
}
for (int j=0;j<i;j++)
{
printf("%5f",arr[j]);
}
printf("\n");
printf("最大值数为%f第一次出现位置为%d\n",arr[FindMax18(arr,i)],FindMax18(arr,i)+1);
printf("最小值数为%f\n",arr[FindMin18(arr,i)]);
printf(" 打印出最大值所有位置\n");
FindMaxMax18(arr,i);
system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

2)选择工程

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

3)创建完工程如下图:

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

4)增加文件,右键点击项目

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

5)在弹出菜单里做以下选择

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

6)添加文件

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

7)拷贝代码与运行

基于visual Studio2013解决C语言竞赛题之1022最大数最小数

程序运行结果

基于visual Studio2013解决C语言竞赛题之1022最大数最小数



代码下载

http://download.****.net/detail/yincheng01/6681845

解压密码:c.itcast.cn