下标输出怎么都有问题,怎么改??

从风~ 2019-10-28 01:12:06
#include "stdio.h"
int main ()
{
int a[8],i,n,m;
int max,min;

printf("请输入8个数:\n");
for(i=0;i<8;i++)
scanf("%d",&a[i]);

max=min=a[0];

for(i=1;i<8;i++)
{
if(a[i]>max){
max=a[i];n=i;}
}

for(i=1;i<8;i++)
{
if(a[i]<min){
min=a[i];m=i;}
}

printf("最大数为第%d个:%d,最小数为第%d个:%d\n",n,max,m,min);
return 0;
}




...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rookie on the road 2019-10-28
  • 打赏
  • 举报
回复
引用 3 楼 OYJJO 的回复:
[quote=引用 1 楼 45045399的回复:]
#include "stdio.h" 
int main ()
{
   int a[8];
   int i,n = 1,m = 1;  //默认为第一个为最大值和最小值
   int max,min;
   
   printf("请输入8个数:\n");
   for(i=0;i<8;i++)
   scanf("%d",&a[i]);
   
   max=min=a[0];
   
   for(i=1;i<8;i++)
   {
      if(a[i]>max){
       max=a[i];n=i + 1;}  //第几个数与数组下标的关系为数组下标 + 1
   } 
   
   for(i=1;i<8;i++)
   { 
      if(a[i]<min){
      min=a[i];m=i + 1;}  //同上
   }
   
   printf("最大数为第%d个:%d,最小数为第%d个:%d\n",n,max,m,min);
   return 0;
}
仅供参考
那那两个if能不分开,在一个for里吗?[/quote] 两个if语句可以放在一个for循环里面,在这个程序里面不影响,
wowpH 2019-10-28
  • 打赏
  • 举报
回复
试试就知道了。
从风~ 2019-10-28
  • 打赏
  • 举报
回复
引用 1 楼 45045399的回复:
#include "stdio.h" 
int main ()
{
   int a[8];
   int i,n = 1,m = 1;  //默认为第一个为最大值和最小值
   int max,min;
   
   printf("请输入8个数:\n");
   for(i=0;i<8;i++)
   scanf("%d",&a[i]);
   
   max=min=a[0];
   
   for(i=1;i<8;i++)
   {
      if(a[i]>max){
       max=a[i];n=i + 1;}  //第几个数与数组下标的关系为数组下标 + 1
   } 
   
   for(i=1;i<8;i++)
   { 
      if(a[i]<min){
      min=a[i];m=i + 1;}  //同上
   }
   
   printf("最大数为第%d个:%d,最小数为第%d个:%d\n",n,max,m,min);
   return 0;
}
仅供参考
那那两个if能不分开,在一个for里吗?
fireyou 2019-10-28
  • 打赏
  • 举报
回复
数组下表是从0开始,第一个是0, 所以你要的第几个需要+1
Rookie on the road 2019-10-28
  • 打赏
  • 举报
回复
#include "stdio.h" 
int main ()
{
   int a[8];
   int i,n = 1,m = 1;  //默认为第一个为最大值和最小值
   int max,min;
   
   printf("请输入8个数:\n");
   for(i=0;i<8;i++)
   scanf("%d",&a[i]);
   
   max=min=a[0];
   
   for(i=1;i<8;i++)
   {
      if(a[i]>max){
       max=a[i];n=i + 1;}  //第几个数与数组下标的关系为数组下标 + 1
   } 
   
   for(i=1;i<8;i++)
   { 
      if(a[i]<min){
      min=a[i];m=i + 1;}  //同上
   }
   
   printf("最大数为第%d个:%d,最小数为第%d个:%d\n",n,max,m,min);
   return 0;
}
仅供参考

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