1、完善程序填空 数组指针 供练习讲课讲稿完善程序填空 2015 (数组,指针 供练习)完善程序填空。实践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; coutsendl;1.下面程序(段)的功能是删除字符串s中的空格。void main( ) char s=Beijing ligong daxue; int i,j; for(i=j= ;si!=0;i+) / 0 可直
2、接用0表示 if(si!= ) sj+= ; sj=0; coutsendl; 0 si 2. 下面程序(段)的功能是删除字符串s中的空格。#include using namespace std; int main( ) char s=Changsha ligong daxue; int i,j; for(i=j=0; si != ;i+) if(si!= ) sj=si; ; sj=0; coutsendl; return 0; 0 或 0 (串结尾符) j+ 或 +j 或 j=j+1 3. 下面程序(段)的功能是删除字符串s中的空格。#include using namespace st
3、d; int main( ) char s=Beijing ligong daxue; int i,j; for(i=j=0; si; i+) if(si!= ) sj= ; j+; sj= ; coutsendl; return 0; si 或 *(s+i) 0 或 0 (串结尾符) 4. 下面程序(段)的功能是删除字符串s中的空格。#include 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; coutse
4、ndl; return 0; != i+ 或 +i 或 i=i+1 5. 下面程序中f函数用来判断s指向的字符串是否为“回文串”,即从前向后读或从后向前读是一样的(默认长度为0、1的字符串是“回文串”),如“abcba”。#include #include using namespace std;int f(char *s)int result=1; char *p=s; while(*p!=0) p+; ; while(sstr; if( f( ) ) coutstr是回文串n; else coutstr= &*p=9) *q=*p; q+; *q= ; 0(字符0) 0或0 (串结尾符)
5、实践P24,48. 下面程序运行时等待用户从键盘输入一个字符串,然后将其中的所有非数字字符剔除后再输出,如输入:ab12c,则输出:12。 #include using namespace std;int main( ) char a80; int i,j; couta; for(i=j=0; ai; i+ ) if(ai=0&ai=9) aj=ai; ; aj= ; cout结果串:;coutaendl;return 0; j+ 或 +j 或 j=j+1 0或0 (串结尾符) P106 例4.2完整排序程序:将n个数按从小到大顺序排列后输出。采用选择排序法。#define N 10#incl
6、ude #include using namespace std;int main( )int i,j,t,k, xN; coutPlease input 10 numbers:n; for (i=0;ixi; for (i=0;iN-1;i+) k=i; for (j=i+1;jxj) k=j; if (k!=i) /若k已不等于其初值, t=xi; xi=xk; xk=t; /交换xi、xk coutThe sorted numbers:n; for (i=0;iN;i+) coutsetw(6)xi; coutendl; return 0; 9.下面程序输入N(10)个数,然后采用选择排
7、序法将它们按从大到小顺序排列后再输出。#define N 10#include #include using namespace std;int main( )int i,j,t,k, xN; cout请输入10个数:n; for (i=0;ixi; for (i=0;iN-1;i+) k=i; for (j=i+1;jN;j+) if (xk xj) k=j; if ( ) t=xi; xi=xk; xk=t; cout从大到小依次为:n; for (i=0;iN;i+) coutsetw(6)xi; coutendl; return 0; 或= k!=i 10.下面程序输入N(10)个数,
8、然后采用选择排序法将它们按从大到小顺序排列后再输出。#define N 10#include #include using namespace std;int main( )int i,j,t,k, xN; cout请输入10个数:n; for (i=0;ixi; for (i=0;iN-1;i+) ; for (j=i+1;jN;j+) if (xk xj) k=j; if ( k!=i ) t=xi; xi=xk; ; cout从大到小依次为:n; for (i=0;iN;i+) coutsetw(6)xi; coutendl; return 0; k=i xk=t 11. 下面程序输入N
9、(10)个数,然后将它们按从大到小顺序排列后再输出。程序中的函数sort采用选择排序法对数组x中的n个元素值进行排序。#define N 10#include #include using namespace std;void sort(int x , int n)int i,j,t,k;for (i=0;in-1;i+) k=i; for (j=i+1;jn;j+) if (xk xj) k=j; if ( k!=i ) ; xi=xk; xk=t; int main( )int i, xN; cout请输入10个数:n; for (i=0;ixi; sort( , N); cout从大到小
10、依次为:n; for (i=0;iN;i+) coutsetw(6)xi; coutendl; return 0; t=xi x 或 &x0 12. 函数transpose求存于形参二维数组aNN中的方阵ANN的转置矩阵A,且将结果仍然存于a中(即将aij与aji的值互换)。void transpose( int aN )int i,j, t;for(i=0;iN;i+) for(j=0; j ;j+) t= aji; ; aij= t ; i 或 i+1 aji= aij 13. 函数transpose求存于形参二维数组aNN中的方阵ANN的转置矩阵A,且将结果仍然存于a中(即将aij与aj
11、i的值互换)。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 #include using namespace std;void main() int a66,i,j; for(i=0;i6;i+) for(j=0;j6
12、;j+) if ( j=0 | i=j ) ; else if ( ) aij=aij-1+1; else aij=ai-1j-1+ai-1j; coutsetw(6)aij; coutendl; aij=1 ij15. 实验教材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 #include using namespace std;void main() int a66,i,j; for(i=0;i6;i+) for(j=0;j6
13、;j+) if ( j=0 | i=j ) aij=1; else if ( ) aij=ai-1j-1+ai-1j; else aij= ; coutsetw(6)aij; coutendl; jx; f(x, &b, );cout整数部分:b,小数部分:wx; f(x, , &w );cout整数部分:b,小数部分:wendl; *a &b18. 实验教材P21已知下面程序先计算出杨辉三角数表存于二维数组a的对应位置各元素中,然后输出数组a主对角元素及以下的元素便得到如下杨辉三角数表的前5行, 11 11 2 11 3 3 11 4 6 4 1请完善其空缺部分。#include using
14、 namespace std; #include int main() int i,j,a55; for(i=0;i5;i+) ; aii=1 ; for( j= 1 ; ji ; j+) aij=ai-1j-1+ai-1j; for(i=0;i5;i+) coutendl; for(j=0 ; ; j+) coutsetw(6)aij ; coutendl;return 0; ai0=1 j=i 19. 实验教材P21已知下面程序先计算出杨辉三角数表存于二维数组a的对应位置各元素中,然后输出数组a主对角元素及以下的元素便得到如下杨辉三角数表的前5行, 11 11 2 11 3 3 11 4
15、6 4 1请完善其空缺部分。#include using namespace std; #include int main() int i,j,a55; for(i=0;i5;i+) ai0=1 ; aii=1 ; for( j= ; ji ;j+) aij=ai-1j-1+ai-1j; for(i=0;i5;i+) coutendl; for(j=0 ; j=i; j+) coutsetw(6) ; cout0个元素)中找出最大元素,请将函数补充完整。int findmax(int x,int n) int max= ;for(int i=1;imax) ;return max; x0 max=xi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1