VC++学习实例.docx

上传人:b****8 文档编号:9135365 上传时间:2023-02-03 格式:DOCX 页数:15 大小:21.40KB
下载 相关 举报
VC++学习实例.docx_第1页
第1页 / 共15页
VC++学习实例.docx_第2页
第2页 / 共15页
VC++学习实例.docx_第3页
第3页 / 共15页
VC++学习实例.docx_第4页
第4页 / 共15页
VC++学习实例.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

VC++学习实例.docx

《VC++学习实例.docx》由会员分享,可在线阅读,更多相关《VC++学习实例.docx(15页珍藏版)》请在冰豆网上搜索。

VC++学习实例.docx

VC++学习实例

VC++学习实例

1.数组元素的排序

#include"iostream.h"

voidSort(intnArray[],intnLen)

{

//起泡法排序

for(inti=0;i

//直接在for内定义i的数据类型

for(intj=0;j

if(nArray[j]>nArray[j+1])

{intnNum=nArray[j];

nArray[j]=nArray[j+1];

nArray[j+1]=nNum;

}

//return0;//void类型不能有返回值,不能返回0

return;//可以直接“return”

}

intmain(intargc,char*argv[])

{intnGrade[]={45,78,25,96,105,12};

intnLen=sizeof(nGrade)/sizeof(int);//获取数组的长度

Sort(nGrade,nLen);

//for(inti=0;i

for(inti=nLen-1;i>=0;i--)//降序排列

{cout<

return;

}

//无论是void函数或int函数,结尾都加“return”

2.统计成绩的最高分、最低分和平均值

#include"iostream.h"

intAverage(intnGrade[],intnLen)

{intnSum=0;

for(inti=0;i

{nSum+=nGrade[i];}

returnnSum/nLen;//此处应该返回的是平均成绩,而不是0

}

intMaxGrade(intnGrade[],intnLen)

{intnMax=nGrade[0];

for(inti=0;i

{nMax=(nMax>nGrade[i])?

nMax:

nGrade[i];}//两数比较,取较大的

returnnMax;//此处应该返回的是最高成绩

}

intMinGrade(intnGrade[],intnLen)

{intnMin=nGrade[0];

for(inti=0;i

{nMin=(nMin>nGrade[i])?

nGrade[i]:

nMin;}//两数比较,取较小的

returnnMin;

}

intmain(intargc,char*argv[])

{intnArray[]={5,3,4,1,2};

intnLen=sizeof(nArray)/sizeof(int);

//cout<

intAver=Average(nArray,nLen);

cout<<"平均成绩为:

"<

intnMax=MaxGrade(nArray,nLen);

cout<<"最高成绩为:

"<

intnMin=MinGrade(nArray,nLen);

cout<<"最低成绩为:

"<

return0;

}

3.描述分段函数

#include"iostream.h"

intmain(intargc,char*argv[])

{intx,y;

cout<<"请输入x的值:

";

cin>>x;

if(x<1){y=x;}

elseif(x>=1&&x<30){y=5*x;}

elseif(x>=30){y=10*x;}

cout<<"y的值为:

"<

return0;

}

#include"iostream.h"

intcalcu(intx)

{inty;

if(x<1){y=x;}

elseif(x>=1&&x<30){y=5*x;}

elseif(x>=30){y=10*x;}

returny;

}

intmain(intargc,char*argv[])

{intx;

cout<<"请输入x的值:

";

cin>>x;

inty=calcu(x);

cout<<"y的值为:

"<

return0;

}

4.判断1998-2050之内的所有闰年

闰年:

能被4整除,不被100整除;或者,能被100整除,能被400整除。

#include"iostream.h"

intmain(intargc,char*argv[])

{

for(inti=1998;i<2050;i++)

{

if(i%4==0&&i%100!

=0)

{

cout<

}

elseif(i%100==0&&i%400==0)

{

cout<

}

}

return0;

}

#include"stdafx.h"

#include"iostream.h"

//判断某一年是否是闰年

boolIsLeapyear(intnYear)

{

if(nYear%4==0&&nYear%100!

=0)

{returntrue;}

elseif(nYear%100==0&&nYear%400==0)

{returntrue;}

returnfalse;

}

intmain(intargc,char*argv[])

{

for(intnYear=1998;nYear<2051;nYear++)

{

if(IsLeapyear(nYear))

{

cout<

}

}

return0;

}

——在主函数中,尽量只调用子函数。

5.寻找某个元素的位置

#include"iostream.h"

intFindElement(intnArray[],intnLen,intnData)

{

for(inti=0;i

{

if(nArray[i]==nData)

{

cout<<"找到数据"<

return0;//发现了元素,函数返回

}

}

cout<<"没有发现数据"<

return0;

}

intmain(intargc,char*argv[])

{

intnArray[]={1,5,3,6,4,2};

intnLen=sizeof(nArray)/sizeof(int);

intFindData=FindElement(nArray,nLen,6);

//cout<

return0;

}

6.

//静态变量的应用

#include"iostream.h"

voidinvoke()

{

staticints_nNum=0;//“s_”静态变量的命名

//ints_nNum=0;

cout<

s_nNum++;

}

intmain(intargc,char*argv[])

{

for(inti=0;i<10;i++)

{

invoke();

}

return0;

}

静态变量s_nNum的结果

普通变量s_nNum的结果

7.

//两个字符串的连接

//#include"stdio.h"//C库printf,scanf

#include"iostream.h"//C++库cout,cin

char*Strcat(char*str1,char*str2)

{

//char*s=str1;//此句的作用?

while(*str1)

{

str1++;

}

while(*str2)

{

*str1++=*str2++;

}

*str1=0;

//returnstr1;

//returns;

return0;

}

intmain()

{

chars1[100],s2[100]={0};

/*

printf("输入第一个字符串:

");

scanf("%s",s1);

printf("输入第二个字符串:

");

scanf("%s",s2);

*/

cout<<"输入第一个字符串:

"<

cin>>s1;

cout<<"输入第二个字符串:

"<

cin>>s2;

Strcat(s1,s2);

//printf("连接之后的字符串:

%s\n",s1);

cout<<"连接之后的字符串:

"<

return(0);

}

上述程序的运行结果

将上述程序的“*str1=0;”注释掉的结果如下,为什么?

8.

//使用指针变量访问和修改相应变量的值

//张顺,2013年6月18日14:

32:

12

//#include"stdafx.h"

#include"iostream.h"

intmain(intargc,char*argv[])

{

intnLen=10;

//int*pLen;

//pLen=&nLen;//将变量的地址赋给指针变量

int*pLen=&nLen;//定义指针并初始化,代替以上两句

cout<<"指针pLen指向的地址为"<

cout<<"指针pLen指向的数据为"<<*pLen<

cout<<"nLen的值为"<

cout<

//通过修改指针指向的数据,来修改变量的值

//pLen=pLen+1;

*pLen=100;

cout<<"指针pLen指向的地址为"<

cout<<"指针pLen指向的数据为"<<*pLen<

cout<<"nLen的值为"<

cout<

//指针变量之间的赋值

intnCount=11;

int*pCount=&nCount;

pLen=pCount;//将指针变量pCount赋值给指针变量pLen

cout<<"指针pCount指向的地址为"<

cout<<"指针pLen指向的地址为"<

cout<<"指针pLen指向的数据为"<<*pLen<

cout<

return0;

}

若增加“pLen=pLen+1;”语句,则结果如下;pLen指向的数据变为100,而nLen的值未变,仍为10.

注意:

“pLen=100;”赋值方法是错误的,“'=':

cannotconvertfrom'constint'to'int*'”,因为“pLen”是整型指针变量,而“100”是整型常量。

9.使用指针变量遍历数组

指针,可以指向变量和数组。

数组名表示的是,数组的首地址,即数组中第一个元素的地址。

因此,将数组之间赋值给指针对象是完全合法的。

//使用指针变量遍历数组

//张顺,2013年6月17日17:

15:

29

//#include"stdafx.h"//Cannotopenincludefile:

'stdafx.h':

Nosuchfileordirectory

#include"iostream.h"

intmain(intargc,char*argv[])

{

intnArray[]={1,2,3,4,5};//定义一个数组

intnLen=sizeof(nArray)/sizeof(int);//获取数组的长度

//将数组(首地址)赋给指针变量

int*pIndex=nArray;//定义一个指针,指向所定义的数组

for(inti=0;i

{

cout<<*pIndex<

pIndex++;//使指针指向下一个元素

//cout<<*pIndex++<

}

return0;

}

10.

//指针数组

//张顺,2013年6月18日14:

51:

41

#include"iostream.h"

intmain(intargc,int*argv[])

{

int*pArray[3][3];//定义一个指针数组

intnArray[3][3]={

{1,2,3},

{4,5,6},

{7,8,9}};

for(inti=0;i<3;i++)

{

for(intj=0;j<3;j++)

{

//pArray[i][j]=&nArray[i][j];//为指针数组的各元素赋值

//cout<<*pArray[i][j]<

pArray[j][i]=&nArray[j][i];

cout<<*pArray[j][i]<

}

}

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1