{for(i=0;i
else {j=i-1;a[i]=b[j]+b[i];} b[i]=a[i];
printf(\ printf(\ return 0;}
5.输入以下的杨辉三角形(要求输出10行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
1 5 10 10 5 1 . . . . .
5题:
#include
scanf(\ for(i=0;i<=n;i++) {for(j=0;j<=i;j++) {if(j==0|j==i) s[i][j]=1;
else s[i][j]=s[i-1][j-1]+s[i-1][j]; printf(\ =\ }
printf(\} }
6.输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。
6题:
#include
int a[M][N],i,j,k,n;
printf(\请输入奇数阶数:\ scanf(\ for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1;
for(k=2;k<=n*n;k++) {
i=i-1; j=j+1;
if((i<1)&&(j>n)) {
i=i+2; j=j-1; } else {
if(i<1) i=n; if(j>n)
j=1; }
if(a[i][j]==0) a[i][j]=k; else {
i=i+2; j=j-1; a[i][j]=k; } }
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++)
printf(\ printf(\ }
getch(); }
7.输入一行文字,找出其中大写字母,小写字母,空格,数字及其它字符各有多少。
实验八 指针
【目的与要求】
1. 掌握指针的概念及定义方法,掌握地址、指针和指针变量之间的区别与联系。
2.掌握指针变量与数组的关系,掌握如何使用指针来处理与数组相关的问题。
3.掌握如何使用指针来处理与字符串有关的问题。 4.掌握如何使用指向函数的指针变量。
【内容与过程】
1. 编程,实现三个实数(x,y,z)的升序排序。要求使用指针来实现,
源程序以yourid_18.c存盘。
1题:
/*yourid_18.c*/
#include
int *pa=&a,*pb=&b,*pc=&c,*pt; printf(\请输入三个数:\\n\scanf(\
printf(\你输入的数是:%d %d %d\\n\if(*pa>*pb){pt=pa;pa=pb;pa=pt;} if(*pa>*pc){pt=pa;pa=pc;pc=pt;} if(*pb>*pc){pt=pb;pb=pc;pc=pt;}
printf(\升序排列后的三个数为:%d %d %d\\n\return(0);}
2. 将一个字符数组中的单词顺序反转,要求不借助其他空间,保存反转后的字
符数组,单词间以空格分隔。源程序以yourid_19.c存盘。
2题:
/*yourid_19.c*/
#include
char *a=\char *p[4]={a,b,c,d};
printf(\原始句子为:\\n\for(i=0;i<4;i++)
{printf(\
printf(\倒序输出:\\n\
for(i=3;i>=0;i--){ printf(\printf(\return(0);}
3.
例如:原数组:I am a student 结果student a am I
4. 编程,实现有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3
报数)凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。源程序以yourid_19.c存盘。
3题:
/*yourid_19.c*/