一、
1.main.cpp
#include<iostream>
using namespace std;
int main()
{
int count(0); //当前有多少个数
int max(5); //最多可有多少个数
double* data = new double[max]; //初始化一个大小为5的数组
char sInput[20]; //用于保存用户输入的数
cout<<"Enter numbers(q to quit):"<<endl;
while(true)
{
cin>>sInput;
//如果输入的是“q”,则终止输入
if(strcmp("q",sInput) == 0)
break;
//保存输入的数
data[count] = atof(sInput);
count++;
//如果数组已装满,则用大点的新数组装
if(count == max)
{
//保存旧数组指针
double* oldData = data;
//创建新数组
max+=5;
data = new double[max];
//拷贝数据
for(int i=0;i<count;i++)
{
data[i] = oldData[i];
}
//删除旧数组指针分配的空间
delete[] oldData;
}
}
//保存输入值的总和
double sum = 0.0;
//输出所有数
cout<<endl
<<"All of the numbers:";
for(int i=0;i<count;i++)
{
if(i%5 == 0)
cout<<endl;
cout<< data[i] <<"\t";
sum += data[i];
}
//输出平均值
cout<<endl
<<"Average:"<<endl
<<static_cast<double>(sum/count)<<endl;
return 0;
}
二、
1.main.cpp
#include<iostream>
using namespace std;
int main()
{
int count(0); //当前有多少个数
int max(5); //最多可有多少个数
double* data = new double[max]; //初始化一个大小为5的数组
char* sInput = new char[20]; //用于保存用户输入的数
cout<<"Enter numbers(q to quit):"<<endl;
while(true)
{
cin>>sInput;
//如果输入的是“q”,则终止输入
if(strcmp("q",sInput) == 0)
break;
//保存输入的数
*(data+count) = atof(sInput);
count++;
//如果数组已装满,则用大点的新数组装
if(count == max)
{
//保存旧数组指针
double* oldData = data;
//创建新数组
max+=5;
data = new double[max];
//拷贝数据
for(int i=0;i<count;i++)
{
*(data+i) = *(oldData+i);
}
//删除旧数组指针分配的空间
delete[] oldData;
}
}
//保存输入值的总和
double sum = 0.0;
//输出所有数
cout<<endl
<<"All of the numbers:";
for(int i=0;i<count;i++)
{
if(i%5 == 0)
cout<<endl;
cout<< *(data+i) <<"\t";
sum += *(data+i);
}
//输出平均值
cout<<endl
<<"Average:"<<endl
<<static_cast<double>(sum/count)<<endl;
return 0;
}
三、
1.main.cpp
int main()
{
char words[20] = "This is a test.";
for(auto& c : words)
{
if(c>='a' && c<='z')
c -= 32;
}
return 0;
}
四、
1.main.cpp
#include<iostream>
#include<time.h>
using namespace std;
int main()
{
//随机数种子
srand((unsigned)time(nullptr));
const int MAX(12);
//初始化一个数组保存12个华氏温度(在32F到212F之间,即摄氏0到100度之间)
double temp[MAX] = {0.0};
for(auto& t : temp)
{
t = (rand()%(2120-320+1)+320)/10.0;
}
//转换为摄氏温度
for(auto& t : temp)
{
t = (t-32)/1.8;
}
double dMax = temp[0]; //最大温度
double dMin = temp[0]; //最小温度
double dSum = 0.0; //所有温度之和
//获取最大值和最小值
for(auto t : temp)
{
if(t > dMax)
dMax = t;
if(t < dMin)
dMin = t;
dSum += t;
}
//输出
cout<<"Max temperature:"<<dMax<<endl;
cout<<"Min temperature:"<<dMin<<endl;
cout<<"Average temperature:"<< dSum/MAX <<endl;
return 0;
}