zoukankan      html  css  js  c++  java
  • 第四次作业

    一:本次实验内容

    1.编写程序,输入一个整数x,按照下式输出对应的y值。

          

    #include<stdio.h>
    int main()
    {
    	int x,y,i;
    	y=0;
    	printf("请输入x的值\n");
    	scanf("%d",&x);
    	if(x%2==0)
    	{
    		for(i=0;i<=x;i=i+2)
    		 {
    			y=y+i;
    		 }
    		printf("输入的为偶数,y的值为%d\n",y);
    	}
    		else if(x%2!=0)
    		{
    		for(i+0;i<=x;i=i+2)
    		 {
    			y=y+i;
    		 }
    		printf("输入的为奇数,y的值为%d\n",y);
    	    }
    	else 
    	{
    		printf("输入错误\n");
    	}
    	return 0;
     } 
    

      

    2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。

    #include<stdio.h>
    int main()
    {
    	double a,b,c,i;
    	a=0;
    	b=0;
    	for(i=1;i<=99;i=i+2)
    	{
    		a=a+1.0/i;
    	}
    	for(i=2;i<=100;i=i+2)
    	{
    		b=b-1.0/i;
    	}
    	c=a+b;
    	printf("%0.2lf",c);
    	return 0;
    }
    

      

    3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

    #include<stdio.h>
    int main()
    {
    	int a,i;
    	a=0;
    	for(i=2000;i<=3000;i=i+4)
    	{
    		if(i%4==0&&i%100!=0||i%400==0)
    		{
    			a=a+1;
    			printf(" %d",i);
    			if(a%10==0)
    			printf("\n");
    		}
    	}
    	printf("一共有%d个闰年",a); 
    	return 0;
     } 
    

      

    4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。

    #include<stdio.h>
    int main()
    {
    	int m,i;
    	double x,y;
    	y=1;
    	printf("请输入一个实数x\n");
    	scanf("%lf",&x);
    	printf("请输入一个整数m\n");
    	scanf("%d",&m);
    	if (x>0) 
    	{
    	for(i=1;i<=m;i=i+1)
    	 {
    		y=y*x;
    	 }
    	printf("%lf",y);
        }
    	else if(x==0)
    	{
    		printf("0");
    	}
    	else 
    	{
    		if(m%2==0)
    		{
    		   for(i=1;i<=m;i=i+1)
    		 {
    			 y=y*x;
    		 }
    		printf("%lf",y);
    	    }
    		else if(m%2!=0)
    		{
    		   for(i=1;i<=m;i=i+1)
    		 {
    			y=-(y*x);
    		 }
    		printf("%lf",-y);
    	    }
    	}	
    	return 0;
    }
    

      

      

    5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。

    #include<stdio.h>
    int main()
    {
    	int a,b,c,d;
    	char x;
    	a=0;
    	b=0;
    	c=0;
    	d=0;
    	while((x=getchar()) != '\n')
    	   {
    		 if ('A'<=x&&x<='Z'||'a'<=x&&x<='z')
    	       a++;
    	    else if(x==' ')
    	       b++;
    	    else if('0'<=x&&x<='9')
    	       c++;
    	    else 
    	       d++;
    	   }
    	    printf("字母:%d\n",a);
    	    printf("空格:%d\n",b);
    	    printf("数字:%d\n",c);
    	    printf("其他:%d\n",d);
    	       return 0;
     } 
    

      

    6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,

    #include<stdio.h>
    int main()
    {
    	int a,b,x; 
    	double y,z;
    	a=0;
    	b=0;
    	while(1)
    	{
    		scanf("%d",&x);
    		if(x<0)
    		{
    		   a++;
    		   y=y+x;
    	    }
    	    else  if(x>0)
    		{
    		   b++;
    		   z=z+x;
    	    }
    	    else 
    	    break;
    	}
    	if (a==0&&b!=0)
    	printf("正数的平均值为%lf\n",z/b);
    	else if (a!=0&&b==0)
    	printf("负数的平均值为%lf\n",y/a);
    	else if(a==0&b==0)
    	printf("0");
    	else if(a!=0&&b!=0)
    	 {
    	    printf("负数的平均值为%lf\n",y/a);
    	    printf("正数的平均值为%lf\n",z/b);
             }
    	return 0;
     } 
    

      

      

      

    7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

    #include<stdio.h>
    int main()
    {
    	int a,b,c,x,flag=0; 
    	c=0;
    	for(a=2;a<=1000;a++)
    	{
           flag=0;
    		for(x=2;x<=a-1;x++)
    		{
    			if(a%x==0)
    		     {
    			  flag=1;
    			  break;
    			 }
    		} 
    		
    	 if(flag==0)
    	   {
    	     	printf("% 4d",a);
    		    c=c+1;
    		    if(c%10==0)
    	     	{
    			      printf("\n");
    	    	}
        	}
    	} 
    	printf("\n一共有%d个质数\n",c);
    	return 0;
     } 
    

      

    8.打印下列图形

                 

    #include<stdio.h>
    int main()
    {
    	int a,b;
    	for(a=1;a<=5;a=a+1)
    	{
    		for(b=1;b<=a-1;b=b+1)
    		    { 
    		        printf(" ");
    		    } 
    		for(b=1;b<=11-2*a;b=b+1)
    		    {
    			    printf("*");
    		    } 
    		printf("\n");	    
    	}
    	return 0;
     } 
    

      

     二、本次课知识点总结

    1、for语句循环体的语句可以是单挑语句也可以是复合语句

    2、循环体后面加花括号 更加明确简洁

    3、运算符前缀和后缀的执行过程不一样,如:k=++i;为 i=i+1;  k=i    而k=i++; 为k==i;i=i+1;

    4、break语句在循环语句和swich语句中使用,终止并跳出循环体或开关体

    5、while 语句为先判断表达式,后执行循环。do whlie 为先执行循环 后判断表达式

    6、continue 语句只能用在循环中,一般是与if语句一起使用

    7、continue只是结束本次循环,并不是终止整个循环的执行

    8、go to 语句跳出共同的出口位置,进行退出当前的处理工作

    9、三种循环可以互相嵌套,不限层数

    三、实验总结

    1、for语句中应用分号分隔三个表达式,而不是用逗号分隔

    2、for或while语句圆括号后面不可以加分号,do while语句中 while后面加分号

    3、循环语句中循环体是复合语句时必须加大圆括号

    4、输入大括号时成对输入 ,防止丢失括号, 或者多余括号

    5、记得给函数赋值,否则为随机数,使程序错误

    6、循环语句套用的时候,适当的使大括号相应地对其,使程序明了

  • 相关阅读:
    Beta 冲刺 (5/7)
    Beta 冲刺 (4/7)
    软件产品案例分析(团队)
    Beta 冲刺 (3/7)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    BETA 版冲刺前准备
    个人作业——软件工程实践总结作业
    Beta 答辩总结
    Beta 冲刺 (7/7)
  • 原文地址:https://www.cnblogs.com/lch1/p/6010908.html
Copyright © 2011-2022 走看看