不知道哪里错了
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n (1<n≤10),再输入n个整数,输出最大值极其下标(设最大值惟一,下标从0开始)。
例:括号内是说明
输入
3 (repeat=3)
3 1 6 4
3 10 8 1
5 1 2 5 4 0
输出
max=6,index=1 (最大值6的下标是1)
max=10,index=0 (最大值10的下标是0)
max=5,index=2 (最大值5的下标是2)
#include <stdio.h>
int main()
{
int a;
int g;
int w,k,l,q,o;
scanf("%d",&g);
for (int i=0;i<g;i++)
{
scanf("%d",k);
for(w=0;w<k;w++)
{
scanf("%d",&a);
if(w=1)
{
if(a>a)
l=a;
else
l=a;
}
if(w>1)
{
if(a>l)
{l=a;
q=w;
}
}
}
}
for(o=0;o<g;o++)
{
printf("max=%d,index=%d\n",l,q);
}
} 你的变量设置的,看得我头晕,我重新帮你写程序吧 本帖最后由 jackz007 于 2020-12-16 10:31 编辑
#include <stdio.h>
int main()
{
int a , b , g , i , j , k ;
scanf("%d", & g) ;
for (i = 0 ; i < g ; i ++) {
scanf("%d" , & b) ;
for(j = 0 ; j < b ; j ++) scanf("%d" , & a) ;
}
for(i = 0 ; i < g ; i ++) {
for(k = j = 0 ; j < b ; j ++) if(a > a) k = j ;
printf("max = %d , index = %d\n" , a , k) ;
}
}
编译、运行实况
D:\0002.Exercise\C>cl x.c
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.28.29334 版
版权所有(C) Microsoft Corporation。保留所有权利。
x.c
Microsoft (R) Incremental Linker Version 14.28.29334.0
Copyright (C) Microsoft Corporation.All rights reserved.
/out:x.exe
x.obj
D:\0002.Exercise\C>x
3
3 1 6 4
3 10 8 1
5 1 2 5 4 0
max = 6 , index = 1
max = 10 , index = 0
max = 5 , index = 2
D:\0002.Exercise\C> #include <stdio.h>
int main()
{
int a;
int i,j,k;
int repeat, n, max, index;
scanf("%d", &repeat); // 重复次数
for (i = 0;i < repeat;i++)
{
printf("请输入数据的个数:");
scanf("%d", &n); // 输入数据个数
for (j = 0;j < n;j++)
{
scanf("%d", &a); // 输入数据
max = a; // 假设第1个就是最大值
index = 0; // 记录最大值的下标
for (k = 1;k < n;k++)
{
if (a > max)
{
max = a; // 将大值记为新的最大值
index = k; // 记录新的最大值的下标
}
}
}
printf("max = %d,index = %d\n", max, index + 1);
}
}
页:
[1]