完善程序填空数组指针 供练习_第1页
完善程序填空数组指针 供练习_第2页
完善程序填空数组指针 供练习_第3页
完善程序填空数组指针 供练习_第4页
完善程序填空数组指针 供练习_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、完善程序填空。实践P1104下面程序(段)的功能是删除字符串s中的空格。完整程序:void main() char s="Beijing ligong daxue" int i,j; for(i=j=0;si!='0'i+) / 0 可直接用0表示,if(si!=' ') sj+=si; sj='0' cout<<s<<endl;1.下面程序(段)的功能是删除字符串s中的空格。void main( ) char s="Beijing ligong daxue" int i,j; fo

2、r(i=j= ;si!='0'i+) / 0 可直接用0表示 if(si!=' ') sj+= ; sj='0' cout<<s<<endl; 0 si 2. 下面程序(段)的功能是删除字符串s中的空格。#include <iostream> using namespace std; int main( ) char s="Changsha ligong daxue" int i,j; for(i=j=0; si != ;i+) if(si!=' ') sj=si; ; sj

3、='0' cout<<s<<endl; return 0; 0 或 0 (串结尾符) j+ 或 +j 或 j=j+1 3. 下面程序(段)的功能是删除字符串s中的空格。#include <iostream> using namespace std; int main( ) char s="Beijing ligong daxue" int i,j; for(i=j=0; si; i+) if(si!=' ') sj= ; j+; sj= ; cout<<s<<endl; return

4、 0; si 或 *(s+i) 0 或 0 (串结尾符) 4. 下面程序(段)的功能是删除字符串s中的空格。#include <iostream> using namespace std; int main( ) char s="Beijing ligong daxue" int i,j; i=j=0; while(si) if(si ' ' ) sj=si; j+ ; ; sj='0' cout<<s<<endl; return 0; != i+ 或 +i 或 i=i+1 5. 下面程序中f函数用来判断s

5、指向的字符串是否为“回文串”,即从前向后读或从后向前读是一样的(默认长度为0、1的字符串是“回文串”),如“abcba”。#include <iostream> #include <iomanip> using namespace std;int f(char *s)int result=1; char *p=s; while(*p!=0) p+; ; while(s<p) if( *s!=*p) result=0; break ; s+; p-; return result; int main( ) char str80; cin>>str; if(

6、 f( ) ) cout<<str<<"是回文串n" else cout<<str<<"不是回文串n" return 0; p-或-p或p=p-1 str 或 &str0 教材P1316.下面的函数del_ch删除P所指串中的ch字符 void del_ch(char *p,char ch) char *q=p; for(;*p!='0' p+ ) /不能正常显示则可直接用0表示 if (*p!= ) *q=*p; ; *q='0' /不能正常显示则可直接用0表示 c

7、h q+或+q或q=q+1 7.下面的函数void del_num(char *p)删除p所指字符串中的数字字符。 void del_ num(char *p) char *q=p; for(;*p!= '0'p+) /不能正常显示则可直接用0表示 if (!(*p>= &&*p<='9') *q=*p; q+; *q= ; '0'(字符0) 0或'0' (串结尾符) 实践P24,48. 下面程序运行时等待用户从键盘输入一个字符串,然后将其中的所有非数字字符剔除后再输出,如输入:ab12c,则输出:12

8、。 #include <iostream> using namespace std;int main( ) char a80; int i,j; cout<<"输入串:" cin>>a; for(i=j=0; ai; i+ ) if(ai>='0'&&ai<='9') aj=ai; ; aj= ; cout<<"结果串:"cout<<a<<endl;return 0; j+ 或 +j 或 j=j+1 0或'0'

9、; (串结尾符) P106 例4.2完整排序程序:将n个数按从小到大顺序排列后输出。采用选择排序法。#define N 10#include <iostream>#include <iomanip>using namespace std;int main( )int i,j,t,k, xN; cout<<"Please input 10 numbers:n" for (i=0;i<N;i+) cin>>xi; for (i=0;i<N-1;i+) k=i; for (j=i+1;j<N;j+) /找出最小值得

10、下标放入k if (xk>xj) k=j; if (k!=i) /若k已不等于其初值, t=xi; xi=xk; xk=t; /交换xi、xk cout<<"The sorted numbers:n" for (i=0;i<N;i+) cout<<setw(6)<<xi; cout<<endl; return 0; 9. 下面程序输入N(10)个数,然后采用选择排序法将它们按从大到小顺序排列后再输出。#define N 10#include <iostream>#include <iomanip&

11、gt;using namespace std;int main( )int i,j,t,k, xN; cout<<"请输入10个数:n" for (i=0;i<N;i+) cin>>xi; for (i=0;i<N-1;i+) k=i; for (j=i+1;j<N;j+) if (xk xj) k=j; if ( ) t=xi; xi=xk; xk=t; cout<<"从大到小依次为:n" for (i=0;i<N;i+) cout<<setw(6)<<xi; cout

12、<<endl; return 0; <或<= k!=i 10. 下面程序输入N(10)个数,然后采用选择排序法将它们按从大到小顺序排列后再输出。#define N 10#include <iostream>#include <iomanip>using namespace std;int main( )int i,j,t,k, xN; cout<<"请输入10个数:n" for (i=0;i<N;i+) cin>>xi; for (i=0;i<N-1;i+) ; for (j=i+1;j&l

13、t;N;j+) if (xk < xj) k=j; if ( k!=i ) t=xi; xi=xk; ; cout<<"从大到小依次为:n" for (i=0;i<N;i+) cout<<setw(6)<<xi; cout<<endl; return 0; k=i xk=t 11. 下面程序输入N(10)个数,然后将它们按从大到小顺序排列后再输出。程序中的函数sort采用选择排序法对数组x中的n个元素值进行排序。#define N 10#include <iostream>#include <io

