《第2讲C基础与编程1.ppt》由会员分享,可在线阅读,更多相关《第2讲C基础与编程1.ppt(33页珍藏版)》请在优知文库上搜索。
1、C+程序设计1C+基础与编程基础与编程C+程序设计2 1 编程练习一:自动出题器编程练习一:自动出题器 基本思想:基本思想:(1 1)用循环实现)用循环实现(2 2)产生两个)产生两个100100以内的随机数以内的随机数(3 3)将用户输入的答案与正确答案比较,如果一)将用户输入的答案与正确答案比较,如果一致则在得分上加致则在得分上加1010分,否则不得分分,否则不得分(4 4)输出总分)输出总分C+程序设计31 编程练习一:自动出题器编程练习一:自动出题器 程序:程序:#include#includeusing namespace std;int main()int x,y,a,b,s=0;
2、for(int i=1;i=10;i+)x=rand()%100;y=rand()%100;a=x+y;cout第第i题:题:x+yb;if(a=b)s+=10;cout您的总得分是:您的总得分是:sendl;C+程序设计4 1 编程练习一:自动出题器编程练习一:自动出题器 原因:原因:随机数的序列总是和一个随机种子相关联,相同随机数的序列总是和一个随机种子相关联,相同随机种子对应的随机数序列相同。随机种子对应的随机数序列相同。由于没有指定随机种子,因此程序运行后均以默由于没有指定随机种子,因此程序运行后均以默认的随机种子产生相应的随机数序列。认的随机种子产生相应的随机数序列。解决方案:解决方
3、案:使用使用srand库函数重新指定随机种子。库函数重新指定随机种子。C+程序设计51 编程练习一:自动出题器编程练习一:自动出题器 程序:程序:#include#include#includeusing namespace std;int main()int x,y,a,b,s=0;srand(unsigned)time(NULL);for(int i=1;i=10;i+)x=rand()%100;y=rand()%100;a=x+y;cout第第i题:题:x+yb;if(a=b)s+=10;cout您的总得分是:您的总得分是:sendl;C+程序设计6 2 编程练习二:回文字符串判断编程练
4、习二:回文字符串判断 基本思想:基本思想:(1 1)计算字符串的长度)计算字符串的长度(2 2)第一个字符与最后一个字符比较,第二个字)第一个字符与最后一个字符比较,第二个字符与倒数第二个字符比较符与倒数第二个字符比较(3 3)用循环实现)用循环实现(4 4)考虑参数传递)考虑参数传递C+程序设计7 程序:程序:#include#includeusing namespace std;int decidePalindrome(char s)int i=0,j;j=strlen(s)-1;while(ij)if(si!=sj)return 0;i+;j-;return 1;int main()ch
5、ar str100;cout“输入一个字符串:输入一个字符串:”str;int result=decidePalindrome(str);if(result)cout“该字符串是回文该字符串是回文”endl;else cout“该字符串不是回文该字符串不是回文”endl;return 0;2 编程练习二:回文字符串判断编程练习二:回文字符串判断C+程序设计8 3 编程练习三:数据排序编程练习三:数据排序C+程序设计9 冒泡法程序:冒泡法程序:#include#includeusing namespace std;void bubblesort(int data,int n);int main(
6、)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;in-1;i+)for(int j=0;jdataj+1)temp=dataj;dataj=dataj+1;dataj+1=temp;3 编程练习三:数据排序编程练习三:数据排序C+程序设计10 选择法程序:选择法程序:#include#includeusing n
7、amespace std;void bubblesort(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;in-1;i+)min=datai;k=i;for(int j=i+1;jdataj)min=dataj;k=j;temp=datai;datai=datak
8、;datak=temp;3 编程练习三:数据排序编程练习三:数据排序C+程序设计11C+程序设计12程序:程序:#include using namespace std;int main()char str80;int temp,i,j;coutEnter a string:str;for(i=0,j=strlen(str)-1;ij;i+,j-)temp=stri;stri=strj;/*交换交换i,j两个元素两个元素*/strj=temp;coutnReversed string:n“str;C+程序设计13C+程序设计14程序:程序:#include using namespace st
9、d;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 nPosMax=0;int j;for(int i=1;in;i+)nInsert=datai;nPos=i;for(j=0;j=nPosMax;j+)if(nInsert=nPo
10、s)dataj+1=dataj;datanPos=nInsert;nPosMax+;C+程序设计15void insertsort(int data,int n)int nInsert,j;for(int i=1;i=0)&(nInsertdataj)dataj+1=dataj;j-;dataj+1=nInsert;C+程序设计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
11、(li,10,#);for(i=0;iN-1;i+)for(j=0;j0)strcpy(temp,lj);strcpy(lj,lj+1);strcpy(lj+1,temp);for(i=0;iN;i+)coutli ;system(pause);return 0;C+程序设计174 深入学习一:文字常量和常变量深入学习一:文字常量和常变量C+程序设计184 深入学习一:文字常量和常变量深入学习一:文字常量和常变量C+程序设计194 深入学习一:文字常量和常变量深入学习一:文字常量和常变量C+程序设计204 深入学习一:文字常量和常变量深入学习一:文字常量和常变量C+程序设计214 深入学习一:
12、文字常量和常变量深入学习一:文字常量和常变量C+程序设计224 深入学习一:文字常量和常变量深入学习一:文字常量和常变量C+程序设计235 深入学习二:深入学习二:const用法用法C+程序设计245 深入学习二:深入学习二:const用法用法C+程序设计255 深入学习二:深入学习二:const用法用法C+程序设计265 深入学习二:深入学习二:const用法用法C+程序设计275 深入学习二:深入学习二:const用法用法C+程序设计285 深入学习二:深入学习二:const用法用法C+程序设计296 深入学习三:引用与指针常量深入学习三:引用与指针常量C+程序设计306 深入学习三:引用与指针常量深入学习三:引用与指针常量C+程序设计316 深入学习三:引用与指针常量深入学习三:引用与指针常量C+程序设计326 深入学习三:引用与指针常量深入学习三:引用与指针常量C+程序设计33小知识小知识