printf(\ printf(\
} return 0; }
5.鸡兔共有30只,脚共有90个,下列程序段是计算鸡兔各有多少只,请填空。
for(x=1;x<=29;x++) {
y=30-x;
if( )printf(\}
三、读程序
#include 
int n1=0,n2=0,n3=0,n4=0; char c;
printf (\请输入一行字符:\\n\ while ((c=getchar())!='\\n') { if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
n1++;
else if(c= =' ')
n2++ ;
else if(c>='0'&&c<='9')
n3++;
else n4++; }
printf(\英文字母个数为:%d\\n空格个数为:%d\\n数字个数为:%d\\n其他字符的个数为:%d\\n\
return 0; }
根据编译、连接和运行程序回答下列问题:
① 本题的循环进行条件是什么?终止条件是什么?循环体做什么? ② 对循环体的语句加上注释。 ③ 绘制程序的流程图或N-S图。 程序2代码:#include 
int i,j;
for(i=1;i<=5;i++) for(j=1;j<=9;j++) {
if(j<=5-i||j>=5+i) printf(\ else printf(\ if(j= =9) printf(\ }
return 0; }
根据编译、连接和运行程序回答下列问题:
① 本题是双重循环,用到循环变量i,j,其中,它们谁控制行?谁控制列?是如何控制的? ② 程序中的if-else语句在循环体中起什么作用?
③ 将程序中if(j= =9) printf(\语句去掉,重新编译、连接、运行程序,观察程序结果并同原程序结果相比较有何不同,若不同请分析原因及说明该语句在程序中的作用。
程序3代码: 方法1:
#include
#include
int i,j,a,n,s=0;
printf(\请输入a n\\n\scanf(\  for(j=1;j<=n;j++)     for(i=0;i    printf(\   return 0;  }  方法2:  #include    printf(\请输入a n的值\\n\  scanf(\  int s=a;    for(int i=2;i<=n;i++)   {         a=a*10+a;      s+=a;    }     printf(\   return 0;  }  根据编译、连接和运行程序回答下列问题: ① 比较方法1和方法2的算法区别。  ② 方法1中表达式s+=a*pow(10,i)中的pow( )是什么函数?调用此函数时去掉#include ③ 解决本题的核心算法是什么? 程序4代码: #include  int n,score,max,min,aver;  aver=0;  n=0;   max=100;min=0;  printf(\ while(1)  {   scanf(\  if(score<0) break;   aver+=score;   n++;   if(score>max) max=score;        if(score  aver=aver/n;   printf(\  printf(\    printf(\ printf(\ return 0; }  根据编译、连接和运行程序回答下列问题:  ① 输入并运行程序。输入数据如下:92 85 64  78 53 98-1。其中前6个是学科分数,最后输入的一个负数作结束标志。分析结果是否正确,如不正确,请找出错误的原因,修改后重新运行,直到结果正确为止。  ② 程序中if(score<0) break;语句起何作用?  ③ 程序中当循环个数不确定时是如何处理的?程序中是如何求最高分、最低分的?这种算法有何特别之处?    习题6  1.选择题  (1)在下列数组定义、初始化或赋值语句中,正确的是___。   A)int a[8]; a[8]=100;         B)int x[5]={1,2,3,4,5,6};   C)int x[ ]={1,2,3,4,5,6};    D)int n=8; int score[n];  (2)若已有定义:int  i, a[100]; 则下列语句中,不正确的是____。   A)for ( i=0; i<100; i++ )  a[i]=i;    B)for ( i=0; i<100; i++ )  scanf ( \  C)scanf (\  D)for ( i=0; i<100; i++ )  scanf ( \ (3)与定义char c[ ]={\不等价的是___。   A)char c[ ]={?G?,?O?,?O?,?D?,?\\0?};     B)char c[ ]=\  C)char c[4]={\      D)char c[5]={?G?,?O?,?O?,?D?,?\\0?};  (4)若已有定义:char c[8]={\则下列语句中,不正确的是___。   A)puts (c);      B)for(i=0;c[i]!= '\\0';i++)  printf(\  C)printf (\   D)for(i=0;c[i]!= '\\0';i++)  putchar( c );  (5)若定义a[ ][3]={0,1,2,3,4,5,6,7}; 则a数组中行的大小是___。   A)2  B)3  C)4  D)无确定值 (6)以下程序的运行结果是___。  #include      A) ab c   B)'a' 'b'   C) abc     D) ab  (8)数组名作为参数传递给函数,作为实际参数的数组名被处理为___。   A)该数组长度       B)该数组元素个数   C)该函数中各元素的值   D)该数组的首地址  (9)当接受用户输入的含空格的字符串时,应使用函数__。   A)scanf( )   B)gets( )     C) getchar( )    D)getc( ) (10)执行下面的程序段后,变量k中的值为___。    int k=3, s[2]={1};     s[0]=k;     k=s[1]*10;    A)不定值  B) 33   C) 30   D) 0 (11)在定义   int a[5][4];  之后;对a的引用正确的是___。  A)a[2][4]   B) a[5][0]      C)a[0][0]   D)a[0,0] 2.程序填空  (1)以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。 #include  { int a[4][4]={1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4};  int i, j, found=0;  for ( j=0; j<4; j++ )  { for (i=0; i<4; i++ )    if  ( ___________________ )    {     found= ___________________ ;     break;       }   if (found)  break;  }  if (found)  printf (\不对称\\n\ else  printf(\对称\\n\    return 0; }   (2)给定一3 ×4的矩阵,求出其中的最大元素值,及其所在的行列号: int main( )  { int i,j,row=0,colum=0,max;  static int a[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}};  _____________;  for(i=0;i<=2;i++)   for(j=0;j<=3;j++)    {    _____________;    ____________;   }  printf(\}  (3)以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数组中的字符串,请填空。 #include { char  str[81];  int  i;       for ( i=0; i<80; i++ )  { str[i]=getchar( );   if (str[i]= ='\\n')   break;  }  str[i]= ' \\0';  _____________;  while ( str[i]!= ' \\0' )  putchar(_____________); }   3.阅读程序并写出运行结果   (1)写出下列程序的运行结果并分析之。 #include  { static int a[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}};  int j,k;  for (j=0;j<4;j++)  { for(k=0;k<5;k++)   { if  (a[j][k]= =0)  break;    printf(\  }  }  printf(\    return 0; }   (2)写出下列程序的运行结果并分析。 #include  { int  a[6][6],i,j;  for (i=1 ;i<6 ; i++)   for ( j=1;j<6;j++)     a[i][j]= i*j;  for (i=1 ;i<6 ; i++)  { for ( j=1;j<6;j++)      printf( \  printf(\ }    Return 0; }   4.读程序    (1)用循环移位法将数组num中的最后一个数移到最前面,其余数依次往后移一个位置。某同学设计程序代码如下:  #include  int i,tem,num[10]={0,1,2,3,4,5,6,7,8,9};  tem=num[9];   for(i=1;i<=10;i++)   num[i]=num[i-1];  num[0]=tem;  printf(\  for(i=0;i<10;i++)   printf(\ return 0; }