发布网友 发布时间:2024-10-23 19:09
共4个回答
热心网友 时间:2024-10-27 08:35
你程序好像写错了啊,你在仔细看看,scanf语句后的scanf应该是printf吧,下面的是我刚才根据你的问题重新写的一个。你看看可行。
#include<stdio.h>
void main()
{
int a[10],b[10],c[10],i,j=0,k,t,h;
for(i=0;i<=10;i++)
scanf("&d,",&a[i]);
printf("\n");
for(i=0;i<=10;i++)
scanf("&d,",&b[i]);
printf("\n");
for(i=0;i<=10;i++)
{
if(a[i]==b[i])
{
c[j]=a[i];
j++;
}
}
for(k=0;k<j;k++)
{
for(h=k+1;h<=j;h++)
if(c[k]<c[h])
{
t=c[k];
c[k]=c[h];
c[h]=t;
}
}
for(i=0;i<j;i++)
printf("%d,",c[i]);
}
热心网友 时间:2024-10-27 08:33
#include<iostream>
using namespace std;
int cmp( const void *a, const void *b)
{
return *(int *)a - *(int *)b ;
}
int main()
{
int m,n;
int i,j,k;
k=0;
scanf("%d",&m) ;
int *a=new int[m] ;
memset( a,0x00,sizeof(int));
for( i=0;i<m;i++)
scanf("%d",&a[i]);
scanf("%d",&n) ;
int *b=new int[n] ;
memset( b,0x00,sizeof(int));
for( i=0;i<n;i++)
scanf("%d",&b[i]);
//先对a[],b[]排序
qsort( a,m,sizeof(int), cmp) ;
qsort( b,n,sizeof(int), cmp) ;
int c[20]={0};
//从小到大比较 a[i]>b[j] 则j++, a[i]<b[j] 则i++ a[i]==b[j] 则 i++,j++
i=0;
j=0;
k=i;
while( i<m && j<n)
{
if( a[i] > b[j] )
j++ ;
else if( a[i] < b[j] )
i++ ;
else
{
c[k++]=a[i] ;
i++;
j++;
}
}
for( i=0;i<k;i++)
{
printf("c[%d]=%d\t", i,c[i]);
}
system("pause");
return 0;
}
热心网友 时间:2024-10-27 08:33
倒数第二个和倒数第三个for里的条件全部再减个1。
热心网友 时间:2024-10-27 08:33
大哥 ,看不是很懂 ,只知道上面换行的不能用 scanf 应该用 printf