C-输入5个数字,然后输出最大值和最小值
#include
#include
int main ()
{
int a[5],max,min,i;
//开始输入 将五个数字循环输入到数字a中
for(i=0;i<5;i++)
{
scanf_s("%d",a[i]);
}
//将用户输入的的第一个数字都先赋值给max和min
max=a[0];
min=a[0];
//重点:
//进行判断最大值和最小值的循环
for(i=1;i<5;i++)
{
//循环找出数组里面的最大值 max实际上a[0]
if(max
{
max=a[i];
}
if(min>a[i])
{
min=a[i];
}
}
printf("max=%d min=%d", max, min);
system("pause");
return 0;
}
这个是萌码网站上面的一道题目,刚开始想了一会没想出来,就花50积分看的答案,结果发现用到了数组...没看答案之前我在想怎么可以不用数组就能做出来这道题目呢?要循环输入5个数字 我竟然没有想得到数组,也是数组这方面我刚接触..下面的尝试下能不能不用数组就做出来 我觉得应该是可以的
不用数组的情况下 算法还是一样 一个一个数的比较 前一个数和另一个数的比较 难就难在怎么实现
#include
#include
int main()
{
//x是用来存储用户输入的每个数字,max为最大值,min为最小值,i是计数变量
int x,x_2,max, min, i;
x = 0;
x_2 = 0;
//开始输入 第一个数字 不能放到循环里面 因为还要把第一个数字赋值给max和min不然max和min怎么和用户输入的数字进行比较
scanf_s("%d",&x);
//输入的第一个数赋给min和max用来和第二个数字比较 算法就是 第一个和下一个比较 一直到最后一个 把最大的留下 或者最小的留下
min = x;
max = x;
//输入剩下4个数字
for (i = 1; i <= 4; i++)
{
scanf_s("%d",&x_2); //输入的值赋给x_2变量
if (max < x_2) //相当于a[0]和a[1]比较 第一个数和第二个数比较 若max比x_2就默认不变 相反就把x_2赋值给max
{
max = x_2;
}
if (min>x_2)//同上 如果min比x_2小就默认不变,相反就把小的x_2的值赋给min
{
min = x_2;
}
}
printf("max=%d min=%d", max, min);
system("pause");
return 0;
} 总结: 我就是太笨了 而且很难集中注意力 刚才想的事情 突然就忘记了 忘的很干净 想题目的话 这样很折磨的 想题 想着想着忘记了 还要重新来 以后忘记了就不重新来了 接着想 这样做很难 不过 能锻炼下自己集中注意力 多锻炼 !