第三章 循环控制

/实验3-8 求函数根/

/*实验3-8 求函数根*/
#include<stdio.h>
#include<math.h>
int main()
{
	double high,middle,low;
	double fh,fm,fl;
	high=3;
	low=0;
	fl=low*low*low-low*low-1;
	fh=high*high*high-high*high-1;
	do
	{
		middle=(high+low)/2;
		fm=middle*middle*middle-middle*middle-1;
		if(fm*fl<0)
		{
			high=middle;
		}
				else
				{
					low=middle;
				}
	}
	while(fabs(fm)>=1.0e-6);
	printf("Result=%lf\n",middle);
	return 0;
}

/实验3-9 支票面额/

/*实验3-9  支票面额*/
#include<stdio.h>
void main()
{
	int d,c,num;
	scanf("%d",&num);
	for(d=0;d<100;d++)
		for(c=0;c<100;c++)
			if(2*d*100+2*c+23==c*100+d)
				printf("%d元%d分\n",d,c);
			return 0;
}

/实验3-10 求序列前n项之和/

/*实验3-10  求序列前n项之和*/
#include<stdio.h>
int main()
{
    int i,n;
    double sum=0;
    scanf("%d",&n);
    if(n>0)
	{
		double p=2.0,q=1.0,t;
        for(i=0;i<n;i++)
		{
            sum+=p/q;
            t=p+q;
            q=p;
            p=t;
        }
        printf("%.2lf\n",sum);
    }
	return 0;
}

/实验3-11 求“水仙花”数/

/*实验3-11  求“水仙花”数*/
#include<stdio.h>
int main()
{
	int n,g,s,b;
	for(n=100;n<1000;n++)
	{
		b=n/100;
		s=(n%100)/10;
		g=n%10;
		if(n==b*b*b+s*s*s+g*g*g)
			printf("%d\n",n);
	}
	return 0;
}


/实验3-12 打印九九口诀表/

/*实验3-12  打印九九口诀表*/
#include<stdio.h>
int main()
{
    int i, j; 
    for (i= 1; i< 10; i++) 
    {
        for (j= 1; j <= i; j++)
        {
            printf("%d*%d=%2d ", i, j, j * i);
        }
        printf("\n"); 
    }
   return 0;
}

/实验3-13 求方程的整数解/

/*实验3-13  求方程的整数解*/
#include<stdio.h>
#include<math.h>
int main()
{
	int x,y,i,j,n;
	n=sqrt(2009);
	for(i=1;i<=n;i++)
		for(j=1;j<n;j++)
	{
		if(i*i+j*j==2009)
			printf("x=%d   y=%d\n",i,j);
	}
	return 0;
}

/实验3-14 求最大公约数和最小公倍数/

/*实验3-14  求最大公约数和最小公倍数*/
#include<stdio.h>
int main()
{
	int m,n,r,a,b,h,t,i;
	scanf("%d %d",&m,&n);
    a=m;
    b=n;
	if(a<b)
	{
		t=a;
        a=b;
        b=t;
	}
    while(b!=0)
	{
		r=a%b;
        i=b;
        a=b;
        b=r;
	}
   h=m*n/i;
   printf("gcd=%d lcm=%d\n",i,h);
   return 0;
}

/实验3-15 统计素数并求和/

/*实验3-15  统计素数并求和*/
#include<stdio.h>
#include<math.h>
int main()
{
	int m,n,i,k,j,count=0,sum=0;
    scanf("%d,%d",&m,&n);
    for(k=m;k<=n;k++)
	{
		if(k<2) continue;
        j=sqrt(k);
    	for(i=2;i<=j;i++)
            if(k%i==0)
        break;
        if(i>j)
		{
			count++;
            sum+=k;
		}
}
   printf("count=%d ,sum=%d\n",count,sum);
   return 0;
}

/实验3-16 猴子吃桃问题/

/*实验3-16  猴子吃桃问题*/
#include<stdio.h>
int main()
{
	int x=1,i,n;
	scanf("%d",&n);
	for(i=1;i<n;i++)
	{
		x=(x+1)*2;
	}
	printf("第%d天只剩下一个桃子的话,第一天有%d个桃子\n",n,x);
	return 0;
}


/实验3-17 简单计算器/

/*实验3-17  简单计算器*/
#include <stdio.h>
 
int main()
{
    char chr;
    int num,flag=0,result=0;
    scanf("%d", &result);
    while ( (chr = getchar()) != '=' ) 
	{
        if ( chr == '+' ) 
		{
            scanf("%d", &num);
            result += num;
        }
		else if ( chr == '-' ) 
		{
            scanf("%d", &num);
            result -= num;
        }
		else if ( chr == '*' ) 
		{
            scanf("%d", &num);
            result *= num;
        }
		else if ( chr == '/' )
		{
            scanf("%d", &num);
            if ( num ) 
			{
                result /= num;
            }
			else
			{
                flag = 1;
                break;
            }
        }
		else 
		{
            flag = 1;
            break;
        }
    }
    
    if ( flag ) 
	{
        printf("ERROR\n");
    }
	else 
	{
        printf("%d\n", result);
    }
    
    return 0;
}