14、manip>using namespace std;void sort(int x , int n)int i,j,t,k;for (i=0;i<n-1;i+) k=i; for (j=i+1;j<n;j+) if (xk < xj) k=j; if ( k!=i ) ; xi=xk; xk=t; int main( )int i, xN; cout<<"请输入10个数:n" for (i=0;i<N;i+) cin>>xi; sort( , N); cout<<"从大到小依次为:n" f

15、or (i=0;i<N;i+) cout<<setw(6)<<xi; cout<<endl; return 0; t=xi x 或 &x0 12. 函数transpose求存于形参二维数组aNN中的方阵AN×N的转置矩阵A,且将结果仍然存于a中(即将aij与aji的值互换)。void transpose( int aN )int i,j, t;for(i=0;i<N;i+) for(j=0; j< ;j+)t= aji; ; aij= t ; i 或 i+1 aji= aij 13. 函数transpose求存于形参二维数

16、组aNN中的方阵AN×N的转置矩阵A,且将结果仍然存于a中(即将aij与aji的值互换)。void transpose( int aN )int i,j, t;for(i=0;i< N ;i+) for(j= i+1 ; j< ; j+)t= aji; aji= aij; aij= ; N t 14. 实验教材P21已知下面程序输出如下二维数表:1 2 3 4 5 61 1 2 3 4 51 2 1 2 3 42 3 3 1 2 32 4 6 4 1 22 5 10 10 5 1请完善其空缺部分。#include <iostream>#include <

17、iomanip>using namespace std;void main() int a66,i,j; for(i=0;i<6;i+) for(j=0;j<6;j+) if ( j=0 | i=j ) ; else if ( ) aij=aij-1+1; else aij=ai-1j-1+ai-1j; cout<<setw(6)<<aij; cout<<endl; aij=1 i<j15. 实验教材P21 已知下面程序输出如下二维数表:1 2 3 4 5 61 1 2 3 4 51 2 1 2 3 42 3 3 1 2 32 4 6

18、 4 1 22 5 10 10 5 1 请完善其空缺部分。#include <iostream>#include <iomanip>using namespace std;void main() int a66,i,j; for(i=0;i<6;i+) for(j=0;j<6;j+) if ( j=0 | i=j ) aij=1; else if ( ) aij=ai-1j-1+ai-1j; else aij= ; cout<<setw(6)<<aij; cout<<endl; j<i aij-1+1或者j+1-i1

19、6.下面的程序求用户输入数据的整数部分和小数部分,如输入9.45,则输出:整数部分:9, 小数部分:0.45。 void f(float y,int *a, float *z) *a=(int)y ; *z= -*a ;void main() int b; float x,w; cin>>x; f(x, &b, );cout<<"整数部分:"<<b<<","<<"小数部分:"<<w<<endl; y &w 17.下面的程序求用户输入数据

20、的整数部分和小数部分,如输入2.35,则输出:整数部分:2, 小数部分:0.35。 void f(float y,int *a, float *z) *a=(int)y ; *z= y - ;void main() int b; float x,w; cin>>x; f(x, , &w );cout<<"整数部分:"<<b<<","<<"小数部分:"<<w<<endl; *a &b18. 实验教材P21已知下面程序先计算出杨辉三角数表存于二维数组a的对应位置各元素中,然后输出数组a主对角元素及以下的元素便得到如下杨辉三角数表的前5行, 11 11 2 11 3 3 11 4 6 4 1请完善其空缺部分。#include <iostream> using namespace std; #include <iomanip>int main() int i,j,a55; for(i=0;i<5;i+) ; aii=1 ; for( j= 1 ; j<i ; j+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论