• 6


    #include <stdio.h>
    void Ws5()
    {
        int aa;
        printf("输入题目序号1-6:
    	1.书上第3章课后题中的5道编程题。
    	2.利用双重循环打印三角形:
    	");
        scanf("%d",&aa);
        switch(aa)
        {
            case 1:
            printf("1.书上第3章课后题中的5道编程题。
    #include<stdio.h>
    	int main()
    	{
    	int a,b,c,n;
    	printf("输入整数:");
    	scanf("%d %d %d",&a,&b,&c);
    	if(a>b)
    	{
    	n=b;
    	b=a;
    	a=n;
    	}
    	if(a>c)
    	{
    	n=c;
    	c=a;
    	a=n;
    	}
    	if(b>c)
    	{
    	n=c;
    	c=b;
    	b=n;
    	}
    	printf("这三个数从小到大分别是:%d %d %d",a,b,c);
    	return 0;
    	}
    	 ");
            break;
            case 2:
            printf("2.#include<stdio.h>
    	int main()
    	{
    	int a,b;
    	printf("该条公路限速:");
    	scanf("%d",&a);
    	printf("该机动车车速:");
    	scanf("%d",&b);
    	if(b-a>0.1*a && b-a<=0.5*a)
    	printf("予该机动车处200元罚款");
    	else if(b-a>0.5*a)
    	printf("予机动车吊销驾驶证处罚");
    	else
    	printf("不予该机动车处罚");      
    	   return 0;
    	}
    	");
            break;
            case 3:
            printf("#include<stdio.h>
    	int main()
    	{
    	int a,b,c;
    	printf("行驶里程(公里):");
    	scanf("%d",&a);
    	printf("等待时间(分钟):");
    	scanf("%d",&b);
    	if(a>3 && a<=13)
    	c=(a-3)*2+10;
    	else if(a>13)
    	c=30+(a-13)*3;
    	else
    	c=10;
    	c=c+b/5*2;
    	printf("应支付车费(元):%d",c);   
    	  return 0;
    	}
    	");
            break;
            case 4:
            printf("#include<stdio.h>
    	int main()
    	{
    	int n;
    	printf("共统计多少学生的成绩:");
    	scanf("%d",&n);
    	int i,a;
    	int b=0,c=0,d=0,e=0,f=0;
    	for(i=1;i<=n;i++)
    	{
    	printf("输入百分制成绩:");
    	scanf("%d",&a);
    	if(a>=90)
    	{
    	printf("该同学五分制成绩为:A
    ");
    	b++;
    	}
    	else if(a<90 && a>=80)
    	{
    	printf("该同学五分制成绩为:B
    ");
    	c++;
    	}
    	else if(a<80 && a>=70)
    	{
    	printf("该同学五分制成绩为:C
    ");
    	d++;
    	}
    	else if(a<70 && a>=60)
    	{
    	printf("该同学五分制成绩为:D
    ");
    	e++;
    	}
    	else
    	{
    	printf("该同学五分制成绩为:E
    ");
    	f++;
    	}
    	}
    	printf("%d个学生的成绩中中共有:
    %d个A级,
    %d个B级,
    %d个C级,
    %d个D级,
    %d个E级
    ",n,b,c,d,e,f); 
    	        return 0;
    	}
    	");
            break;
            case 5:
            printf("#include<stdio.h>/n/t#include<math.h>int main()
    	{/n/tdouble x1,y1,x2,y2,x3,y3,a,b,c,s,h,w,z,area;
    	printf("请输入平面上任意三个点的坐标:");
    	scanf("(%lf,%lf) (%lf,%lf) (%lf,%lf)",&x1,&y1,&x2,&y2,&x3,&y3);
    	if(x1>=x2)
    	w=x1-x2;
    	else
    	w=x2-x1;
    	if(y1>=y2)
    	h=y1-y2;
    	else
    	h=y2-y1;
    	a=sqrt(pow(w,2)+pow(h,2));
    	if(x1>=x3)
    	w=x1-x3;
    	else
    	w=x3-x1;
    	if(y1>=y3)
    	h=y1-y3;
    	else
    	h=y3-y1;
    	b=sqrt(pow(w,2)+pow(h,2));
    	if(x3>=x2)
    	w=x3-x2;
    	else
    	w=x2-x3;
    	if(y3>=y2)
    	h=y3-y2;
    	else
    	h=y2-y3;
    	c=sqrt(pow(w,2)+pow(h,2));
    	if(a+b>c && a+c>b && b+c>a)
    	{
    	z=a+b+c;
    	printf("该三角形周长为:%.2f
    ",z);
    	s=z/2;
    	area=sqrt(s*(s-a)*(s-b)*(s-c));
    	printf("该三角形面积为:%.2f
    ",area);
    	}
    	else
    	printf("Impossible");
    	return 0;
    	}
    	");
            break;
            case 6:
            printf("#include<stdio.h>
    	int main()
    	{
    	int i,j,k;
    	for(j=1;j<=10;j++)
    	{
    	for(k=1;k<j;k++)
    	printf(" ");
    	for(i=1;i<=11-j;i++) 
    	           printf("*");
    	printf("
    ");  
    	  }     
    	return 0;
    	}
    	");
            break;
            default:
            printf("无作业
    ");
            break; 
        }
    }
    
    void Ws4()
    {
        int aa;
        printf("1.猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
    
    2.从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。
    	");
        scanf("%d",&aa);
        switch(aa)
        {
            case 1:
            printf("#include<stdio.h>
    	#include<stdlib.h>
    	#include<time.h>int main()
    	{
    	srand(time(NULL));
    	while(true)
    	{
    	int min = 0;
    int max = 100;
    	int a = 0 ;
    	int count = 0;//次数
    	int target = rand()%max + 1;//产生随机数
    	while(true)
    	{
    	int guess = 0;
    	printf("请输入%d-%d之间的数
    ",min,max);
    	scanf("%d",&guess); 
    	count++;
    	 if(guess < a)
    	   {
    	printf("负数无效,Game Over
    ");
    	exit(0);
    	}
    	if(guess < min||guess > max)
    	{
    	printf("你粗心了,请看清楚,输入的数为%d - %d
    ",min,max);
    	continue;
    	}
    	else
    	{
    	if(target==guess)
    	{
    	printf("YOU WIN!
    ",count);
    	 printf("共猜了%d次。
    ",count); 
    	  break;
    	}
    	else if(target > guess)
    	{
    	 min = guess;
    	printf("数字大于%d
    ",guess);
    	printf("Too small
    ");
    	}
    	else
    	{
    	max = guess;
    	printf("数字小于%d
    ",guess);
    	printf("Too big
    ");
    	}
    	}
    	}
    	printf("共猜了%d次。
    ",count)
    	;  if(count==1)
    	printf ("Bingo!");
    	if(count<=3)
    	printf("Lucky you!!");
    	if(count>3)
    	printf("Good guess!!!");
    	}
    	return 0;
    	}
    	");
            case 2:
            printf("#include<stdio.h>
    	int main()
    	{
    	int a,b,m,i,o=1;
    	printf("请输入:");
    	scanf("%d %d",&a,&b);
    	m=a;
    	if(a<b)
    	{
    	a=b;
    	b=m;
    	}
    	for(i=2;i<=b;i++)
    	{
    	if(a%i==0&&b%i==0)
    	o=i;
    	}
    	printf("最大公约数:%d
    ",o);
    	m=(a*b)/o;
    	printf("最小公倍数:%d
    ",m);
    	return 0;
    	}
    	"); 
            default:
            printf("无作业
    ");
            break; 
        }
    }
    
    void Ws3()
    {
        int aa;
        printf("#include<stdio.h>
    	int main()//十行三角形
    	{
    		printf("*
    ");
    		printf("**
    ");
    		printf("***
    ");
    		printf("****
    ");
    		printf("*****
    ");
    		printf("******
    ");
    		print("*******\n");
    		printf("********
    ");
    		printf("*********
    ");
    		printf("**********
    ");
    		return 0 ;
    	}
    	");
        scanf("%d",&aa);
        switch(aa)
        {
            case 1:
            printf("#include<stdio.h>
    	int main()//十行三角形
    	{
    		printf("*\n");
    		printf("**\n");
    		printf("***\n");
    		printf("****\n");
    		printf("*****\n");
    		printf("******\n");
    		printf("*******\n");
    		printf("********\n");
    		printf("*********\n");
    		printf("**********\n");
    		return 0 ;
    	}
    	");
            break;
            case 2:
            printf("...");
            break;
            default:
            printf("无作业
    ");
            break; 
        }
    }
    
    void Ws2()
    {
        int aa;
        printf("请输入题目序号1-9:
    	1.C语言基本数据类型及其占用的内存空间大小分别是:
    	2.算数运算符有:+-*/% ++ --
    	3.关系运算符有:> <    ==  >=  <=  !=   <>
    	4.逻辑运算符的优先顺序是:! &&  ||
    	5.赋值运算符有:= +=  -=  *=  /=  %=
    	下面代码的输出结果是什么?请解释原因。
    	6.
    	char c=132;
    	 printf(“%d”,c);
    	7.
    	int a=-7;
    	 printf(“%d”,a>>1);
    	8.
    	int a=7;
    	int b=8;
    	printf(“%d”,a&b);
    	9.
    	int a=7;
    	int b=8;
    	printf(“%d”,a^b);");
        scanf("%d",&aa);
        switch(aa)
        {
            case 1:
            printf("1.C语言基本数据类型及其占用的内存空间大小分别是:int:4字节,short[int]:2字节,long[int]:4字节,unsigned[int]:4字节,unsigned short[int]:2字节,unsigned long[int]:4字节,char:1字节,float:4字节,double:8字节。");
            break;
            case 2:
            printf("2.算数运算符有:+,?,*,/,%,++,??。");
            break;
            case 3:
            printf("3.关系运算符有:>,<,==,>=,<=,!=,<>。");
            break;
            case 4:
            printf("4.逻辑运算符的有限顺序是:!,&&,||。");
            break;
            case 5:
            printf("5.赋值运算符有:=,+=,-=,*=,/=,%=。");
            break;
            case 6:
            printf("6.char c=132;printf("%d",c);解:char的范围为-127~128,132超出范围,132变为二进制是10000100,因为在计算机中0为正1为负所以该数为负数,而负数需要取反加一,所以该数为-01111011+1=-01111100,输出结果为-124。");
            break;
            case 7:
            printf("7.int a=7;printf("%d",a?1);
    解:7:00000000 00000000 00000000 00000111
    -7:11111111 11111111 11111111 11111001(取反加一)
    a>>1:111111111 11111111 11111111 1111100(右移一位)
    -00000000 00000000 00000000 00000100(取反进一)
    所以向右移1位为-4.");
            break;
            case 8:
            printf("8.int a=7;int a=8;printf("%d",a&b);
    解:a=7:00000000 00000000 00000000 00000111
    b=8:00000000 00000000 00000000 00001000
    因为没有相同为1的项
    所以输出值为0.");
            break;
            case 9:
            printf("9.int a=7;int b=8;printf("%d",a^b);
    解:a=7:00000000 00000000 00000000 00000111
    b=8:00000000 00000000 00000000 00001000
    00000000 00000000 00000000 00001111
    所以输出值为15.
    ");
            break;
            default:
            printf("无作业
    ");
            break; 
        }
    }
    
    void Ws1()
    {
        int aa;
        printf("请输入题目序号(1-3):
    实验1-1:求最大值
    要求由键盘输入两个整数a和b,程序输出其中较大的数。
    
    实验1-2:求m到n之和
    要求程序计算并输出m~n(m< n)之间所有整数的和,其中m和n由用户从键盘上输入。
    
    实验1-3:求平均数
    从键盘上依次读入5个整数,计算并输出他们的平均数。
    
    ");
        scanf("%d",&aa);
        switch(aa)
        {
            case 1:
            printf("1-1:求最大值要求由键盘输入两个整数a和b,程序输出其中较大的数
    #include<stdio.h>
    	int main ()
    	{
    	int a;
    	int b;
    	scanf("%d %d",&a,&b);
    	if(a>b)
    	printf("%d",a);
    	else
    	printf("%d",b);
    	return 0;
    	}
    	");    
            case 2:
            printf("1-2 求m到n的和
    #include<stdio.h>
    int main()//求m-n的和
    {
    int m;
    int n;
    scanf("%d,%d",&m,&n);
    int i=m;
    int sum=0;
    for(i=m;i<=n;i++)
    sum=sum+i;
    printf("%d",sum);
    return 0;
    }
    ");
            case 3:
            printf("1-3 求平均数
    	#include<stdio.h>
    	int main()//求平均数
    	{
    	int sum=0;
    	int a;
    	int b;
    	int c;
    	int d;
    	int e;
    	scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
    	sum=a+b+c+d+e;
    	printf("%d",sum/5);
    	return 0 ;
    	}
    	");
            default:
            printf("无作业
    ");
            break;  
        }
    }
    int main() 
    {
        int score,a;
        printf("请选择作业次数(1-5):
    ");
        scanf("%d",&score);
        switch(score)
        {   
            case 5:
                Ws5();
              break;
            case 4:
                Ws4();
              break;
              case 3:
                Ws3();
              break;
              case 2:
                Ws2();
              break;
              case 1:
                Ws1();
              break;
              default:
                printf("无作业
    ");
                break;    
        }
        return 0;
    }
  • 相关阅读:
    shell之for和if实现批量替换多目录下的文件
    问题:Linux报swap空间占用过高,但物理内存还有空余
    git常用命令汇总
    VMware下liunx虚拟机仅主机模式上网
    通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
    Linux启动过程简述
    Nginx禁止ip访问或IP网段访问方法
    解决docker主机配置了DaoCloud.io的加速后重启失败问题Failed to start Docker Application Container Engine
    Windows下用python来获取微信撤回消息
    Oracle 参数文件spfile
  • 原文地址:https://www.cnblogs.com/linhao8/p/6027326.html
Copyright © 2020-2023  润新知