宇轩宇轩! 发表于 2021-1-11 19:37:41

求助一下。谢谢大佬

随机从键盘输入20个整数,找出其中的素数,并按升序排序输出

宇轩宇轩! 发表于 2021-1-11 19:47:18

C语言

jackz007 发表于 2021-1-11 19:53:00

本帖最后由 jackz007 于 2021-1-11 19:55 编辑

#include <stdio.h>

int prime(int n)
{
      int k , r = 0               ;
      if(n > 1) {
                for(r = 1 , k = 2 ; k * k <= n + 1 ; k ++) {
                        if(k < n && ! (n % k)) {
                              r = 0 ;
                              break ;
                        }
                }
      }
      return r                      ;
}

int main(void)
{
      int d , i , j , k , t                            ;
      for(i = 0 ; i < 20 ; i ++) scanf("%d" , & d)      ;
      for(i = 0 ; i < 19 ; i ++) {
                for(j = i + 1 ; j < 20 ; j ++) {
                        if(d > d) {
                              t = d                     ;
                              d = d                  ;
                              d = t                     ;
                        }
                }
      }
      for(k = i = 0 ; i < 20 ; i ++) {
                if(prime(d)) {
                        if(k) {
                              if(k % 10 == 0) printf("\n") ;
                              else printf(" ")             ;
                        }
                        printf("%d" , d)                  ;
                        k ++                                 ;
                }
      }
}
      编译、运行实况
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
59 57 53 51 49 47 43 41 39 37 33 31 29 27 23 21 19 17 13 11
11 13 17 19 23 29 31 37 41 43
47 53 59
D:\00.Excise\C>
页: [1]
查看完整版本: 求助一下。谢谢大佬