C++ | 数组 |实验五
#include <iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
//实验1,10个数据的最值
int i, x[10] = { 90,78,63,75,94,87,86,99,71,85 },sum=0,ave,max,min;
for (i = 0; i < 10; i++)
{
sum = sum + x[i];
}
for (i = 1; i < 10; i++)
{
max = x[0];
if (x[i]>max)
{
max = x[i];
}
min = x[0];
if (x[i]<min)
{
min = x[i];
}
}
ave = sum / 10;
cout << "最大值=" << max << endl << "最小值=" << min << endl<< "sum=" << sum << endl << "ave=" << ave;
system("pause");
return 0;
}
2.回文单词的判定
#include <iostream>
#include<cstring>
using namespace std;
const int max = 100;
int main()
{
char a[max];
cout << "a=";
cin >> a;
for (int i = 0; i <= strlen(a) - 1; i++)
{
if (a[i] != a[strlen(a) - 1 - i])
cout << "不是回数" << endl; //先判断非,比较方便
break;
if (i == strlen(a) - 1 && a[strlen(a) - 1] == a[strlen(a) - 1 - i]) //※执行完全部循环,才判定是否为回文.
cout << "是回数!!" << endl;
}
system("pause");
return 0;
}
3.统计单词个数
#include <iostream>
#include<cstring>
using namespace std;
int main()
{
char a[5][10];
int sum=0,n,i,j ; //char 和 int定义混到一起去了
cout << "输入n个单词";
cin >> n;
for (i = 0; i < n; i++)
{
cin >>a[i] ;//二维数组可以只写一个'[]'
}
for (j = 0; j < n; j++)
{
if (a[j][0] == 'c')
sum++ ;
}
cout << "以C开头的单词有" << sum << "个" << endl;
system("pause");
return 0;
}
4.一个4x4方阵中
①主对角线之和
②辅对角线之积
③方阵中最大值
#include <iostream>
#include<cstring>
using namespace std;
int main()
{
int a[3][3];
int i, j, sum = 0, mul = 1, max;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
cin >> a[i][j];
}
}
//主对角线求和
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i == j) //第一次运行发现少循环一次,"=="错打为"="
sum = sum + a[i][j];
}
}
cout << "主对角线求和" << sum << endl;
//辅对角线求积
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i == (3 - j))
mul = mul * a[i][j];
}
}
cout << "辅对角线求积" << mul << endl;
//方阵中最大的元素
max = a[0][0]; //赋初值应该在循环外面,不然每一次循环都会重新赋为a[0][0]
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (a[i][j] > max)
max = a[i][j];
else
max = max;
}
}
cout << "最大值为" << max;
system("pause");
return 0;
}

浙公网安备 33010602011771号