程序设计A笔记(三)

程序设计A笔记(三)

18-数学-3班-孔旭-2018212765

一、学习内容总结

数组就是一组相同类型的元素的集合。

数组的定义格式为: 类型+数组名[青青数组里的数据个数]  使用之前要先定义

1.一维数组

⑴定义

数据类型  数组名[整形常量表达式];

   数据类型:规定数组的数据类型。

   数组名:表示数组的名称,命名规则和变量名相同,为任一合法的标识符。

⑵整形常量表达式:必须用方括号括起来,规定了数组中包含元素的个数,其中包括常数和符号常量,不能包含变量。

⑶数组名后面的方括号内容不能为空,必须为整形常量表达式

⑷一维数组的初始化

数据类型 数组名[整型常量表达式]={常量表达式,常量表达式.......}

   在定义时对全部数组元素赋初值。

   在定义时只给部分元素赋初值。

   只能给元素逐个赋值,不能给数组整体赋值。

2.二维数组

⑴定义

数据结构 数组名[整型常量表达式1][整形常量表达式2];

   下标只能是整数,并且从0开始

   二维数组是按行优先存储的,

⑵不能引用整个数组,只能逐个引用数组元素。

   数组名 [下标表达式1][下标表达式2];

⑶二维数组元素的初始化

   按行赋初值,将每一行元素的初值用一对花括号括起来。

   根据该数组的元素个数,把初始化数据全部扩在一个花括号内。

   对部分数组元素赋初值。

   可以省略第一维的长度,但必须制定第二维的长度。

3.字符数组

⑴定义

一维字符串数组

char 数组名[整型常量表达式];

二维字符串数组:

char 数组名[整型常量表达式1][整型常量表达式2];

⑵字符串数组的初始化

把字符逐个地赋给数组中的各元素。

⑶字符数组的引用

字符数组中的每个元素都相当于一个字符变量,因此对一个数组元素的引用就是对一个字符变量的引用。

4.字符串

字符串常量:用双引号括起来的一串字符

末尾有系统自动加的一个字符串结束标志‘\0’.

字符数组与字符串的区别在于字符串结尾有‘\0’。

输入与输出:

‘%c’,‘%s’

二、学习后可解决问题

eg.1.一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。

#include<iostream>

#include<math.h>

#include<algorithm>

using namespace std;

int m=3100;

int main()

{

long long int i,n,a[m],b[m];

cin>>n;

if(n==1)

{

cout<<"Jolly"<<endl;

return 0;

}

for(i=1;i<=n;i++)

cin>>a[i];

for(i=1;i<n;i++)

{

b[i]=abs(a[i+1]-a[i]);

}

sort(b+1,b+n);

for(i=1;i<n;i++)

{

if(b[i]!=i) 

{

cout<<"Not jolly"<<endl;

return 0;

}

}

cout<<"Jolly"<<endl;

return 0;

}

eg.2.小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,若以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?

#include<iostream>

using namespace std;

int main()

{

int n,a,b,p[101],q[101],i,j=0,k=0,x=0,y=0;

cin>>n>>a>>b;

for(i=1;i<=a;i++)

cin>>p[i];

for(i=1;i<=b;i++)

cin>>q[i];

for(i=1;i<=n;i++)

{

        j++;k++;

if((p[j]==0&&q[k]==2)||(p[j]==2&&q[k]==5)||(p[j]==5&&q[k]==0))

x++;

else if((q[k]==0&&p[j]==2)||(q[k]==2&&p[j]==5)||(q[k]==5&&p[j]==0))

y++;

    if(j==a)j=0;

        if(k==b)k=0;

}

if(x>y) cout<<"A"<<endl;

else if(x<y) cout<<"B"<<endl;

else if(x==y) cout<<"draw"<<endl;

return 0;

}

三、近期学习心得

   程序设计课的学习本学期也要接近尾声了,通过这一学期对程序设计的学习,收获了许多新知识,让我从对程序设计的完全不了解到现在可以自己分析问题写程序。当然在学习的过程中也存在许多问题和不足,在细节方面不够仔细,并且在处理一些较难的问题时依旧能力不足。希望之后的学习可以再接再厉,不断提高自己能力。

2018年12月24日

 

猜你喜欢

转载自blog.csdn.net/qq_43642063/article/details/85228562
今日推荐