作业6
/*#include<iostream>
using namespace std;
int main()
{
	int n = 5, a[6] = { 1, 2, 2, 2, 2 };
	a[n] = a[1] + a[2];
	cout << a[n];
	return 0;
}
#include<iostream>
using namespace std;
int main()
{
	char a[3][10] = { { "刘备" }, { "关羽" }, { "张飞" } };
	cout << a[2];
	return 0;
}
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i;
int f[20] = { 1, 1 };
for (i = 2; i < 20; i++)f[i] = f[i - 2] + f[i - 1];
for (i = 0; i < 20; i++)
{
if (i % 5 == 0)cout << endl;
cout << setw(8) << f[i];
}
cout << endl;
return 0;
}
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i[] = { 1, 2, 3, 4 };
cout << i[2];
return 0;
}
一维数组转二维数组
第一种
#include<iostream>
using namespace std;
int main()
{
int i, j;
int a[6] = { 1, 2, 3, 4 ,5,6};
int b[2][3];
int k = 0;//控制数组a中数值位置
for (i = 0; i<2; i++)
{ //控制行
for (j = 0; j<3; j++)
{ //控制列
b[i][j] = a[k];//每行3个元素,赋完为止
k++;
}
}
//输出查看
for (i = 0; i<2; i++)
{ //控制行
for (j = 0; j<3; j++)
{ //控制列
cout<<b[i][j];
}
 cout<<endl;//换行
}
}
第二种
#include<iostream>
using namespace std;
int main()
{
int i, j;
int a[6] = { 1, 2, 3, 4, 5, 6 };
int b[2][3];
for (i = 0; i<6; i++)
{ //控制数组a
b[0][i] = a[i]; //赋值
}
//输出查看
for (i = 0; i<2; i++)
{ //控制行
for (j = 0; j<3; j++)
{ //控制列
cout<<b[i][j];
}
cout<<endl;//换行
}
return 0;
}
第三种
#include<stdio.h>
int main()
{
int i,j;//控制循环的变量
int a[6]={1,2,3,4,5,6};
int b[2][3];
for(i=0;i<6;i++)
{
b[i/3][i%3]=a[i];//赋值
}
//输出查看
for(i=0;i<2;i++)
{ //控制行
for(j=0;j<3;j++)
{ //控制列
printf("%3d  ",b[i][j]);        //输出宽度为3
}
printf("\n");//换行
}
return 0;
}
二维数组转一维数组
#include <stdio.h>
#include <stdlib.h>
#define A   2  //行的长度
#define B   2  //列的长度
int main()
{
int a[A][B]={1,2,3,4};
int b[A*B];
int i,j,k=0;
for(i=0;i<A;i++)
{
for(j=0;j<B;j++)
{
//将二维数组中的值一个个的存入一维数组中
b[k]=a[i][j];
//一维数组角标加一
k++;
}
}
//输出一维数组
for(i=0;i<A*B;i++)
{
printf("%d",b[i]);
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
char c[3]; 
c[0] = 'a'; 
c[1] = 'b'; 
c[2] = 'c';
cout << c[1];
return 0;
}
*/
/*
//用一维数组名作函数参数
//在数段(100至999)中寻找符合条件[既是完全平方数,又有两位数字相同(例如144)]的整数并依次从小到大存入数组中
//无输入输出满足条件的整数。(函数首部如下:int jsValue(int b[])数组b用于存放符合条件的整数)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int isSquere(int x);
int isTwoSame(int x);
for (int i = 100; i<1000; ++i)if (isSquere(i) && isTwoSame(i))cout<<i<<endl;
return 0;
}
int isSquere(int x)//判断是否是平方数
{
double y = (double)x;
double temp = sqrt(y);
int i = (int)temp;
if (i*i == x)return 1;
elsereturn 0;
}
int isTwoSame(int x)
{
int digit0 = x % 10;
int digit1 = (x / 10) % 10;
int digit2 = x / 100;
return(digit0 == digit1 || digit0 == digit2 || digit1 == digit2);
}
*/
/*
//答案
#include <iostream>
#include <cmath>
using namespace std;
int jsValue(int b[]);
int jsValue1(int b[]);
int main()
{
int a[1000],count,i;
count = jsValue1(a);
cout<<count<<endl;
for(i=0;i<count;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
int jsValue1(int b[])
{
int i,j=0,x,y,z;
int c;
for(i=100;i<1000;i++)
{
c= sqrt(i);//sqrt函数的返回值时double型,需要转为整形。
if (c*c==i)//满足完全平方数的条件,取出每一位数
{
x = i%10; //求得个位
y = i/10%10;//求得十位
z = i/100; //求得百位
if(x==y||x==z||y==z)
{
b[j] = i;
j++;
}
}
}
return j;
}
int jsValue(int b[])
{
//要求该整数既是完全平方数,又是两位数字相同
int i,j=0,x,y,z;
int c;
for(i=10;i*i<1000;i++)
{
c = i*i; // 找出完全平方数
x = c%10; //求得个位
y = c/10%10;//求得十位
z = c/100; //求得百位
if(x==y||x==z||y==z)
{
b[j] = c;
j++;
}
}
return j;
}
*/
/* 
//指针-使用指针作为函数参数实现选择法
//使用选择法将10个整数按由小到大的顺序排列,函数首部为void select_sort(int *p, int n)
//输入10个整数输出排序后的整数
样例输入
2 3 4 1 8 9 0 7 6 5
样例输出
0 1 2 3 4 5 6 7 8 9
#include<iostream>
using namespace std;
int main()
{
void select_sort(int *p, int n);//函数声明
	int a[10], i;
	for (i = 0; i<10; i++)  //输入10个数
		cin >> a[i];
	cout << endl;
	select_sort(a, 10);    //函数调用,数组名作实参
	for (i = 0; i<10; i++)     //输出10个已排好序的数
		cout << a[i] << " ";
	cout << endl;
	return 0;
}
void select_sort(int *p, int n)   //用指针变量作形参
{
	int i, j, k, t;
	for (i = 0; i<n - 1; i++)
	{
		k = i;
		for (j = i + 1; j<n; j++)
		{
			if (*(p + j) < *(p + k)) //用指针法访问数组元素
				k = j;
		}
		t = *(p + k);
		*(p + k) = *(p + i);
		*(p + i) = t;
	}
}
*/
/*
//答案
#include<iostream>
using namespace std;
void select_sort(int *p, int n);//函数声明
int main(void)
{
int a[10], i;
//cout << "enter the originl array:" << endl;
for (i=0; i<10; i++)  //输入10个数
cin >> a[i];
cout << endl;
select_sort(a, 10);    //函数调用,数组名作实参
//cout << "the sorted array:" << endl;
for (i=0; i<10; i++)     //输出10个已排好序的数
cout << a[i] << " ";
cout << endl;
return 0;
}
void select_sort(int *p, int n)
{
int i,j,k,t;
for (i=0; i<n-1; i++)
{
k = i;
for (j=i+1; j<n; j++)
{
if (*(p+j) < *(p+k))
k = j;
}
t = *(p+k);
*(p+k) = *(p+i);
*(p+i) = t;
}
}
*/
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号