{
int a[6][6],t,i,j;
for(i=0; i<6;i++) for(j=0;j<6;j++)
;
for(i=0; i<6;i++){ t= ; for(j=0;j<6;j++)
a[i][j]= ; }
for(i=0; i<6;i++){ for(j=0;j<6;j++)
printf(\
; } }
解:① scanf(“%d”,&a[i][j]) ② a[i][i] ③ a[i][j]/t ④printf(“\\n”)或putchar(‘\\n’)
3.以下程序的功能是将字符串a中下标值为偶数的元素由小到大排序,其他元素不变。
     #include 
char a[81],t; int i,j,n;
gets(a);
for(n=0; ; n++); for(i=0; ;i+=2)
             for(j=i+2;j t=a[i];              ;  a[j]=t; }           puts(a);      }  解:① a[n]!= ‘\\0’    ② i 4.输入一个整数,输出它的二进制序列。  #include int a[32],x,i,m;      int change(int x,int a[]);       scanf(\    m=change(x,a);        for(i=0;i       printf(\ 45  }  int change(             ) {     int n=0,t,k;       do {   a[n]=x%2;                       ;             n++;     }while(x!=0);      for(k=0;k                  ;        a[n-k-1]=t;   }      return  n; }  解:① int x,int a[]      ② x=x/2      ③ a[k]=a[n-k-1]  5.程序能够按以下形式输出一个杨辉三角形,请对函数yahuei在下划线处将程序补充完整。  1 1  1 1  2  1 1  3  3  1 1  4  6  4  1  1  5  10  10  5  1 #include yahuei(int a[ ][N]) {      int i, j;         a[0][0]=1;        for(i=0; i a[i][i]=1;   }               for(             ; i void  main() {     int x[N][N],i,j;        yahuei(             );    for( i=0 ; i            printf(\           printf(\      } }  解:① i=2     ② j   6. 统计在一个字符串中各元音字母(a、e、i、o、u)出现的次数。  #include  46  void main() {      char s[80];        int i,             ;                     printf(\ gets(s);                                for(i=0;             ;i++)                     if(                )                  a[0]++;        else if(s[i]=='e'||s[i]=='E')   a[1]++;       else if(s[i]=='i'||s[i]=='I')  a[2]++;       else if(s[i]=='o'||s[i]=='O')   a[3]++;       else if(s[i]=='u'||s[i]=='U')   a[4]++;        printf(\  for(i=0;i<5;i++)                              }  解:① a[5]   ②s[i]!= '\\0'   ③s[i]== 'a'|| s[i]== 'A'   ④ printf(“]”,i)    五、编程题   1.在数组x的10个数中求平均值v,找出与v相差最小的数组元素。 解:#include  #include  {  double x[10],v,d;    int i;     for(i=0,v=0;i<10;i++)    {  scanf(\      v+=x[i];  }    v=v/10;     d=x[0];     for(i=1;i<10;i++)        if(fabs(d-v)>fabs(x[i]-v))             d=x[i];     printf(\平均值:%-8.2f,与平均值最近元素:%-8.2f\\n\}    2.输入n(n≤20)个数放在一维数组中,找出其中最小的数,将它与数组最前面的元素交换后输出这些数。  解:#include  void main()  47  {     int i,k,temp,n,a[20];       printf(\       scanf(\      for(i=0;i            scanf(\      for(k=0,i=1;i       temp=a[0];a[0]=a[k];a[k]=temp;        for(i=0;i   3.输入一个字符串,统计其中数字字符出现的次数。  解:#include        {    char s[80];             int i,n=0;             gets(s);              for(i=0;s[i]!='\\0';i++)                   if(s[i]>='0'&&s[i]<='9')                       n++;               printf(\中包含%d个字符\\n\      }    4.设有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问在第20年时,共有多少头牛?分别输出从第1年至第20年每年的母牛数。  解:#include        {    int x[N+1]={1},i; // x[0]存放初始母牛头数,即1头母牛                      // x[i]存放第i年的母牛头数,其中1≤i≤20            for(i=1;i            {   if(i<4) x[i]=x[i-1]+1; // 头3年,每年只增加1头母牛                else  x[i]=x[i-1]+x[i-3]; // 从第4年开始                                     // 每年的母牛数=去年的头数+今年新生的                             // 说明:3年前母牛的数量即为今年新生的小牛数                printf(\第%d年,有%d头母牛\\n\            }       }    5.有n(n≤20)个数,已按从小到大顺序排列好,要求输入一个数,把它插到数列中,使数列仍有序,并输出新的数列。 解:#include  void main()  {     int i,n,a[21],x;  48        printf(\≤20 :\      printf(\      for(i=0;i            if(a[i]>x) a[i+1]=a[i];            else break;       a[i+1]=x;        for(i=0;i 6.求解约瑟夫问题。M个人围成一圈,分别为1到M号。从第一个人开始报数,数到n的人出圈。再由下一个人开始报数,数到n的人出圈,??直到最后一个人为止。输出依次出圈人的编号,M值预先选定,n值由键盘输入。例如,M=10,n=5,依次出圈的是:5,10,6,2,9,8,1,4,7,3 解:#include  #define M 10 void main() {     int n;  int a[M],i,k,t; // t存放出圈的人数,k存放报数       printf(\输入n的值:\\n\      scanf(\       for(i=0;i       while(t               {   printf(“ %d “,a[i]);                   t++;                    a[i]=0;  // 该人出圈               }            }            i++;  if(i==M) i=0;         } }    7.输入n(n≤50)个职工的工资(单位为元,一元以下部分舍去),计算工资总额,计算给职工发放工资时,所需各种面额人民币的最小张数(分壹佰元、伍拾元、贰拾元、拾元、伍元、壹元6种)。  49