在第三层循环中,条件"k=1;k=4"应该是"k<=4",表示k的取值范围是1到4。由于条件不满足,第三层循环没有执行,导致没有输出结果。修改代码如下:

#include<stdio.h> 

int main() { 
    int i,j,k,a[100],n=0; 
    for(i=1;i<=4;i++) 
        for(j=1;j<=4;j++) 
            for(k=1;k<=4;k++) 
                if(i!=j && j!=k && i!=k) 
                { 
                    a[n]=i*100+j*10+k; 
                    n++; 
                } 
                
    printf("能组成%d个无重复数字的三位数\n",n); 
    printf("分别是"); 
    for(i=0;i<n;i++) 
        printf("%d ",a[i]); 
    printf("\n"); 
    
    return 0; 
}

这样修改后,就能正确输出结果了

1有1234个数字能组成多少个互不相同且无重复数字的三位数?都是多少? #includestdioh int main 	int ijka100n=0; 	fori=1;i=4;i++ 	 forj=1;j=4;j++ 	 fork=1;k=4;k++ 	ifi!=j&&j!=k&&i!=k 	 		an=i100+j10+k; 		n++; 	 	printf能组成d个无重复数字的三位数nn

原文地址: https://www.cveoy.top/t/topic/iTod 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录