我是靠谱客的博主 清新黑裤,最近开发中收集的这篇文章主要介绍算法竞赛入门紫书第三章思考题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#include<algorithm>
#include<iostream>
using namespace std;
void num1()                                     //可以不用数组
{
     int n;
     int num = 0;
     while(scanf("%d", &n)!=EOF)
     {
          num++;
     }
     printf("一共有%d个数字n", num);
}


void num2()                 //不需要用到数组
{
     int max = 0;
     int min  = 1000000;
     int n  = 0, num = 0;
     double avg = 0;
     while(scanf("%d",&n) != EOF)
     {
          if(max<=n)  max = n;
          if(min>=n)   min = n;
          avg += (double)n;
          num++;
     }
         avg = avg/(double)num;
         printf("max = %d  min = %d  avg = %fn",max,min,avg);
}
   void num3()                        //必须用到数组
   {
        int n = 0;
        int allnum[100];
        int distance = 10000000;
        int temp = 0;
        int num1,num2;
        while(scanf("%d",&allnum[n])==1)              //注意数组的传入方法
        {
            n++;
        }
        for(int i = 0; i<n ;i++)
        {
            for(int j= i+1 ; j<n;j++ )
            {
                temp = abs(allnum[j] - allnum[i]);
                if(distance>temp)
                {
                    distance = temp;
                    num1 = allnum[i];
                    num2 = allnum[j];
                }
            }
        }       printf("最小的差距的两个数字为%d和%d,差距为%d",num1,num2,distance);
   }


void num4()              //必须用到数组
{
    int temp = 0;
    int a[1000];
    int num = 0;
    while(scanf("%d",&a[num] ) != EOF)
    {
        num++;
    }
    sort(a,a+num);
    temp = a[num-1];
    for(int i = num-2; i>0;i--)
    {
        if(a[i]<temp)
        {
            printf("第二大的数字是%d",a[i]);
            break;
        }
    }
}


void num5()               //必须用数组
{
      int n = 0 ;
      int a[1000];
      double sum=0;
      double avg = 0;
      double last = 0;
      while(scanf("%d",&a[n]) != EOF)
      {
          sum = sum+a[n];
          n++;
      }
      avg = sum/n;
      sum = 0;
      for(int i = 0; i < n ; i++)
      {
          sum += (a[i] - avg) * (a[i] - avg);
      }
      last = sum/n;
      printf("%.2f",last);
}
void num6()
{
    int n = 0, num = 0;
    int a[1000];
    double sum = 0;
    while(scanf("%d",&a[n]) != EOF)
    {
        sum = sum+a[n];
        n++;
    }
    sum = sum/n;
    for(int i = 0; i<n ; i++)
    {
         if(a[i]<=sum)
         {
              num++;
         }
    }
    printf("比平均数大的有%d个数",n);
}


int main()
{
    //num1();
    //num2();
    //num3();
    //num4();
    //num5();
   // num6();
}

最后

以上就是清新黑裤为你收集整理的算法竞赛入门紫书第三章思考题的全部内容,希望文章能够帮你解决算法竞赛入门紫书第三章思考题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部