概述
#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();
}
最后
以上就是清新黑裤为你收集整理的算法竞赛入门紫书第三章思考题的全部内容,希望文章能够帮你解决算法竞赛入门紫书第三章思考题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复