shuzu.rar

  • yaheya
    了解作者
  • C/C++
    开发工具
  • 21KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2020-06-16 10:57
    上传日期
本程序对对给定的一维数组进行求最大值、最小值、和、平均值、排序、二分查找、有序插入等操作,而且可以从文本文件中读取有效数据进行处理。
shuzu.rar
  • shuzu.exe
    58.6KB
  • shuzu.o
    6.5KB
  • shuzu.c
    3.5KB
内容介绍
#include<stdio.h> #include<string.h> #include<conio.h> #include<stdio.h> int k,r,lo,h ;double A[500],b;char a[10]; void tscan(){ int i=0;char c; do{ scanf("%lf",&A[i]); i++; }while ((c=getchar())!='\n'); lo=i; } double Summation(double A[]){ int i;double sum=0; for(i=0;i<lo;i++) sum+=A[i]; return sum; } void Reorder(double A[],int k){ int i,j;double t; for(i=0;i<lo-1;i++) for(j=i+1;j<lo;j++){ if(A[j]<a[i]) {t=A[j],A[j]=A[i],A[i]=t;} else continue; } if(k==5) for(i=0;i<lo;i++) printf("%g ",A[i]); printf("\n"); } void average(double A[]){ printf("%g\n",Summation(A)/(lo*1.0)) ; } void Big(double A[]){ Reorder(A,k); printf("%g\n",A[lo-1]); } void Small(double A[]){ Reorder(A,k); printf("%g\n",A[0]); } void Search(double A[],double b){ Reorder(A,k); scanf("%lf",&b); int left=0,right=lo-1,mid=0; mid=left+(right-left)/2; while (left<right&&A[mid]!=b){ if(A[mid]<b) left=mid+1; else if(A[mid] rel='nofollow' onclick='return false;'>b) right=mid; mid=(left+right)/2; } if(A[mid]==b) printf("%d\n",mid+1); else printf("wrong input"); } void youxucharu(double A[],double b){ Reorder(A,k); scanf("%lf",&b); int i,j=0,t;double B[500]; for(i=0;i<lo;i++){ if(A[i]>=b) {t=i; break;} else continue;} for(i=0;i<t;i++){ B[j]=A[i];j++; }B[t]=b; j=t+1; for(;i<lo;i++){ B[j]=A[i];j++; } for(i=0;i<=lo;i++) printf("%g ",B[i]); printf("\n"); } void openfile() { int i=0,j; FILE *fp; L1: scanf("%s",a); fp=fopen(a,"r"); rewind(fp); if(fp==NULL) {printf("wrong input,please sign again\n");goto L1;} while (!feof(fp)) { fscanf(fp,"%lf",&A[i]); lo++; i++; } fclose(fp); } void xuanze(){ printf("Press 1 if you want to input the array from the keyboard, or 2 if you want to provide it in a text file\n"); scanf("%d",&h); switch(h){ case 1: {tscan();break;} case 2: { printf("Please enter a valid file name\n"); openfile();break;} } } int main(){ while(r==0) { printf("**************************Welcome to array handler*******************************************\n"); printf("---You can enter the serial number of the following services to enjoy the relevant services---\n"); printf(" 1.Summation 2.Average\n"); printf(" 3.Maximum 4.Minimum\n"); printf(" 5.Reorder 6.Dichotomy search\n"); printf(" 7.Orderly inserti 8.Exit\n "); printf("Please select a service. You can enter 1, 2...\n"); L2:scanf("%d",&k); switch (k){ case 1: {xuanze();break;} case 2: {xuanze();break;} case 3: {xuanze();break;} case 4: {xuanze();break;} case 5: {xuanze();break;} case 6: {xuanze();break;} case 7: {xuanze();break;} case 8: {r=1;break;} default: {printf("wrong input,please sign again\n"); goto L2;} } switch (k){ case 1:{ printf("%g\n",Summation(A));break;} case 2:{average(A);break;} case 3:{ Big(A);break;} case 4:{Small(A);break;} case 5:{ Reorder(A,k);break;} case 6:{Search(A,b);break;} case 7:{youxucharu(A,b);break;} }} if(r==1){printf("Please press enter to exit"); return 0;} }
评论
    相关推荐
    • 二维数组排序
      通过对二维数组进行排序,方便数据的展现。
    • 通用数组
      通用数组 C中通用数组的临时存储库。此存储库不包含最新文件,将很快删除。
    • java数组
      Java 数组 的一部份课件
    • button数组
      界面编程中,肯定会碰到有多个同一类型的button控件,一个个操作很麻烦。不妨设置一个button数组,利用循环来执行。方便快捷
    • Fibonacci数组.zip
      斐波那契数组,是利用递归写的程序。前两位是1,后面每一位是前两位之和。
    • 数组.zip
      php数组函数说明可以记一下,都是经常使用的
    • 指针数组.zip
      指针数组的基础演示,附上源码和注释,是新手学习的很好入门
    • 数组.zip
      matlab数组计算,内含案例,方便学习交流,
    • 数组.zip
      数组是存储同种类型的数据元素,它用来存储定长的数据元素,可以进行查询、增加、删除等操作
    • 数组.rar
      数组的逆序: 数组中的元素,进行位置上的交换 逆序 不等于 反向遍历 就是数组中最远的两个索引,进行位置交换,实现数组的逆序 使用的是数组的指针思想,就是变量,思想,可以随时变换索引 反转 reverse ...