日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求助 救救孩子吧

發布時間:2024/1/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求助 救救孩子吧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

int num1;
int num2;

int main()
{
?? ?int N[40];
?? ?for(int i=0;i<40;i++)//初始化?
?? ?{
?? ??? ?N[i]=0;
?? ?}
?? ?int n;
?? ?printf ("please input the number of n(0<n<=40):");
?? ?scanf("%d",&n);
?? ?int a[n-1];
?? ?srand((unsigned)time(NULL));
? ? for (int i=0;i<n;i++)//生成隨機數?
? ? {
? ? ? ? int num=rand()%100;
? ? ? ? a[i]=num;
? ? }
?? ?for(int i=0;i<n;i++)//給N數組賦值?
?? ?{
?? ??? ?N[i]=a[i];
?? ?}
?? ?printf ("隨機數如下:");
?? ?for (int i=0;i<n;i++)//輸出隨機數?
?? ?{
? ? ?? ?printf("%d ",N[i]);
?? ?}
?? ?printf ("\n");
?? ?int* m=N;
?? ?float arr;
?? ?arr=average(m,n);
?? ?printf ("大于平均值的數有:");
?? ?for (int i=0;i<n;i++)//輸出大于平均數的數?
?? ?{
?? ??? ?if(N[i]>arr)
?? ??? ?{
?? ??? ??? ?printf ("%d ",N[i]);
?? ??? ?}
?? ?}
?? ?printf ("\n");
?? ?int max(int* m,int n);
?? ?int Max;
?? ?Max=max(m,n);
?? ?int min(int* m,int n);
?? ?int Min;
?? ?Min=min(m,n);
?? ?void swap(int* m,int i,int j);
?? ?swap (m,num1,num2);// 交換最大值最小值
?? ?printf ("交換最大值最小值后的數組:");
?? ?for (int i=0;i<n;i++)//輸出交換后數組?
?? ?{
? ? ?? ?printf("%d ",N[i]);
?? ?}
?? ?printf ("\n");
?? ?for (int i=0;i<n/2;i++)//逆置數組?
?? ?{
?? ??? ?swap(m,i,n-1-i);
?? ?}
?? ?printf ("逆置后的數組為:");
?? ?for (int i=0;i<n;i++)//輸出逆置后的數組?
?? ?{
? ? ?? ?printf("%d ",N[i]);
?? ?}
?? ?printf ("\n");
?? ?void Bub(int *m,int n);
?? ?Bub(m,n);
?? ?printf ("冒泡排序后的數組為:");
?? ?for (int i=0;i<n;i++)//輸出冒泡排序后的數組?
?? ?{
? ? ?? ?printf("%d ",N[i]);
?? ?}
?? ?printf ("\n");
?? ?int seek;
?? ?printf("請輸入一個需要查找的數:");
?? ?scanf("%d",seek);
?? ?int Seq(const int* m,int seek,int n);
?? ?int flag1;
?? ?flag1=Seq(m,seek,n);
?? ?printf("%d ",flag1);
?? ?if(flag1>=1)//順序查找輸出?
?? ?{
?? ??? ?printf("該數的下標為:%d\n",flag1);
?? ??? ?printf("結果:該組數據中有%d\n",seek);
?? ?}
?? ?else
?? ?{
?? ??? ?printf("結果:該組數據中沒有%d\n",seek);
?? ?}
?? ?int flag2;
?? ?int Bin(const int* m,int seek,int n);
?? ?Bin(m,seek,n);
?? ?flag2=Bin(m,seek,n);
?? ?if(flag2>=1)//二分查找輸出?
?? ?{
?? ??? ?printf("該數的下標為:%d\n",flag2);
?? ??? ?printf("結果:該組數據中有%d\n",seek);
?? ?}
?? ?else
?? ?{
?? ??? ?printf("結果:該組數據中沒有%d\n",seek);
?? ?}
?? ?//printf ("%d ",num1);
?? ?//printf ("%d ",num2);
?? ?//printf ("最小值是:");
?? ?//printf("%d",Min);
?? ?//printf ("最大值是:");
?? ?//printf("%d",Max);
?? ?//printf ("average is :");
?? ?//printf("%f",arr);
}

