永发信息网

C语言问题:在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。

答案:3  悬赏:60  手机版
解决时间 2021-11-29 19:14
  • 提问者网友:你给我的爱
  • 2021-11-28 19:57
C语言问题:在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-11-28 21:22
#include
int main()
{int n,k,i,j,a[1000],y=0;
 FILE *fp1,*fp2;
 fp1=fopen("szzh.in","r");
 fp2=fopen("szzh.out","w");
 fscanf(fp1,"%d%d",&n,&k);
 for(i=0;i   fscanf(fp1,"%d",&a[i]);
 for(i=0;i { for(j=i+1;j     if(a[i]+a[j]==k){y=1;break;}
   if(y)break;  
 }
 if(y)fprintf(fp2,"Yes
");
   else fprintf(fp2,"No
");
 fclose(fp1);  
 fclose(fp2);  
 return 0; 
}
全部回答
  • 1楼网友:零点过十分
  • 2021-11-28 22:35
#include

int main()  
{  
    int n,k;  
    int i,j;  
    int a[1000];  
    scanf("%d%d", &n, &k);  
    for(i = 0; i < n; i++)  
    {   
        scanf("%d",&a[i]);  
    }   

    for(i=0;i    { 
        for(j=i+1;j        {
            if(a[i]+a[j]==k)
            {
                printf("Yes ");
                return 0;
            }
        }
    }
    
    printf("No ");
    return 0;
}
  • 2楼网友:夜余生
  • 2021-11-28 22:09
有没有时间限制追问没有追答那就双重for循环加if追问

可以帮我看一下哪里错了吗

追答算法看上去没啥问题,估计是你读文件有错,百度一下怎么读空格分隔的文本
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