请问怎么用c语言解决下面的问题,越详细越好

img

第五题答案:

#include <stdio.h>

void inputArray(int arr[],int n)
{
    int i;
    printf("请输入%d个整数:\n",n);
    for (i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
}

void printArray(int arr[],int n)
{
    int i=0;
    for(;i<n;i++)
    {
        if(i<n-1)
            printf("%d ",arr[i]);
        else
            printf("%d\n",arr[i]);
    }
}


void reverseArray(int arr[],int n)
{
    int i,t;
    for (i=0;i<n/2;i++)
    {
        t = arr[i];
        arr[i] = arr[n-1-i];
        arr[n-1-i] = t;
    }
}

int findMaxIndex(int arr[],int n)
{
    int i,max,index=0;
    max = arr[0];
    for (i=1;i<n;i++)
    {
        if(arr[i] > max)
        {
            max = arr[i];
            index = i;
        }
    }
    return index;
}

void sortArray(int arr[],int n)
{
    int i,j,tmp;
    for (i=0;i<n-1;i++)
    {
        for (j=0;j<n-1-i;j++)
        {
            if(arr[j] > arr[j+1])
            {
                tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
}

int main()
{
    int arr[10];
    inputArray(arr,10);
    printArray(arr,10);
    reverseArray(arr,10);
    printArray(arr,10);
    printf("max index=%d\n",findMaxIndex(arr,10));
    sortArray(arr,10);
    printArray(arr,10);
    return 0;
}

第六题答案:

#include <cstdio>
int prime(int n)
{
    int i=2;
    if(n<2)
        return 0;
    for (i=2;i<n;i++)
    {
        if(n%i == 0)
            return 0;
    }
    return 1;
}

//第六题1.统计数组中素数的个数
int Count(int a[],int n)
{
    int i,nmb=0;
    for (i=0;i<n;i++)
    {
        if(prime(a[i]))
            nmb++;
    }
    return nmb;
}
//第六题2
void fun()
{
    int i,nmb =200;;
    printf("200-300之间的素数:\n");
    for (i=0,nmb = 200;nmb<300;nmb++)
    {
        if (prime(nmb))
        {
            printf("%d ",nmb);
            i++;
            if(i%5==0)
                printf("\n");
        }
    }
    printf("\n");
}
//第六题3
int sum(int a[],int n)
{
    int i,s = 0;
    for (i=0;i<n;i++)
    {
        if(prime(a[i]))
            s += a[i];
    }
    return s;
}

int main()
{
    int a[]={2,5,12,23,47,98,7,75,67,84};
    printf("素数的个数:%d\n",Count(a,10));

    fun();

    printf("数组中素数的和=%d\n",sum(a,10));
    return 0;
}

五:

void inputArray(int arr[],int n)
{
    for(int i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
}

void printArray(int arr[],int n)
{
    for(int i=0;i<n;i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n");
}

void reverseArray(int arr[],int n)
{
    int t;
    for(int i=0;i<n/2;i++)
    {
        t=arr[i];
        arr[i]=arr[n-i-1];
        arr[n-i-1]=t
    }
}

int findMaxArray(int arr[],int n)
{
    int max=a[0];
    int index=0;
    for(int i=1;i<n;i++)
    {
        if(a[i]>max)
        {
            max=a[i];
            index=i;
        }
    }
    return index;
}

void sortArray(int arr[],int n)
{
    int t;
    for(int i=0;i<n;i++)
    {
        for(int j=i;j<n;j++)
        {
            if(a[i]<a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }    
}

六:

#include <stdio.h>
int prime(int n)
{
    for(int i=2;i<n;i++)
    {
        if(n%i!=0)
            return 0;
    }
    return 1;
}

int main()
{
    int a[]={2,3,12,23,47,98,7,75,67,84};
    //////////////////
    // 1 开始
    int count=0;
    for(int i=0;i<10;i++)
    {
        if(prime(a[i])) count++;
    }
    printf("素数有%d个\n",count);
    // 1 结束
    /////
    
    /////////////
    // 2 开始
    int count2=0;
    for(int i=200;i<300;i++)
    {
        if(prime(i)) 
        {
            count2++;
            printf("%d%c",i,(count2%5==0)?'\n',' ');            
        }        
    }
    
    // 2 结束
    ///////////////
    
    //////////////////
    // 3 开始
    int sum=0;
    for(int i=0;i<10;i++)
    {
        if(prime(a[i])) sum+=a[i];
    }
    printf("素数的和:%d\n",sum);
    // 3 结束
    /////

    return 0;
}