【程序61】
题目:打印出杨辉三角形(要求打印出10行如下图)
1.程序分析:

       1
       1  1
       1  2  1
       1  3  3  1
       1  4  6  4  1
       1  5  10 10 5  1  

2.程序源代码:

main()  
{int i,j;
int a[10][10];  
printf("\n");  
for(i=0;i<10;i++)  
  {a[i][0]=1;
  a[i][i]=1;}
for(i=2;i<10;i++)  
  for(j=1;j<i;j++)
  a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)  
  {for(j=0;j<=i;j++)
  printf("%5d",a[i][j]);
  printf("\n");
  }
}

【程序68】
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1.程序分析:
2.程序源代码:

main()  
{
int number[20],n,m,i;  
printf("the total numbers is:");  
scanf("%d",&n);  
printf("back m:");  
scanf("%d",&m);  
for(i=0;i<n-1;i++)  
  scanf("%d,",&number[i]);
scanf("%d",&number[n-1]);  
move(number,n,m);  
for(i=0;i<n-1;i++)  
  printf("%d,",number[i]);
printf("%d",number[n-1]);  
}
move(array,n,m)  
int n,m,array[20];  
{
int *p,array_end;  
array_end=*(array+n-1);  
for(p=array+n-1;p>array;p--)  
  *p=*(p-1);
  *array=array_end;
  m--;
  if(m>0) move(array,n,m);
}

【程序69】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
1. 程序分析:
2.程序源代码:

#define nmax 50
main()  
{
int i,k,m,n,num[nmax],*p;  
printf("please input the total of numbers:");  
scanf("%d",&n);  
p=num;  
for(i=0;i<n;i++)  
  *(p+i)=i+1;
  i=0;
  k=0;
  m=0;
  while(m<n-1)
  {
  if(*(p+i)!=0) k++;
  if(k==3)
  { *(p+i)=0;
  k=0;
  m++;
  }
i++;  
if(i==n) i=0;  
}
while(*p==0) p++;  
printf("%d is left\n",*p);  
}

【程序70】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
1.程序分析:
2.程序源代码:

main()  
{
int len;  
char *str[20];  
printf("please input a string:\n");  
scanf("%s",str);  
len=length(str);  
printf("the string has %d characters.",len);  
}
length(p)  
char *p;  
{
int n;  
n=0;  
while(*p!='\0')  
{
  n++;
  p++;
}
return n;  
}

【程序82】
题目:八进制转换为十进制
1.程序分析:
2.程序源代码:

main()  
{ char *p,s[6];int n;
p=s;  
gets(p);  
n=0;  
while(*(p)!='\0')  
{n=n*8+*p-'0';
p++;}  
printf("%d",n);  
}

【程序100】
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
1.程序分析:
2.程序源代码:

#include "stdio.h"
struct student  
{ char num[6];
char name[8];  
int score[3];  
float avr;  
} stu[5];
main()  
{int i,j,sum;
FILE *fp;  
/*input*/
for(i=0;i<5;i++)  
{ printf("\n please input No. %d score:\n",i);
printf("stuNo:");  
scanf("%s",stu[i].num);  
printf("name:");  
scanf("%s",stu[i].name);  
sum=0;  
for(j=0;j<3;j++)  
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]);  
sum+=stu[i].score[j];  
}
stu[i].avr=sum/3.0;  
}
fp=fopen("stud","w");  
for(i=0;i<5;i++)  
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)  
printf("file write error\n");  
fclose(fp);  
}