c语言求教,这是哪错了,输出不对,求修改!代码如下,题目如图
#include<stdio.h>#include<stdlib.h>#include<time.h>intmain()//主函数{inta[20];intk=1;pri...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() //主函数
{
int a[20];
int k=1;
printf("输入20个整数,空格隔开,回车结束:\n");
for(k=1;k<=20;k++){
scanf("%d",&a[k]);
}
printf("\n");
if(k>0){
for(k=1;k<=17;k++){
if(a[k]==a[k+1]==a[k+2]==a[k+3]){
printf("数字%d在[%d,%d]连续出现4次\n",a[k],k,k+3);
}
}}
else printf("没有连续出现4次的数字!\n");
return 0;
} 展开
#include <stdlib.h>
#include <time.h>
int main() //主函数
{
int a[20];
int k=1;
printf("输入20个整数,空格隔开,回车结束:\n");
for(k=1;k<=20;k++){
scanf("%d",&a[k]);
}
printf("\n");
if(k>0){
for(k=1;k<=17;k++){
if(a[k]==a[k+1]==a[k+2]==a[k+3]){
printf("数字%d在[%d,%d]连续出现4次\n",a[k],k,k+3);
}
}}
else printf("没有连续出现4次的数字!\n");
return 0;
} 展开
3个回答
展开全部
#include<stdio.h>
//#include <stdlib.h>没用到的库
//#include <time.h>
int main()
{ int a[20];
int k=1,n;
printf("输入20个整数,空格隔开,回车结束:\n");
for(k=1;k<=20;k++){
scanf("%d",&a[k]);
}
printf("\n");
n=0;//作为标志,出现了为1,没出现为0
//if(k>0){k经过上一个循环完,结果肯定时21
for(k=1;k<=17;k++){
//if(a[k]==a[k+1]==a[k+2]==a[k+3]){不支持连续比较
if(a[k]==a[k+1]&&a[k]==a[k+2]&&a[k]==a[k+3]){
printf("数字%d在[%d,%d]连续出现4次\n",a[k],k,k+3);
n=1;
}
}
//}
//else printf("没有连续出现4次的数字!\n");
//由于k=21>0成立,不会有else的情况
if(n==0) printf("没有连续出现4次的数字!\n");
return 0;
}
如图所示,望采纳。。。。。。
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明显是你输入错了你在五到八输入了四个4,所以就if的返回值就是ture了
追问
下面的图是题目,,,,,,,我的代码在是下面打出来的
而且,我这错好像不关if什么事吧。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询