第2讲C基础与编程1.ppt
《第2讲C基础与编程1.ppt》由会员分享,可在线阅读,更多相关《第2讲C基础与编程1.ppt(33页珍藏版)》请在课桌文档上搜索。
1、1,C+基础与编程,1 编程练习一:自动出题器2 编程练习二:判断字符串是否是“回文”3 编程练习三:数据排序4 深入学习一:文字常量和常变量5 深入学习二:const的用法6 深入学习三:引用与指针常量,2,要求:对两个随机的100以内的整数进行加法运算,共出10题,每题10分,最后给出得分。,1 编程练习一:自动出题器,基本思想:(1)用循环实现(2)产生两个100以内的随机数(3)将用户输入的答案与正确答案比较,如果一致则在得分上加10分,否则不得分(4)输出总分,3,1 编程练习一:自动出题器,程序:#include#includeusing namespace std;int mai
2、n()int x,y,a,b,s=0;for(int i=1;ib;if(a=b)s+=10;cout您的总得分是:sendl;,4,问题:当程序第二次运行时,所出的题目与第1次一样。,1 编程练习一:自动出题器,原因:随机数的序列总是和一个随机种子相关联,相同随机种子对应的随机数序列相同。由于没有指定随机种子,因此程序运行后均以默认的随机种子产生相应的随机数序列。,解决方案:使用srand库函数重新指定随机种子。,5,1 编程练习一:自动出题器,程序:#include#include#includeusing namespace std;int main()int x,y,a,b,s=0;s
3、rand(unsigned)time(NULL);for(int i=1;ib;if(a=b)s+=10;cout您的总得分是:sendl;,6,要求:对于一个字符串,顺读与逆读是相同的字符。定义一个子函数完成判断功能,若是回文,返回1,否则返回0。在主函数中根据返回值输出结果。,2 编程练习二:回文字符串判断,基本思想:(1)计算字符串的长度(2)第一个字符与最后一个字符比较,第二个字符与倒数第二个字符比较(3)用循环实现(4)考虑参数传递,7,程序:#include#includeusing namespace std;int decidePalindrome(char s)int i=0
4、,j;j=strlen(s)-1;while(ij)if(si!=sj)return 0;i+;j-;return 1;,int main()char str100;coutstr;int result=decidePalindrome(str);if(result)cout“该字符串是回文”endl;else cout“该字符串不是回文”endl;return 0;,2 编程练习二:回文字符串判断,8,要求:冒泡法 选择法 直接插入法,3 编程练习三:数据排序,9,冒泡法程序:#include#includeusing namespace std;void bubblesort(int da
5、ta,int n);int main()int a=20,40,-50,7,13;int n=sizeof(a)/sizeof(int);bubblesort(a,n);for(int j=0;jn;j+)coutajt;coutendl;system(pause);,void bubblesort(int data,int n)int temp;for(int i=0;idataj+1)temp=dataj;dataj=dataj+1;dataj+1=temp;,3 编程练习三:数据排序,10,选择法程序:#include#includeusing namespace std;void bu
6、bblesort(int data,int n);int main()int a=20,40,-50,7,13;int n=sizeof(a)/sizeof(int);selsort(a,n);for(int j=0;jn;j+)coutajt;coutendl;system(pause);,void selsort(int data,int n)int min,k,temp;for(int i=0;idataj)min=dataj;k=j;temp=datai;datai=datak;datak=temp;,3 编程练习三:数据排序,11,练习:把输入的字符串逆序排列,并显示。,分析:数据结
7、构:输入的字符串用字符数组存放。算法要点:逆序排列用交换算法,求出字符串最后一个字符的下标,然后将第一个和最后一个交换,第二个和倒数第二个交换,.。,12,程序:#include using namespace std;int main()char str80;int temp,i,j;coutstr;for(i=0,j=strlen(str)-1;ij;i+,j-)temp=stri;stri=strj;/*交换i,j两个元素*/strj=temp;coutnReversed string:n“str;,13,练习:直接插入法排序,基本思想:先将下标为0的元素作为已排好的元素,然后从下标为1
8、的元素开始,依次把后面的元素按大小插入到前面已排好序的元素中,直到将全部元素插完为止,从而完成排序过程。,14,程序:#include using namespace std;void insertsort(int data,int n);int main()int a=20,40,-50,7,13;int n=sizeof(a)/sizeof(int);insertsort(a,n);for(int j=0;jn;j+)coutajt;coutendl;system(pause);,void insertsort(int data,int n)int nInsert,nPos;int nPo
9、sMax=0;int j;for(int i=1;i=nPos)dataj+1=dataj;datanPos=nInsert;nPosMax+;,15,void insertsort(int data,int n)int nInsert,j;for(int i=1;i=0),16,#include#includeusing namespace std;int const N=3;int main()char lN30,temp30;int i,j,k;cout请输入字符串endl;for(i=0;iN;i+)cin.getline(li,10,#);,for(i=0;i0)strcpy(tem
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础 编程
链接地址:https://www.desk33.com/p-739910.html