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

      一、实验内容          

        1. 实验要求:

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

          

      代码:

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

      程序运行结果:

              

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

      代码:

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

      程序运行结果:

      

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

      代码:

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

      程序运行结果:

      

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

      代码:

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

      程序运行结果:

      

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

      代码:

    #include <stdio.h>
    int main()
    {
    	int  i=0,j=0,k=0,l=0,m=0;
    	char a;
    	printf("请输入一串字符\n");
    	scanf("%c",&a);
    	while (a!='\n')
    	{
    	if (a>='a'&&a<='z')
    	{
    		i++;
    	}
    	else if(a>='A'&&a<='Z')
    	{
    		j++;
    	}
    	else if(a==' ')
    	{
    		k++;
    	}
    	else if(a>='0'&&a<='9')
    	{
    		l++;	
    	}
    	else
    	{
    		m++;
    	}
    	scanf("%c",&a);
    	}
    	printf("该段共有%d个小写字母,%d个大写字母,%d个空格,%d个数字,%d个其它字符",i,j,k,l,m);
    	return 0;
    }
    

      程序运行结果:

      

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

      代码:

    #include <stdio.h>
    int main()
    {
    	int a,i=0,j=0,sum1,sum2;
    	float b,c;
    	printf("请输入一些正数和负数");
    	scanf("%d",&a);
    	if(a==0)
    	{
    		printf("输入错误"); 
    	}
    	else
    	{
    		while(a!=0)
    		{
    			if(a>0)
    			{
    				sum1=sum1+a;
    				i++;
    			}
    			else
    			{
    				sum2=sum2+a;
    				j++;
    			} 
    			scanf("%d",&a);
    		}
    	}
    	b=(float)sum1/i;
    	c=(float)sum2/j;
    	printf("%.2f %.2f",b,c);
    	return 0;
    }
    

      程序运行结果:

      

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

      代码:

    #include <stdio.h>
    int main()
    {
    	int i,j,k;
    	for(i=2;i<=1000;i++)
    	{
    		for(j=2;j<=i;j++)
    		{
    			if(i%j==0) 
    			{
    				break;
    			}
    		}
    		if(j>=i)
    		{
    			printf("%3d ",i);
    			k++;
    			if(k%10==0)
    			{
    				printf("\n");
    			}
    		}
    	}
    	return 0;
    }
    

      程序运行结果:

      

    8.打印下列图形

                 

      代码:

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

      

      程序运行结果:

      

    二、本次课知识点总结

      1.循环语句“for语句”的应用。注意“for”后要加“(  )”;

      2.已知循环次数的循环用“for”语句,未知的用“while”语句;

      3.if语句的嵌套,if后记得加“()”,最后的else后面不加“()”;

      4.定义字符变量用“char”而不是“int”;

      5.累加问题的初始值定义为0,累乘问题的初始值定义为1。

    三、实验总结

      1.求正数和负数的平均值时程序不循环

      2.注意计算时的要求,是为0循环还是不为0循环,不要搞混了

      3.输出年份时注意间隙和换行。

  • 相关阅读:
    Window 服务安装
    SQL
    vb To c# or c# To vb
    CacheHelper-缓存
    让Linq的OrderBy支持动态字段
    哪些列上适合建立索引???
    如何查看Oracle数据库中无效的对象,约束,触发器和索引
    如何查看Oracle中被锁定的表
    ORACLE ASM
    WebLogic Server
  • 原文地址:https://www.cnblogs.com/wei530/p/6004232.html
Copyright © 2011-2022 走看看