输入 10 个整型存入到数组中,然后再输入一个整型数字 target,
然后输出数组中两个数字之和为 target 的所有情况(输出的情况应不
同,输出顺序无要求)。
输入范例一:
2 2 2 2 2 2 2 2 2 2
4
输出范例一:
2 2
输入范例二:
8 5 -1 5 6 2 7 12 10 3
10
输出范例二:
8 2
5 5
7 3
int arr[10], i, j,target;
for(i=0; i<10; i++)
scanf("%d", &arr[i]);
scanf("%d", &target);
for(i=0; i<9; i++)
{
for(j=i+1;j<10; j++)
{
if(a[i]+a[j]==target)
printf("%d %d\n",a[i],a[j]);
}
}
int arr[10],arr2[10], i, j,k,target,m=0,flag=0;
for(i=0; i<10; i++)
scanf("%d", &arr[i]);
scanf("%d", &target);
for(i=0; i<9; i++)
{
for(j=i+1;j<10; j++)
{
if(arr[i]+arr[j]==target)
{
for(k=0;k<m*2;k+=2)
{
if(arr[i]==arr2[k])
if(arr[j]==arr2[k+1])
{
flag=1;
break;
}
if(k==m*2-1)
flag=0;
}
if(flag==0)
{
arr2[m*2]=arr[i];
arr2[m*2+1]=arr[j];
m++;
}
}
}
}
for(i=0;i<m*2;i+=2)
{
printf("%d %d\n",arr2[i],arr2[i+1]);
}
这位朋友你好我想问一下用你这个程序可以做到以上的要求,但是这个还能优化不?输入范例一:
2 2 2 2 2 2 2 2 2 2
4
输出范例一:
2 2
用你的会打出来好多组2 2
怎样才能打印一组二