(1)若有语句while (!x),则退出循环的条件是 。
(2)若有语句 while (x%2 && y>100 ),则继续循环条件是 ,而退出循环的条件是 。
(3)while (x=0)与while (x==0)两条语句的循环条件有何区别?
一、实训目的
1、进一步理解分支程序的执行过程
2、进一步理解循环结构程序段中语句的执行过程 3、掌握分支和循环的综合应用程序设计 二、预习内容
熟悉以下语句:if-else、switch、 while语句、do-while语句、for、break、continue语句 三、上机内容 1.完成程序填空
(1)将用户输入的字母以大写字母的形式输出。 main() { char c; scanf(\
if ( ) printf(\ c); }
(2)以下程序打印菱形图案,程序运行时,输入4给变量n,试完整程序(提示:可以分解为两个三角形)。 main()
{ int n, i, j; printf(\ n:);
scanf( ); for (i=1; i<=n; i++)
{ for ( j=1; ; j++) printf(\ \ for ( j-1; ; j++) printf(\ }
for ( i=1; i<=n-1; i++)
{ for ( j=1; ; j++) printf(\ \ for ( j-1; ; j++) printf(\ } }
2.完成以下程序的编程: (1) 编程计算:
* *** ***** ******* ***** *** * x ( x<1 ) y= 3-x/5 ( 1<=x<10 ) 3x-11 ( 1<=x<10 ) 13
(2)“百马百担”问题。有一百匹马,驮一百担货,大马驮三担,中马驮2担,两匹小马驮一担,试编程计算共有多少种驮法。
实训七 一维数组的应用
一、实训目的
1、掌握一维数组的定义、数组元素的引用形式和赋值的方法 2、掌握一维数组的输入和输出的
3、掌握和一维数组有关的典型算法,如求菲波那契数列、最大数、查找、排序等 二、预习内容
1、预习一维数组的定义及引用的一般方法 2、熟悉循环语句和数组处理语句结合的方法 三、实训内容
1、分析和记录以下程序运行结果,并上机验证:
main() # include \{
main() int v[5]; { int t, i;
int i;
int a[10]={ 1,2,3,4,5,6,7,8,9,10 }; v[0]=197; v[2]=-100 t=a[9];
v[4]=350; v[5]=v[0]+v[2]; for ( i=9; i>1; i-=2) --v[4];
a[i]=a[i-2]; for (i=0;i<5;i++)
a[1]=t;
printf( \ i, v[i] ); for ( i=0; i<10; i++ ) } printf( \
}
该程序的运行结果是 该程序的运行结果是:
2、将程序补充完整,以完成以下功能,并上机调试。 (1)以下程序以每行输出4个数据的格式输出a数组。(中等难度题) #include \{ int a[12], i;
for ( i=0; i<12; i++ ) scanf( \ ) ; for (i=0; i<12; i++ )
{ if ( ) ; printf( \ a[i] ); } printf( \}
14
(2)以下程序将数组中的数据按逆序存放。(中等难度题) # include \
#define SIZE 12 ; /*SIZE为常量12*/ main()
{ int a[SIZE], i, j, t;
   for ( i=0; i {  t=a[i];            ;                ;  i++;  j       ;}    for (i=0; i }  (3)以下程序实现将数组a中的元素按从小到大的顺序排列。 # include  \main()  {  int  i, j, temp, a[10];     for  (i=0; i<10; i++ )                      ;    for  (i=0;            ;  i++ )       for (        ;  j         if (           )   {            ;           ;            ;  }    for (                         )   printf( \}     7、编程题:  (1)读入10个整数,求出非负数个数及其和,并将10个整数按从小到大的次序输出。  (2)利用随机函数,生成10个50 ~ 60之间的随机整数,并判断是否有55,若有输出它在数组中的下标,否则输出“NO  DATA!”。               15       一、实训目的  1、掌握二维数组的定义和引用;  2、掌握字符串的定义以及它和一维字符数组之间的关系和区别; 3、掌握字符串处理函数的功能和应用。 二、预习内容  1、二维数组的定义和二重循环之间的关系 2、字符串的概念 三、实训内容  1、分析和记录以下程序运行结果,并上机验证:  main()  {  int  num[4][4]={11,22,33,44,1,2,3,4,10,20,30,40,12,22,32,42}; int  i,  j, s=0; for  (j=0; j<3; j++)     for ( i=0; i<3; ++i )      if  ( i==j )   s+=num[j][i];  printf( \ s);  } main()  {int   i,  j, m, n, a, x[3][4]={43,32,22,13,11,22,33,44,55,11,32,31}; m=n=0;  a=x[m][n];   for (i=0;i<3; i++)        for ( j=0; j<4; j++)                                    该程序的运行结果是:                                                                                      该程序的运行结果是:  if  ( a>x[i][j] )  {  m=i;  n=j; a=x[m][n]; } printf(\ m=%d   n=%d\\n\ }  2、若有三个字符串s1、s2和s3,其中s1=\,s2=\,要求用字符数组实现将s1的内容复制到s3中,交将s2的内容添加到s3的后面,最后输出s3。  main()  {  char   s1=\ s2=\   i=0;   j=0;     while  (                 )     {  s3[ i ]=s1[ i ];   i++;  }    i--;     while   ( s2[ j ]!='\\0' )      {                      ;   j++;  }     for  (                           )    printf( \ s3[ i ] );  }  3、下列是打印杨辉三角形的程序,试将程序补充完整,并上机验证:  main()  {  int  i, j, a[6][6]={0};    16