c语言输入成绩找出最大值及其序号

源代码如下:
main()
{
int i,max,num;
max=0;
num=1;
int a[14];
for(i=1;i<=14;i++)
{
printf("请输入%d班成绩:\n",i);
scanf("%d",&a[i]);
}
for(i=0;i<=13;i++)
if(a[i]>max)
max=a[i];
num=i+1;
printf("第一名:%d班 得分:%d\n",num, max);
system("pause");
}
为什么最大值及其序号都是错误的?

改一下:
main()
{
int i,max,num;
int a[14];
max=0;
num=1;
for(i=0;i<=13;i++) // 本来是i<=14
{
printf("请输入%d班成绩:\n",i+1);
scanf("%d",&a[i]); //a[14]不能作变量,a[13]是数组最后一个元素
}
for(i=0;i<=13;i++)
if(a[i]>max)
{
max=a[i]; //应加{ }
num=i+1;
}
printf("第一名:%d班 得分:%d\n",num, max);
system("pause");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-10
main()
{
int i,max,num;
max=0;
num=1;
int a[14];
for(i=1;i<=14;i++) 这里有错 应该是 for(i=0;i<14;i++)
{
printf("请输入%d班成绩:\n",i);
scanf("%d",&a[i]);
}
for(i=0;i<=13;i++)
if(a[i]>max)
max=a[i];
num=i+1;
printf("第一名:%d班 得分:%d\n",num, max);
system("pause");
}
第2个回答  2012-04-10
for(i=1;i<=14;i++)这儿i应该从0开始 到<13追问

是前面那个么?可是改了就从0班开始输入,而且最大值的序号依然不对。

追答

《=14改成《14

c语言输入成绩找出最大值及其序号
int i,max,num;int a[14];max=0;num=1;for(i=0;i<=13;i++) \/\/ 本来是i<=14 { printf("请输入%d班成绩:\\n",i+1);scanf("%d",&a[i]); \/\/a[14]不能作变量,a[13]是数组最后一个元素 } for(i=0;i<=13;i++)if(a[i]>max){ max=a[i]; \/\/应加{ ...

c语言输入若干分数输出最大值最小值
printf("最大的分数是:%d\/%d\\n",a1,b1);}

C语言问题,输入十个成绩,找出最大值和它的序号
把十个成绩存在两个数组里,一个不变,另一个用来排序,再把排出的最大值跟第一个数组比较,看在哪个位置。。。比如a[10]={1,2,3,4,5,6,11,12,8,9)=b[10];b[10]排序得出最大值为12,与a中的数一个一个比较,相等就是最大的成绩,a[7]=12;序号为7 ...

C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出
1、找出最大值并输出的源代码如下: #include <stdio.h> int main() { int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; int loop, largest; largest = array[0]; for(loop = 1; loop < 10; loop++) { if( largest < array[loop] ) largest = array[loop]; } printf("最大...

用C语言编写程序:从键盘输入10个学生的成绩,输出其最大值、最小值、和...
int main(){ double a[10]={};double sum=NULL;double max=NULL;double min=NULL;puts("请输入10个学生的成绩:");for(int i=0;i<10;i++){ scanf("%lf",&a[i]);} for(int i=0;i<10;i++){ sum+=a[i];i==0?max=a[0],min=a[0]:(maxa[i]?min=a[i]:NULL);} p...

c语言 从键盘上输入一批学生的成绩,找出最高分.
int main(){ int max=0;int a[10];int i;int n;printf("请输入学生的成绩:\\n");for(i=0;i<10;i++){ scanf("%d",&n);a[i]=n;} for(i=0;i<10;i++){ if(a[i]>max)max=a[i];} printf("输出成绩的最大值为max=%d\\n",max);return 0;} 我以10个同学为例。

用c语言:输入10个数,要求输出其中最大的数
在C语言中,寻找10个输入数中的最大值有多种方法,以下是三种主要的实现策略:方法1:比较法这种方法通过设置一个变量来保存当前已知的最大值,然后遍历输入的10个数,如果发现有比当前最大值更大的数,就更新这个变量。代码中会使用if-else或switch-case结构来实现比较和更新。方法2:起泡法起泡排序...

c语言统计一个班10个人的成绩,找出最高分及序号,和不及格的人数_百度知 ...
for(i = 0; i < 10; i ++) { scanf("%f",&a[i]); if(a[i]>a[id]) id = i; if(a[i]<60) cnt ++; } printf("最高分序号:%d, 分数 %f\\n不及格人数:%d\\n", id, a[id], cnt); return 0;} ...

用C语言表达: 输入10个学生的成绩存在数组中,然后输出最大值和最小...
score[i]){ max = score[i]; \/\/最大 } if (min > score[i]){ min = score[i]; \/\/最小 } if (score[i] < 60){ ++count; \/\/不及格人数 } } printf("最大值:%f\\n最小值:%f\\n不及格人数百分比:%f\\n", max, min, (float)count\/(float)10);} 刚写的...测了没BUG ...

C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出怎么做...
printf("最大值是:%d\\n", max); \/\/输出最大值 return 0;} 用C语言怎么从键盘上获取信息:一般是使用getch获取 方向键(←): 0xe04b 方向键(↑): 0xe048 方向键(→): 0xe04d 方向键(↓): 0xe050 一个方向键要用两个getch才能把它的数据获取完.然后对应着两个字符数据, 一个当...

相似回答
大家正在搜