前言
C++学习笔记。
一、当遇到测试对象采用多个数组进行测试时
代码如下:
例如在实际测试中,有如下要求
给定整数a,b,求a+b的值,并要求测试对象为两组数据,每组两个整型
方法1
#include<iostream>
using namespace std;
void f(int n1,int n2,int n3);
int main()
{
int n; //先给定测试数据有几组
int n1,n2,n3;//每组测试数据中每个数据的类型和一共有多少个
for (i=0;i<n;i++){
cin>>n1>>n2>>n3;//从键盘输入每组要测试的数据
f(n1,n2,n3);//这里是你先要执行的函数啥的
}
return 0;
}
方法二:
#include<iostream>
using namespace std;
void f(int n1,int n2,int n3);
int main(){
int n;
int n1,n2,n3;
while( n--){
cin>>n1>>n2>>n3;
f(n1,n2,n3);
}
return 0;
}
方法二和方法一只是循环函数不同,方法一用 for 循环,方法二用 while 循环
用方法二解决一开始提到的例子
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int n;
double a,b,c;
cin>>n;
while(n--){
cin>>a>>b>>c;
cout<<setiosflags(ios::fixed);
cout <<setprecision(2)<< b/a*c<< endl;
}
return 0;
}
还需要指出的是有效位数保留的写法
#include<iostream>
#include<iomanip>//要保留有效位数时所需要新加的头文件
using namespace std;
int main(){
cout<<setiosflags(ios::fixed)<<setprecision(n)<< f(a,b) <<endl;//要先写setiosflags(ios::fixed),然后再写setprecision(n),这里n是保留小数点后几位
return 0;
}
二、复合类型
一、数组(array)
数组声明
数组声明应该指出以下三点:
1、存储在每个元素中的值的类型
2、数组名
3、数组中的元素数
例如
short months[12];//创造了一个叫做month的组,这个组元素类型为short,一个组一共含有12个元素
声明数组的通用格式如下
typeName arrayName [ arraySize ]
arraySize 是指定元素数目,它必须是整型常熟或者是 const 值,也可以是常量表达式
总而言之,arraySize不能是变量
访问数组元素
1、C++数组从0开始编号,也即 months[0] 是 months 数组的第一个元素
2、C++使用带索引的方括号表示法来指定数组元素
3、最后一个元素的索引比数组长度小1
如何创造数组
int yams [3];
yams[0] = 7;
yams[1] = 8;
yams[2] = 6;
int yams[3] = { 7, 8,6 };
这两种创造yams数组的结果都是一样的