/实验3-18 龟兔赛跑/

/*实验3-18  龟兔赛跑*/
#include<stdio.h>
int main()
{
	int t,rabbit=0,tortoise=0,i,j,flag=1;
	scanf("%d",&t);
	for(i=1;i<=t;i++)
	{
		tortoise+=3;
		if(flag==1)
		{
			rabbit+=9;
			if(i%10==0&&rabbit>tortoise)
			{
				flag=0;
				j=0;
			}
		}
		else 
		{
			j++;
			if(j==30) flag=1;
		}
	}
	if(rabbit>tortoise) printf("兔子胜");
	else if(rabbit<tortoise) printf("乌龟胜");
		else printf("两者平局");
	return 0;
}



/实验3-19 猜数字游戏/


/*实验3-19  猜数字游戏*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

int main()
{
    int start = 1;
    while (start)
    {
        printf("请选择:\n");
        printf("*******************\n");
        printf("**** 1 开始游戏****\n");
        printf("**** 0 退出游戏****\n");
        printf("*******************\n");
        scanf("%d", &start);
        switch (start)
        {
        case 1:
        {      int random;
               int input;
                  printf("*****游戏开始*****\n");
                  srand((unsigned)time(NULL));
                   random = rand() % 100;
                   input = 0;
                  while (1)
                  {
                      printf("你猜多少:\n");
                      scanf("%d", &input);
                      if (input > random)
                      {
                          printf("你猜大了\n");
                      }
                      else if (input < random)
                      {
                          printf("你猜小了\n");
                      }
                      else
                      {
                          printf("你猜对了!\n");
                          printf("恭喜您!\n");
                          Sleep(1000);
                          printf("\n\n");
                          break;
                      }
                  }
                  break;
        }
        case 0:
        {     
                 return 0;
        }
        default:
        {
                   printf("选择错误\n");
                   break;
        }
        }
    }
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

int main()
{
    int start = 1;
    while (start)
    {
        printf("请选择:\n");
        printf("*******************\n");
        printf("**** 1 开始游戏****\n");
        printf("**** 0 退出游戏****\n");
        printf("*******************\n");
        scanf("%d", &start);
        switch (start)
        {
        case 1:
        {      int random;
               int input;
                  printf("*****游戏开始*****\n");
                  srand((unsigned)time(NULL));
                   random = rand() % 100;
                   input = 0;
                  while (1)
                  {
                      printf("你猜多少:\n");
                      scanf("%d", &input);
                      if (input > random)
                      {
                          printf("你猜大了\n");
                      }
                      else if (input < random)
                      {
                          printf("你猜小了\n");
                      }
                      else
                      {
                          printf("你猜对了!\n");
                          printf("恭喜您!\n");
                          Sleep(1000);
                          printf("\n\n");
                          break;
                      }
                  }
                  break;
        }
        case 0:
        {     
                 return 0;
        }
        default:
        {
                   printf("选择错误\n");
                   break;
        }
        }
    }
    return 0;
}


/实验3-20,将币值转换为大写形式/

/*实验3-20,将币值转换为大写形式*/
#include <stdio.h>
#include <math.h>
int main()
{
    long money;
		int n,count=8,flag=0;
		scanf("%d",&money);
		while(count>=0)
		{
			flag=0;
				n=money/(int)pow(10,count);
				printf("%d\n",&n);
			switch(n)
			{
			case 1:printf("壹");break;
	        case 2:printf("贰");break;
	        case 3:printf("叁");break;
	        case 4:printf("肆");break;
	        case 5:printf("伍");break;
	        case 6:printf("陆");break;
 	        case 7:printf("柒");break;
	        case 8:printf("捌");break;
	        case 9:printf("玖");break;
            case 0:flag=0;printf("零");break;
			}
					   switch(count+1)
					   {
					   case 9:if(flag==0)
								  printf("亿");break; 
					   case 8:if(flag==0)					   
				                  printf("千");break;
					   case 7:if(flag==0)
								  printf("百");break;
					   case 6:if(flag==0)
								  printf("十");break;
					   case 5:if(flag==0)
								  printf("万");break;
					   case 4:if(flag==0)
								  printf("千");break;
					   case 3:if(flag==0)
								  printf("百");break;
					   case 2:if(flag==0)
								  printf("十");break;
					   }
					   count--;
		}
				   printf("元\n");
				   return 0;
}
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值