C语言题问题.

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:09:37
从键盘输入100个整型数据。请找出其中最大的一个数,并指出这个最大的数是第几次输入的。
#include<stdio.h>
main()
{
int i,a,b,k=1,t;
printf("please input one number(num.1):");
scanf("%d",&a);
for(i=2;i<101;i++)
{printf("please input one number(num.%d):",i);
scanf("%d",&b);
if(b>a)
{a=b;k=i;}

}printf("最大的数为%d,输入序号为%d\n",a,k);
}
问题:如果有几次输入的数字相等,且都是最大的,怎么样让最大的序号全部列出来?

用数组啊
#include<stdio.h>
main()
{
int i,a[1000],b,t;
for(i=1;i<101;i++)
{printf("please input one number(num.%d):",i);
scanf("%d",&a[i]); }
b=a[1];
for(i=1;i<101;i++)
{if(a[i]>b)
b=a[i];
else continue;
}
for(i=1;i<101;i++)
if(a[i]==b)
printf("最大的数为%d,输入序号为%d\n",a[i],i);
}

#include<stdio.h>
void main()
{
int i,j=0;
int a[100]={0};
int b[100]={0};
printf("请输入100个数:\n");
for(i=0;i<100;i++)
{scanf("%d",&a[i]);}
int k=a[0];
for(i=1;i<100;i++)
{if(a[i]>k)k=a[i];}
for(i=0;i<100;i++)
{if(a[i]==k)b[j]=i,j++;}
printf("所输入的最大值为%d,分别在第",k);
for(i=0;i<j;i++)
{printf("%d ",b[i]+1);}
printf("次输入\n");
}