和为某个值的两个数,麻烦各位大佬了

 

供参考:

#include <stdio.h>
#define N 50

int main()
{
    int i,j,n,s,flg=0,a[N]={0};

    scanf("%d",&n);
    for(i=0;i<n;i++)scanf("%d",&a[i]);
    scanf("%d",&s);

    for(i=0;i<n-1;i++){
        for(j=i+1;j<n;j++)
            if(a[i]+a[j]==s && a[i]!=a[j]){
               flg = 1;
               break;
            }
        if(flg) break;
    }
    if(flg){
       if(a[i]>a[j])
          printf("%d %d\n",a[j],a[i]);
       else
          printf("%d %d\n",a[i],a[j]);
    }
    else  printf("Not found\n");
   
    return 0;
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
int main()
{
	int n,a[100],i,j,s;
	
	printf("请输入数组元素个数:");
	scanf("%d",&n);
	printf("请输入数值:");
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);

	printf("请输入s的值:");
	scanf("%d",&s);

	for(i=0;i<n-2;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(a[i] +a[j] == s &&  a[i]!=a[j])
			{
				if(a[i]<a[j])
					printf("%d  %d\n",a[i],a[j]);
				else
					printf("%d  %d",a[j],a[i]);
				return 0;
			}
		}
	}

	printf("Not found\n");
	return 0;

}