C语言程序设计第六次作业

您所在的位置:网站首页 eps计算题 C语言程序设计第六次作业

C语言程序设计第六次作业

2023-12-18 18:05| 来源: 网络整理| 查看: 265

对任意一个自然数N​0​​,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N​1​​;然后对N​1​​重复这种操作,可以产生新自然数N​2​​;……多次重复这种操作,运算结果最终会得到一个固定不变的数N​k​​,就像掉入一个数字“陷阱”。

本题要求对输入的自然数,给出其掉入“陷阱”的过程。

3.有如下问题:输入一批学生成绩,以-1作为结束,计算学生的平均成绩。 要求分别用for语句、while语句、do while语句三种循环语句实现,并说明你认为哪种形式更合适?

for循环:

 

  #include   int main()  {  int x = 0,sum = 0,i = 0;  float average = 0.0;  for(;;)  {  scanf("%d",&x);  if(x != -1)   {  sum = sum + x;   i++;   }  else   {  break;   }   }  average = sum/i;  printf("%f",average);

  return 0;  }

 

while循环:

 

  #include  #include  int main()  {  int sum,x,i;  double average;  sum=0;  i=0;  while(1)  {  scanf("%d",&x);       if(x==-1)  {  printf("average=0.00");  exit(0);  }      else  {  sum+=x;    i++;          }      }  average=(double)sum/i;  printf("%f",average);  }

 

do while循环:

  #include  #include  int main()  {  int sum,x,i;  double average;  sum=0;  i=0;  do  {  scanf("%d",&x);       if(n==-1)  {  printf("average=0.00");  exit(0);  }             else  {  sum+=x;    i++;          }      }while(1);  average=(double)sum/i;  printf("%f",average);  }

 我认为用for更合适,因为for语句可以在表达式中实现循环变量的初始化,比较方便,用着顺手。

4.运行下面程序,输入1到10,结果分别是什么?为什么? (1)

  #include  int main() {  int n,s,i;  s = 0;  for(i = 1; i =1)   sum=1.0;  else  {  while(fabs(x)>eps)   {  x=n*1.0/m;  sum=sum+x;  n=-n;  m=m+3;

  }        }      printf("sum = %0.6lf\n",sum);    return 0;   }

(4)实验分析

熟悉while,for,do while的使用,并清除什么时候用什么合适。

(5)pta提交

第二题:猜数字游戏 (1)令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

(3)源代码

 

  #include  int main()  {  int x = 0,N = 0,i = 0,b = 0;  scanf("%d%d",&x,&N);  for(i = 1;i x)  {  printf("Too big\n");  }  else if(b < x)  {  printf("Too small\n");  }  else if(x == b)  {  if(i == 1)        {  printf("Bingo!");  break;        }        else if(i 1)        {  printf("Lucky You!");  break;        }        else if(i > 3)        {  printf("Good Guess!");  break;        }        break;  }  if(i >= N)  {  printf("Game Over");  break;  }  }  return 0;  }

 

(4)实验分析:

跳出if循环的话,要加break语句!

(5)pta提交

第三题:求奇数和 (1)题目:本题要求计算给定的一系列正整数中奇数的和。

(2)流程图:

(3)源代码:

 

  #include   int main()  {  int x,sum=0;  while(1)  {  scanf("%d",&x);  if(x



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3