DPHS

循环结构实验

C语言设计实验报告

实验项目:循环结构实验

姓名:杜鹏 实验地点:一教524 实验时间:5.6

一、实验目的与要求

1、熟练的掌握for,while,dowhile循环结构。

2、对for,while循环的嵌套加以练习。

二、实验内容

实验一

1不知如何使用conio.h的使用

2)实验代码

5.3.1
  #include<stdio.h>
  #include<conio.h>
  main()
  {
      int n,k,s=0;
      printf("请输入一个整数:");
      scanf("%d",&n);
      for(k=1;k<=n;k++)
      {
              s=s+k;
	      printf("%d\t",s);
       } 
  }

3)问题分析

发现在有无#include conio.h的情况下,两种结果是一样的。

实验二

1对于while里面的条件语句的不清晰。不知如何下手。

2)实验代码

5.3.2
  #include<stdio.h>
  #include<conio.h>
  main()
  {
      float x,max,min;
      printf("Please input scores:");
      scanf("%f",&x);
      max=min=x;
      while(x>0)
      {
		      if(x>max) max=x;
              if(x<min) min=x;
               scanf("%f",&x);
      }
      printf("\nmax=%.2f\nmin=%.2f\n",max,min);
  }

3)问题分析

首先就应该判定在while语句中x是否大于0,然后在分别比较。

实验三

1未能在运算时把n转化为浮点型

2)实验代码

5.3.3
  #include<stdio.h>
  main()
  {
      float sum,value;
      int n;
      printf("请输入value:");
      scanf("%f",&value);
      sum=0.0;
      n=0;
      do{
	      ++n;
	      sum+=1.0/(float)n;
      }
      while(sum<value);
      printf("n=%d",n);
   } 

3)问题分析

首先我们要知道do while循环是先执行语句后判断条件的的。

实验四

1对于gerchar的认知不够,以及在for循环中的while内的条件不知是什么。

2)实验代码

5.3.4
  #include<stdio.h>
  main()
  {
      char c;
      int k,data;
      data=0;
      for(k=0;k<4;k++)
      {
	      while(k<4)
	      {
		      c=getchar();
		      if(c>='0' && c<='9')
		      break; 
	      }
	      if(k==0)
	      data+=(c-'0')*1000;
	      if(k==1)
	      data+=(c-'0')*100;
	      if(k==2)
	      data+=(c-'0')*10;
	      if(k==3)
	      data+=(c-'0');
      }
      printf("Data=%d ",data);
   } 

3)问题分析

getchar就是从键盘上获取一个字符,然后判断这个字符是否是大于'0'小于'9'然后就根据下面的条件运算得到结果。

实验五

1for循环的嵌套问题,主要是看是否需要大括号

2)实验代码

5.3.5
      #include<stdio.h>
  main()
  {
      int m,n,k,s;
      printf("各种驮法如下:\n");
      for(m=1;m*3<=100;m++)
	      for(n=1;n*2<100;n++)	
		      for(k=1;k/2<=100;k++) 
		      if((3*m+2*n+k/2)==100 && (m+n+k)==100 && (k%2==0))
    	      printf("大马%3d匹;中马%3d匹;小马%3d匹。\n",m,n,k);			
  }

3)问题分析

对于条件可能会弄错,以及对于小马是否是偶数上需要确定。即k%2==0

实验六

199乘法表的代码,主要就是注意他的行和列的需求来进行解答

2)实验代码

99乘法表
   #include<stdio.h>
   main()
   {
       int a,b,c;
       for(a=1;a<=9;a++)
       {
	       for(b=1;b<=a;b++)
       printf("%d ",a*b);
       printf("\n");
       }
   }

3)问题分析

n行只有n列,所以在内循环当中就要考虑到变量的条件范围。

实验七

1对于counter的使用不够熟练,以及对counter的理解不够深。

2)实验代码

5.4.1
  #include<stdio.h>
  main()
  {
      int i,j,counter=0;
      i=11;
      for(;i<100;i+=2)
      {
	      for(j=2;j<=i-1;j++)
          if(i%j==0)
 	      break;
	      if(counter%10==0)
	      printf("\n");
	      if(j>=i)
	      {
		      printf("%6d",i);
		      counter++;
       } 
      }	
  }

3)问题分析

counter%10指的是每输入10个数换行。

三、实验小结

1、对于循环语句的掌握程度自己还是有所欠缺。应该多多训练,能够快速的上手。

2、对于循环语句中的条件的使用上,尤其是在嵌套语句中

posted on 2021-05-09 20:42  DPHS  阅读(83)  评论(0编辑  收藏  举报