西安交通大学计算机程序设计指针实验

2019-04-04 22:46

西安交通大学实验报告

课程_计算机程序设计_实验名称__指针__第 页 共 页

一.实验目的

(1)掌握指针的概念,学会定义指针变量和使用指针变量进行间接引用; (2)掌握数组的指针和指向数组的指针变量; (3)掌握二维数组中行指针的概念和使用。

二.实验内容

(一)编写程序,将一个输入位数不确定的正整数按照标准的3位分节格式输出,例如当用户输入8214235时,程序应输出82,142,235. 1.要点分析

2.程序源代码

#include using namespace std; int main() {

long n,i=1; char a[20], *p; p=a;

cout<<\请输入待转换的整数:\ cin>>n; do {

if(i%4!=0) {

*p=n+'0'; n=n/10; }

else *p=','; p++; i++;

}while (n!=0); cout<<\结果为:\ do {

p--; i--;

cout<<*p;

}while(i>1); cout<

3.实验结果

(二)实验题目二:

用指针编写一个程序,当输入一个字符串后,要求不仅能够统计其字符的个数,还能分别指出其中大、小写字母,数字以及其他字符的个数。

1.要点分析 略

2.程序源代码

#include using namespace std; int main() {

char s[30],*ps=s; int a,b,c,d;

cout<<\请输入一个任意字符串:\ cin>>s;

a=0; b=0; c=0; d=0; while (*ps!='\\0') {

if (*ps>='a'&&*ps<='z')a++;

else if (*ps>='A'&&*ps<='Z') b++; else if (*ps>='0'&&*ps<='9') c++; else d++; ps++; }

cout<<\该字符串字符个数为\ cout<<\该字符串小写字母个数为\ cout<<\该字符串大写字母个数为\ cout<<\该字符串数字个数为\

cout<<\该字符串其它字符个数为\ return 0; }

3.实验结果

(三)实验题目三

编写一个函数,用于将一个字符串转换为整型数值。其原型如下: Int atoi(char *string);

其中string为待转换的字符串(其中包括正负号及数字),返回值为转换结果。

要点分析 略

1.程序源代码

#include using namespace std; int main() {

char s[30],*ps=s; int a[30],*pa=a; int n;

cout<<\请输入一个任意字符串:\ cin>>s; n=0;

while (*ps!='\\0') {

*pa=int(*ps); pa++; ps++; n++; }

cout<<\转换的结果是:\ pa=a;

while (n>0) {

cout<<*pa<<\ pa++; n--; }

cout<

2.实验结果

(四)实验题目四

编写一个函数,用于生成一个空白字符串,其原型如下: Char *mystrspc(char *string,int n);

其中,参数string为字符串,n为空白字符串的长度(空格字符数)。返回值为指向string的指针。

1.要点分析 略

2.程序源代码 #include using namespace std;

char *mystrspc(char *string, int n) {

char *p=string; while (n>0) {

*p=' '; p++; n--; }

*p=0;

return string; }

int main() {

char s[50]; int i,n;

cout<<\请输入空格的长度:\ cin>>n;

for (i=0; i<=n; i++) cout<<(i-i)/10; cout<

for (i=0; i<=n; i++) cout<

cout<

3.实验结果

(五)实验题目五

修改选择排序函数,使每轮挑选最大元素,函数原型如下: voidselectsort( int *array, int n); 编写主函数对其进行测试。

1.要点分析 略

2.程序源代码 #include using namespace std;

void selectsort(int *array,int n) {

int k,j,t;

for(int i=0;i

for (j=i+1;j

if(*(array+j)>*(array+k)) k=j; if(k!=i) {

t=*(array+i);

*(array+i)=*(array+k); *(array+k)=t; } } }

int main() {

const m=5; int a[m] ,i;

cout<<\请输入\个待排序的数:\ for (i=0; i>a[i];


西安交通大学计算机程序设计指针实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:国库集中支付软件操作培训手册(修改版) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: