c语言编程依次将10个数输入,要求输出其中最大的数,网上搜出来的答案基本上都是输入的第一个数就认为是最大

2024年11月28日 18:46
有5个网友回答
网友(1):

#include

int main()
{
int i,j,a[10],max;

for(i = 0;i < 10;i++)
scanf("%d",&a[i]);
max = a[0];
for (j = 0;j < 10;j++)
{
if (a[j]>max)
max=a[j];
}
printf("max=%d\n",max);
return 0;
}
LZ看我写的这个OK不?
不懂请追问,望采纳~~

网友(2):

你给的程序都对的。先将第个输入的数赋给最大值,是为了少一次比较,你可以将最大值赋为0,然后每次输入数时都与最大值比较,若新输入的数较大,则更新最大值。

网友(3):

//我正在机房上课,已通过验证(c99标准的)
#include
#define N 10
int s[N];

int f(int n){
return n == 1 ? max(s[0], s[1]) : max(f(n-1), s[n]);
}
int max(int a, int b){
return a >= b ? a : b;
}
int main(){

for(int i = 0; i < 10; i++){ //这个你可以把 i 声明在外边否则用gcc编译的话要加 -std=c99
scanf("%d", &s[i]);
}
printf("%d", f(N-1));
return 0;
}

网友(4):

#include

int main()
{
int i,j,a[10],max;

for(i = 0;i < 10;i++)
scanf("%d",&a[i]);
max = a[0];
for (j = 0;j < 10;j++)
{
if (a[j]>max)
max=a[j];
}
printf("max=%d\n",max);
return 0;
}

网友(5):

#include
void main()
{
int n,a,max;
n=1;
scanf("%d",&max);
while (n<10)
{
scanf("%d",&a);
if (a>max) max=a;
n=n+1;
}
printf("%d",max);
}