C语言程序设计·头歌实训合集

03-31 1231阅读

C语言程序设计实训

C语言程序设计编辑与调试环境

任何高级语言源程序都要“翻译”成机器语言,才能在机器上运行。“翻译”的方式有两种:一种是解释方式,即对源程序解释一句执行一句;另一种是编译方式,即通过编译系统先把源程序“翻译”成目标程序(用机器代码组成的程序),再经过连接装配后生成可执行文件,最后执行可执行文件而得到结果。

C语言是一种编译型的程序设计语言,采用编译的方式将源程序翻译成目标程序(机器代码)。运行一个C程序,从输入源程序开始,要经过编辑源程序文件(.c或.cpp)、编译生成目标文件(.obj)、连接生成可执行文件(.exe)和执行4步。

第1关:打印输出 Hello World

任务描述

本关任务:通过运行一个C语言程序,让你初步了解程序的运行方法。

相关知识(略)

编程要求

请补充Begin-End之间的代码,使用printf()在屏幕上输出 Hello World 。

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

视频

输入:无

输出:Hello World

开始你的任务吧,祝你成功!

#include
	int main(void)
	{  
	/********* Begin *********/
		printf("Hello World\n");
	
	/********* End *********/
       return 0;
	}

第2关:打印输出图形

任务描述

本关任务:参照上面调试的程序,编写一个能输出规定图形的程序。

相关知识(略)

编程要求