void swap(int N[40],int i,int j)
{
?? ?int temp=N[i];
?? ?N[i]=N[j];
?? ?N[j]=temp;
}

float average(int N[40],int n)
{
?? ?float sum;
?? ?float average;
?? ?for(int i=0;i<n;i++)
?? ?{
?? ??? ?sum+=N[i];
?? ?}
?? ?average=sum/n;
?? ?return (average);
}

int max(int N[40],int n)
{
?? ?int max=0;
?? ?max=N[0];
?? ?for(int i=0.0;i<n;i++)
?? ?{
?? ??? ?if(max<=N[i])
?? ??? ?{
?? ??? ??? ?max=N[i];
?? ??? ??? ?num1=i;
?? ??? ?}
?? ?}
?? ?printf ("最大值的下標是:");
?? ?printf("%d",num1);
?? ?printf ("\n");
?? ?return (max);
}

int min(int N[40],int n)
{
?? ?int min=0;
?? ?min=N[0];
?? ?for(int i=0.0;i<n;i++)
?? ?{
?? ??? ?if(min>=N[i])
?? ??? ?{
?? ??? ??? ?min=N[i];
?? ??? ??? ?num2=i;
?? ??? ?}
?? ?}
?? ?printf ("最小值的下標是:");
?? ?printf("%d",num2);
?? ?printf ("\n");
?? ?return (min);
}

void Bub(int N[40],int n)
{
?? ?int i,j,temp;
?? ?for (i=1;i<n;i++)
?? ?{
?? ??? ?for (j=0;j<n-i;j++)
?? ??? ?{
?? ??? ??? ?if (N[j]>N[j + 1])
?? ??? ??? ?{
?? ??? ??? ??? ?temp=N[j];
?? ??? ??? ??? ?N[j]=N[j+1];
?? ??? ??? ??? ?N[j+1]=temp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

int Seq(const int N[40],int seek,int n)
{
?? ?int count=0;
?? ?printf("將該組數據進行順序查找:\n");
?? ?printf("比較的數據有:");
?? ?for(int i=0;i<n;i++)
?? ?{
?? ??? ?printf("%d ",N[i]);
?? ??? ?count+=1;
?? ??? ?if(N[i]==seek)
?? ??? ?{
?? ??? ??? ?printf("比較的次數為:%d次\n", count);
?? ??? ??? ?return (count-1);
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?printf("比較的次數為:%d次\n", count);
?? ?return -1;
}

int Bin(const int N[40],int seek,int n)
{
?? ?int low=0;
?? ?int high=n-1;
?? ?int count=0;
?? ?printf("將重新排序數據進行二分查找:\n");
?? ?printf("比較的數據有:");
?? ?while(low<=high)
?? ?{
?? ??? ?int mid=(low+high)/2;
?? ??? ?printf("%d",N[mid]);
?? ??? ?count+=1;
?? ??? ?if(N[mid]==seek)
?? ??? ?{
?? ??? ??? ?printf("\n比較的次數為:%d次\n", count);
?? ??? ??? ?return mid;
?? ??? ?}
?? ??? ?else if(N[mid]>seek)
?? ??? ?{
?? ??? ??? ?high=mid-1;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?low=mid+1;
?? ??? ?}
?? ?}
?? ?
?? ?printf("\n比較的次數為:%d次\n", count);
?? ?return -1; ?// 不存在返回-1
}

程序如上,想請教各位大神主函數到冒泡排序之后調用不了Sqe和Bin函數了

總結

以上是生活随笔為你收集整理的求助 救救孩子吧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。