求助C语言 解释一下 count+=1 什么意思 还有下面解释一下计算平台长度各个语句的意思
解决时间 2021-02-09 13:04
- 提问者网友:我没有何以琛的痴心不悔
- 2021-02-09 02:21
#include
#define N 6
void main()
{
int a[N],max,count;
int i,j,temp;
printf("请输入N:");
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<=N-1;i++)
for(j=i+1;j if(a[i]>=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<=5;i++)
printf("%d ",a[i]);
for(i=1;i<=N-1;i++) 从这句开始下面什么意思
{
if(a[i]==a[i-1]) 这句什么意思
{
count+=1; 这句什么意思 这句完全不懂
if(count>max)
max=count;
}
else
count=1; 还有这个
}
printf("最长平台长度为:\n%d\n",max);
}
最佳答案
- 五星知识达人网友:鱼芗
- 2021-02-09 03:44
count+=1相当于count++,就是count加1,
if(a[i]==a[i-1])是比较a[i]和a[i-1]是不是相同
下面一段程序是找出数组a中最长的一串相同的数有多长
比如数组1 2 2 2 2 3 3 4 4 4
从1开始循环,先if比较a[1]=2和a[0]=1,两个不相同,跳过for循环,执行count=1,
在从2开始,比较a[2]=2和a[1]=2,两个相同,执行for循环,执行count+=1,count变成2,比较max和count,max最初应该初始化为1的,count比max大,max=count=2.
在从3开始,比较a[3]=2和a[2]=2,两个相同,执行for循环,执行count+=1,count变成3,比较max和count,max为2,count比max大,max=count=3
以此类推,到比较a[5]=3和a[4]=2时,两个不相同,跳过for循环,执行count=1
比较a[2]=2和a[1]=2,两个相同,执行for循环,执行count+=1,count变成2,比较max和count,max为4的,前面循环计算过的,最长是4个连着的2,count比max比小,max=4.
。。。
算到最后max就等于4.上面的数组里就是4个连着的2.。。
这个程序还有问题,count和max应该在for语句执行前先初始化的,这样:
count=1;max=1;
for(i=1;i<=N-1;i++) 从这句开始下面什么意思
{
if(a[i]==a[i-1]) 这句什么意思
{
count+=1; 这句什么意思 这句完全不懂
if(count>max)
max=count;
}
else
count=1; 还有这个
}
全部回答
- 1楼网友:神的生死簿
- 2021-02-09 05:57
字符长度的c语言
#include <string.h>
strlen(str);
int型范围
-1<<(sizeof(int)*8-1)到(1<<(sizeof(int)*8-1))-1)
#include <stdio.h>
#include <string.h>
void main()
{
char sz[]="hello";
printf("string len is: %d\n",strlen(sz));
printf("%d , %d\n",-1<<(sizeof(int)*8-1),(1<<(sizeof(int)*8-1))-1);
}
- 2楼网友:一把行者刀
- 2021-02-09 05:19
count+=1 表示count=count+1;
if(a[i]==a[i-1]) 判断数组a【i】是否等于a【i-1】,数组的第i个数是否等于第(i-1)个数。
cont+1; 相当于 count = count+1;
if(a[i]==a[i-1]) 意思是:如果a数组的第i个元素 等于 a数组的第i+1个元素的值就执行{}中的程序
count=1; 将count的值赋值为1 count这个变量是用来计算符合if(a[i]==a[i-1])的个数的
这个程序是先排序,从小到大排序,然后找出相同的数的最大个数
例如:输入:1 1 1 2 2 2 2 3 3 3 3 3 44
则max的值为:4 (指的是4个2)
半夜看程序还真有点蒙,希望对你有帮助,再接再厉,加油……
我要举报
大家都在看
推荐资讯