编写一个C程序,输出以下图案,并上机调试通过。第一行开头有4个空格,第二行开头有3个空格,第三行有2个空格,第四行开头有一个空格,第五行开头没有空格,9个*。


  • OK

    Hello!


    测试说明

    平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

    输入:无

    输出:


    • OK

      Hello!


      提示

      本题通过执行多个printf函数输出每一行即可,暂时不用考虑使用循环。

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  	
      	/********* Begin *********/
      		printf("    *\n");
      		printf("   ***\n");
      		printf("  OK\n");
      		printf(" Hello!\n");
      		printf("*********\n");
      	
      	/********* End *********/
             return 0;
      	}
      

      第3关:求3个数的最大值

      任务描述

      本关任务:编写一个程序,输入a、b、c三个整数,输出其中最大值。

      相关知识

      输入

      输入一行数据,分别为a b c。

      输出

      a b c其中最大的数,不用换行。

      如何求出最大值

      求几个数的最大值?

      三个数两两比较,将较大的数存入最大值变量max;

      编程要求

      根据提示,在右侧编辑器Begin-End中补充代码,计算并输出三个数的最大值。

      测试说明

      我会对你编写的代码进行测试:

      测试输入:10,30,20

      预期输出:max=30

      测试输入:15,78,85

      预期输出:max=85

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	/********* Begin *********/
      		int a,b,c,z;
      	
      		scanf("%d,%d,%d",&a,&b,&c);
      		z=a;
      		if(b>a) z=b;
      		if(c>b) z=c;
      		printf("max=%d",z);
      	
      	/********* End *********/
             return 0;
      	}
      

      第4关:熟悉C语言调试过程

      任务描述

      本关任务:以下程序源代码有错误,请使用C语言的调试功能,检查程序的错误并更正,使之能正确运行。

      程序源代码:

      #include

      int main(void)

      {int x;

      int y=2,z=3;

      scanf(“%d”,&x);

      if(x=y+z);

      printf("“);

      else

      printf(”#####" );

      return 0;

      }

      相关知识(略)

      编程要求

      程序中要求键盘输入x的值,当x的值为5时输出,否则输出#####。

      输入:整数x的值。

      输出:当x的值为5时输出*****,否则输出#####。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      输入:5

      输出:*****

      开始你的任务吧,祝你成功!

      #include
      int main(void)
        {
      	  /********* Begin *********/
            int  x;
            int y=2,z=3;
            scanf("%d",&x); 
            if(x==y+z)
                printf("*****");
            else  
                printf("#####" );
            return 0;
      	  /********* End *********/
        }
      

      顺序结构程序设计

      顺序结构是最简单的一种程序结构,其它的结构可以包含顺序结构也可以作为顺序结构的组成部分,可见顺序结构无处不在,他是构成其他程序结构的基础。

      C程序是由若干源程序构成的。而在大多数情况下,一个C程序只是由一个源程序构成。一个源程序中又包含编译预处理命令(预编译命令)、全局变量的定义命令和各个用户函数组成。而各函数又由说明部分和执行部分组成。说明部分主要是定义本函数中要用到的变量,执行部分是由语句组成的。

      第1关:加法运算

      任务描述

      本关任务:写一个加法程序,输入整数a,b,输出他们的和。

      相关知识(略)

      编程要求

      请补充Begin-End之间的代码,写一个加法程序,输入整数a,b,输出他们的和。

      为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

      输入格式:scanf(“%d,%d”,&a,&b);

      输出格式:printf(“%d+%d=%d\n”,a,b,c);

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:3,4

      样例输出:3+4=7

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  int a,b,c; 
            //Please input a,b:
      	  /*********Begin*********/
      	  
      	  scanf("%d,%d",&a,&b);
      	  c=a+b;
      	  printf("%d+%d=%d\n",a,b,c);
      		  
      	  
      	  /*********End**********/ 
             return 0;
      	}
      

      第2关:不使用第3个变量,实现两个数的对调

      任务描述

      本关任务:下列程序是不用第三个变量,实现将两个数进行对调的操作。

      程序代码如下:

      1 #include

      2 int main(void)

      3 {

      4 int a,b;printf(“Enter a and b:”);

      5 scanf(“%d%d”,&a,&b);

      6 printf(“a=%d b=%d\n”,a,b);

      7 a= ① ;b= ② ;a= ③ ;

      8 printf(“a=%d b=%d\n”,a,b);

      9 return 0;

      10 }

      相关知识(略)

      编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      输入:3 4

      输出:

      a=3 b=4

      a=4 b=3

      输入:7 85

      输出:

      a=7 b=85

      a=85 b=7

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  int a,b;
      	  //Enter a and b:
            scanf("%d%d",&a,&b); 
            printf("a=%d b=%d\n",a,b);
      	  /*********Begin*********/
      	  a=
      	  
      	  /*********End**********/
      	  printf("a=%d  b=%d\n",b,a);  
             return 0;
      	}
      

      第3关:用宏定义常量

      任务描述

      本关任务:已知某物品单价为30,数量为x。求商品的总价钱。用宏定义物品的单价。

      相关知识(略)

      编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,用宏定义物品的单价。

      输入:一个整数x,代表物品的数量。

      输出:输出总价格。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      5

      样例输出:

      150

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  /*********Begin*********/
      	  int a,b;
      	  scanf("%d",&a);
      	  b=30*a;
      	  printf("%d\n",b);
      	  
      	  /*********End**********/ 
             return 0;
      	}
      

      第4关:数字分离

      任务描述

      输入一个三位数,分别求出x的各位数字,十位数字,百位数字的值。

      相关知识(略)

      编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,输入一个三位数,分别求出x的各位数字,十位数字,百位数字的值。

      输入:一个三位数

      输出:输出该数字的百位,十位,个位,数字之间用一个空格隔开。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      123

      样例输出:

      1 2 3

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  /*********Begin*********/
      	  int a,ge,shi,bai;
      	  scanf("%d",&a);
      	  ge=a%10;
      	  shi=(a/10)%10;
      	  bai=a/100;
      	  printf("%d %d %d",bai,shi,ge);
      	  
      	  /*********End**********/ 
             return 0;
      	}
      

      第5关:计算总成绩和平均成绩

      任务描述

      本关任务:编程求从键盘上输入一个学生的五门成绩,计算出该学生的总成绩和平均成绩。

      相关知识(略)

      编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,编程求从键盘上输入一个学生的五门成绩,计算出该学生的总成绩和平均成绩。

      输入:五个整数

      输出:总成绩和平均成绩,其中平均成绩保留小数点后两位。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      60 70 80 90 100

      样例输出

      400 80.00

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  /*********Begin*********/
      	int a, b, c, d, e, sum;
      	float aver;
      	scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
      	sum = a + b + c + d + e;
      	aver = sum / (5.0);
      	printf("%d %.2f", sum, aver);
      	  
      	  /*********End**********/ 
             return 0;
      	}
      

      第6关:求三角形的面积

      任务描述

      本关任务:编程求以a、b、c为边长的三角形的面积area。

      相关知识

      三角形面积计算公式为:

      假设三角形三条边长分别为a、b、c,其中s=(a+b+c)/2,则面积:

      C语言程序设计·头歌实训合集

      编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,编程求以a、b、c为边长的三角形的面积area。

      输入:a b c三角形的三条边,可以是小数;

      输出:三角形面积,保留3位小数。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      3 4 5

      样例输出:

      6.000

      开始你的任务吧,祝你成功!

      #include
      #include 
      	int main(void)
      	{  
      	  /*********Begin*********/
      	  
      	  
      	double a, b, c;
      	double s;
      	double area;
      	scanf("%lf %lf %lf", &a, &b, &c);
      	s = (a + b + c) / 2;
      	area = sqrt(s * (s - a) * (s - b) * (s - c));
      	printf("%.3lf", area);
      	  /*********End**********/ 
             return 0;
      	}
      

      第7关:立体几何计算题

      任务描述

      本关任务:设圆半径r,圆柱高h , 求圆周长C1,半径为r的圆球表面积Sb,圆半径r,圆柱高为h的圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时取小数点后两位数字。请编程序。 PI=3.14

      编程要求

      输入:两个double型浮点数,r和h;

      输出:圆周长C1、圆球表面积Sb、圆柱体积Vb。 保留两位小数,每个结果后换行。

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      1.5,3

      样例输出:

      C1=9.42

      Sb=28.26

      Vb=21.20

      提示

      圆球表面积计算公式为s=4πr × r ,r为球的半径。

      圆柱体体积计算公式为:V=πr ×r×h,r为半径,h为高。

      开始你的任务吧,祝你成功!

      #include
      #define PI 3.14
      	int main(void)
      	{  
      	  /*********Begin*********/
      	double r, h;
      	double C1, Sb, Vb;
      	scanf("%lf,%lf", &r, &h);
      	C1 = PI * 2 * r;
      	Sb = 4 * PI * r * r;
      	Vb = PI * r * r * h;
      	printf("C1=%.2lf\nSb=%.2lf\nVb=%.2lf\n", C1,Sb, Vb);
      	  
      	  /*********End**********/ 
             return 0;
      	}
      

      第8关:计算两个正整数的最大公约数

      任务描述

      编程计算两个正整数的最大公约数。其中求最大公约数的函数原型已经给出,请在主函数中编程调用函数,输出最大公约数。

      程序的运行示例:

      12,3↙

      3

      ####函数原型说明

      求最大公约数的函数原型如下:

      int MaxCommonFactor( int a, int b);

      返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是-1。

      参数:a,b是两个整型数

      相关知识

      本任务主要考察函数的调用方法。

      ####编程要求

      根据提示,在右侧编辑器Begin-End处补充代码,编程计算两个正整数的最大公约数。

      输入:输入格式:“%d,%d”

      输出:输出格式:“%d\n”

      测试说明

      平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

      样例输入:

      467,465

      样例输出:

      1

      开始你的任务吧,祝你成功!

      #include
      int MaxCommonFactor( int a, int b)
      { 
         int c; 
         if(a 
           c=a%b; 
           a=b;
           b=c;
         } 
        return a; 
      }   
      int main(void)
      	{  
      	  /*********Begin*********/
      	  int a,b;
          scanf("%d,%d",&a,&b);
          printf("%d",MaxCommonFactor(a,b));
      	  
      	  /*********End**********/ 
          return 0;
      }
        
      	  /*********Begin*********/
      	  int a,b,c,d;
      	  printf("请输入三个整数:");
      	  scanf("%d %d %d",&a,&b,&c);
      	  if(ab)
      	  {
      		  d=a;
      		  a=b;
      		  b=d;
      	  }
      	  if(ac)
      	  {
      		  d=a;
      		  a=c;
      		  c=d;
      	  }
      	  if(b>c)
      	  {
      		  d=b;
      		  b=c;
      		  c=d;
      	  }
      	  printf("从小到大排列为:%d,%d,%d",a,b,c);
      	  /*********End**********/ 
             return 0;
      	}
      

      第2关:选择结构-闰年判断

      任务描述

      编写程序,完成如下功能:从键盘输入任意年份year,判别该年份是否闰年。

      为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

      相关知识

      输入

      从键盘任意输入一个年份 。

      输出

      根据是否闰年进行输出,是输出"****是闰年!",否输出"不是闰年!",其中为当前输入的年份。

      样例输入

      2000

      样例输出

      2000 是闰年!

      开始你的任务吧,祝你成功!

      编程要求

      请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写选择结构-闰年判断的小程序。

      #include
      	int main(void)
      	{  
      	  /*********Begin*********/
      	  int year;
      	  
      	  scanf("%d",&year);
      	  if((year % 4 == 0 &&year % 100 != 0)|| year % 400 ==0)
      	  	printf("%d 是闰年!\n",year);
      	  else
      	  	printf("%d 不是闰年!",year);
      	  /*********End**********/ 
             return 0;
      	}
      

      第3关:选择结构-分段函数问题

      任务描述

      本关任务:编写程序,根据输入的值,输出函数的值。

      有一个函数,定义如下

      C语言程序设计·头歌实训合集

      写一段程序,输入x,输出y。

      相关知识

      输入

      从键盘任意输入一个数x

      输出

      一个数y,保留小数点后三位。

      编程要求

      请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写选择结构-分段函数问题的小程序。

      测试说明

      平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

      样例输入:

      14

      样例输出:

      181.000

      开始你的任务吧,祝你成功!

      #include
      	int main(void)
      	{  
      	  /*********Begin*********/
      	  double x,y;
      	  scanf("%lf",&x);
      	  if(x=0&&x  
      	  /*********Begin*********/
      	  float result;
      	  int x;
      	  scanf("%f",&result);
      	  if(result=0&&result
      		  x=result/10;
      		  switch(x)
      		  {
      			  case 10:
      			  case 9:;printf("A");break;
      			  case 8:printf("B");break;
      			  case 7:printf("C");break;
      			  case 6:printf("D");break;
      			  default:printf("E");
      		  }
      	  }
      	  else
      	  printf("Score is error!");
      	  
      	  /*********End**********/ 
             return 0;
      	}
        
      	  /*********Begin*********/
      	    int area = 0;
        		float weight,startweight,extraweight,price = 0;
        		int areastartmoney[5] = {10,10,15,15,15}; 
        		float areaextramoney[5] = {3,4,5,6.5,10};
        		scanf("%d,%f",&area,&weight);
        		if(area
          		printf("Error in Area\n");
          		price = 0;
        			}
        		else if(weight 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]