主要是要你编写一段子函数
要实现从数组a中取出一个4位数,如果该四位数连续大于这个数以后的5个数且该数是奇数(该数后不满5个则不统计),则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中
我的想法是这样写的
for(i=0;i<MAX-5;i++)
{for(j=i;j<=i+5;j++)
if(a[i]>a[j]&&a[i]%2==1){b[cnt]=a[i];cnt++}
else {k=0;break;}
}
for(i=0;i<cnt;i++)
for(j=i;j<cnt;j++)
if(b[i]>b[j]){k=b[i];b[i]=b[j];b[j]=k;}
}
不知道对不对?
答案是这样的
for(i=0;i<MAX-5;i++)
{for(j=i;j<=i+5;j++)
if(a[i]>a[j]&&a[i]%2==1) flag=1;
else {flag=0;break;}
if(flag==1){b[cnt]=a[i];cnt++;}
}
for(i=0;i<cnt;i++)
for(j=i;j<cnt;j++)
if(b[i]>b[j]){flah=b[i];b[i]=b[j];b[j]=flag;}
}
这个答案为什么要用个flag变量?
不能直接写出来么?
还请高手能检查下 里面有没有什么逻辑错误
谢谢了....会适当的追加分的..
哦不好意思 上面我自己的答案打错了
虽然是答案 但是两个都得出满足条件的数为0
这是为什么?
else后面直接是break 没有k=0了