鱼C论坛

 找回密码
 立即注册
查看: 3428|回复: 4

大佬们又来帮我看看那里错了吧,我太难了

[复制链接]
发表于 2021-11-1 18:38:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述
输入n,其中0<n<7。输出用n、n+1、n+2、n+3这4个数字组成的无重复数字的3位数。

输入
数字n。

输出
按照从小到大的顺序显示出用n、n+1、n+2、n+3这4个数字组成的无重复数字的3位数。

注意:每个整数后面有1个空格。

样例输入 Copy
2
样例输出        Copy
234 235 243 245 253 254 324 325 342 345 352 354 423 425 432 435 452 453 523 524 532 534 542 543
提示
使用多重循环。


我的代码
#include <stdio.h>
const int N = 1e5+5;
int main()
{
        int n,a,b,c,d=0,i,j,k,m,o;
        int s[N];
        scanf("%d",&n);
        for(a=n;a<=n+3;a++)
        {
                i=0;
                i+=a*100;
                for(b=n;b<=n+3;b++)
                {
                        i+=b*10;
                        for(c=n;c<=n+3;c++)
                        {
                                i+=c;
                                if(a!=b&&a!=c&&b!=c)
                                {
                                        s[d]=i;
                                        d++;
                                }
                        }
                }
        }
        for(j=0;j<=d;j++)
        {
                k=j;
                for(m=j+1;m<=d;m++)
                {
                        if(s[m]<s[k])
                                k=m;
                        if(j!=k)
                        {
                                o=s[j];
                                s[j]=s[k];
                                s[k]=o;       
                                printf("%d ",s[j]);
                        }
                }
               
        }
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-1 18:50:50 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-11-1 19:16 编辑

抱歉,我不知道你的代码错什么,以下是我的代码(我是逐个列出,尽量简易,直接)希望对你有帮助:
  1. #include <stdio.h>

  2. const int N = 1e5+5;

  3. int main(){
  4.     int n; // 0 < n < 7
  5.     scanf("%d", &n);
  6.     int arr[4];
  7.     arr[0] = n;
  8.     arr[1] = n+1;
  9.     arr[2] = n+2;
  10.     arr[3] = n+3;
  11.     for(int a = 0; a < 4; a++){
  12.         for(int b = 0; b < 4; b++){
  13.             for(int c = 0; c < 4; c++){
  14.                 for(int d = 0; d < 4; d++){
  15.                     if(a != b && b != c && c != d && d != a && a != c && b != d){
  16.                         printf("%d%d%d%d ", arr[a], arr[b], arr[c], arr[d]);
  17.                     }
  18.                 }
  19.             }
  20.         }
  21.     }
  22. }
复制代码
  1. 3
  2. 3456 3465 3546 3564 3645 3654 4356 4365 4536 4563 4635 4653 5346 5364 5436 5463 5634 5643 6345 6354 6435 6453 6534 6543
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-1 20:20:11 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-1 20:23 编辑
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int a , b , c , d[4] = {0} , i , k , n                                        ;
  5.         scanf("%d" , & n)                                                             ;
  6.         if(n >= 0 && n <= 6) {
  7.                 for(i = 0 ; i < 4 ; i ++) d[i] = n + i                                ;
  8.                 for(k = 0 , a = 0 ; a < 4 ; a ++) {
  9.                         for(b = 0 ; b < 4 ; b ++) {
  10.                                 for(c = 0 ; c < 4 ; c ++) {
  11.                                         if(a != b && a != c && b != c) {
  12.                                                 if(k % 16) printf(" ")                ;
  13.                                                 else if(k) printf("\n")               ;
  14.                                                 printf("%d%d%d" , d[a] , d[b] , d[c]) ;
  15.                                                 k ++                                  ;
  16.                                         }
  17.                                 }
  18.                         }
  19.                 }
  20.                 printf("\n")                                                          ;        
  21.         }
  22. }
复制代码

        编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3. 2
  4. 234 235 243 245 253 254 324 325 342 345 352 354 423 425 432 435
  5. 452 453 523 524 532 534 542 543

  6. D:\00.Excise\C>x
  7. 4
  8. 456 457 465 467 475 476 546 547 564 567 574 576 645 647 654 657
  9. 674 675 745 746 754 756 764 765

  10. D:\00.Excise\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-2 13:12:19 | 显示全部楼层
傻眼貓咪 发表于 2021-11-1 18:50
抱歉,我不知道你的代码错什么,以下是我的代码(我是逐个列出,尽量简易,直接)希望对你有帮助:

大佬我这个是三位数,最后还要排序的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-2 13:24:02 | 显示全部楼层
傻眼貓咪 发表于 2021-11-1 18:50
抱歉,我不知道你的代码错什么,以下是我的代码(我是逐个列出,尽量简易,直接)希望对你有帮助:

好了大佬我搞清楚了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 02:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表