C语言编程,要求输入五十四个数,从大到小排序输出,并且输出其中的素数

如题所述

#include<stdio.h>
#include <math.h>
int prime(int n)
{
    int i;
    for(i = 2; i <= sqrt(n); i ++)
    {
        if(n%i==0) return 0;
    }
    return 1;
}
int main()
{
    int a[54];
    int i,j,t;
    for(i = 0; i < 54; i ++)
    {
        scanf("%d",&t);
        for(j = i-1; j>=0&&a[j]<t; j--)
            a[j+1]=a[j];
        a[j+1]=t;
    }
    printf("after sort\n");
    for(i = 0; i < 54; i ++)
        printf("%d ", a[i]);
    printf("\n");
    printf("prime numbers in this array are:\n");
    for(i = 0; i < 54; i ++)
        if(prime(a[i])) printf("%d ",a[i]);
    printf("\n");
    
    return 0;    
}追问

额,等我验证一下哈

三个错误一个警告,等下我发给你看看哈

追答

我这边编译 运行都正常.
你发的图片被系统压缩了,看不清.
估计是你打代码时候出现了错误. 建议你直接复制我的代码. 或者再详细对比

追问

好吧,

1435985861
你把你的程序发过来嘛,这里面没法复制

追答

已加

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-12
哎,懵逼了追问

就从键盘输入五十四个数,然后从大到小排序输出,再把那五十四个数中的素数输出来

相似回答