int a[100005];
int main(void)
{
int n,A,B,C,count=0;;
scanf("%d",&n);
for(int i=1;i<=n;i++)
a[i]=i;
for(int i=1;i<=n;i++)
{
A=a[i];
for(int j=1;j<=n;j++)
{
B=a[j];
if(B==A) continue;
for(int l=1;l<=n;l++)
{
C=a[l];
if(C==A||C==B) continue;
}
printf("A:%d B:%d C:%d\n",A,B,C);
count++;
}
}
printf("%d",count);
}
#include<stdio.h>
int a[100005];
int main(void)
{
int n,A,B,C,count=0;;
scanf("%d",&n);
for(int i=1;i<=n;i++)
a[i]=i;
for(int i=1;i<=n;i++)
{
A=a[i];
for(int j=1;j<=n;j++)
{
B=a[j];
if(B==A) continue;
for(int l=1;l<=n;l++)
{
C=a[l];
if(C==A||C==B) continue;
break;
}
printf("A:%d B:%d C:%d\n",A,B,C);
count++;
}
}
printf("%d",count);
}
if(C==A||C==B) continue;后面少了一个break;
printf("A:%d B:%d C:%d\n",A,B,C); 这一句放在第3个for循环 {} 里面 试试
#include <stdio.h>
int a[100005];
int main(void)
{
int n,A,B,C,count=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
a[i]=i;
for(int i=1;i<=n;i++)
{
A=a[i];
for(int j=1;j<=n;j++)
{
B=a[j];
if(B==A) continue;
for(int l=1;l<=n;l++)
{
C=a[l];
if(C==A||C==B) continue;
printf("A:%d B:%d C:%d\n",A,B,C);
count++;
}
}
}
printf("%d",count);
}
把你最后的输出放到循环里面因为你输出的接口是循环判断完的,你放到外面判断C==A || C ==B就没有用了