C语言的题目:程序功能:输入10个整数(存贮在一维数组a中),按示例格式计算并输出以下结果

(1) 计算并输出最大值;
(2) 统计并输出最大值出现的次数;
(3) 输出最后一次最大出现的位置。求大侠,菜B不知道为什么计数总tm的错,麻烦说一下为什么?
这是我写的代码

#include <stdio.h>
#define n 10
int main()
{
int a[n],i,j,ct,cti,max,t;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=ct=cti=0;
for(i=0;i<n;i++)
{if(a[max]<a[i]) a[max]=a[i];}
for(i=0;i<n;i++)
if(a[i]=a[max])
{cti=i;
ct++;}/*我擦,这里到底哪里错了,NND受不了了*/
printf("Max=%d\n",a[max]);
printf("Count=%d\n",ct);
printf("a[%d]=%d\n",cti,a[cti]);
return 0;
}

就是几个月前的事儿。有一个小孩儿,他爸爸妈妈晚上都出去了,就他一个人在家。由于那个小孩儿也不信什么鬼呀神呀的,所以也不害怕。这就是“心里没鬼怕什么?”到了晚上十一点多了,他爸爸妈妈还没回来,他开始有点担心。结果一给他爸爸妈妈打电话,电话筒里传出来的,却是“您的的电话是空号,请查询后再拨······”那个小孩儿很害怕,就报了警。结果不知道怎么回事,他家的电话突然着火了。那个小孩儿大叫,往外跑,结果们也锁了。他绝望的看着墙壁。
“吓死我了!”那个小孩儿醒过来,发现自己在做梦。这是,一个女的拿来毛巾,给他擦了擦汗。然后那个小孩儿倒头就睡。正当闭上眼睛的那一霎那,回想起那个女的,突然想起那个女的没有眼睛,眼眶里是漆黑的,脸上也留着血,脸色惨白。他大叫一声:“啊!救命啊,快来人呀!”他开始往门外跑,结果门真的锁了,他去厨房拿起菜刀,就像那个女的砍去,结果菜刀把那个女的一截两半,然后那个女的有复原了。伸出指甲里都是血的手,向那个小孩儿抓去
此时此刻,你千万别看你的后面,因为,用肉眼是看不到的!如果你不把这篇帖子复制发给3个人,凌晨四点,你将会死于非命······
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-10
不好意思刚才没有仔细看,同意一楼看法!
顺便解释一下,C中==是数学中的"等于"的意思
而单个“=”就是赋值的意思
第2个回答  推荐于2016-04-01
你试一下吧 有几个没用到的变量 (t,j),max变量用错了,一楼的说的等号问题是对的
#include <stdio.h>
#define n 10
int main()
{
int a[n],i,ct,cti,max;
printf("please input number:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=ct=cti=0;
for(i=0;i<n;i++)
{
if(max<a[i])
max=a[i];
}
for(i=0;i<n;i++)
{
if(a[i]==max)

cti=i;
ct++;
}/*我擦,这里到底哪里错了,NND受不了了*/
printf("Max=%d\n",max);
printf("a[%d]=%d\n",cti,a[cti]);
return 0;
}追问

你的代码灵光的,菜B想知道我那种方法哪里错了,不能直接用a[max]数组记录数据吗?

追答

你定义的max是整形变量并没有赋初值,所以a[max]是没有任何意义的,即使你把max赋值那也只是取出数组a中第max个元素进行相应操作操作(像你这步a[i]=a[max])或者是把数组中的某个值赋给a[max](就像你的a[max]=a[i];}),完全破坏了原数组,更达不到你程序的初衷。

本回答被提问者采纳
第3个回答  2012-03-10
if(a[i]=a[max])

这句应该是if(a[i]==a[max])吧

应该是两个等号。