【头歌C语言程序与设计】顺序结构程序设计

目录

写在前面

正文

第1关:加法运算

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

第3关:用宏定义常量

第4关:数字分离

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

第6关:求三角形的面积

第7关:立体几何计算题

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

写在最后


写在前面

本文代码是我自己所作,本人水平有限,可能部分代码看着不够简练,运行效率不高,但都能运行成功。另外,如果想了解更多,请订阅专栏 头歌C语言程序与设计


正文

第1关:加法运算

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

样例输入:3,4

样例输出:3+4=7

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

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

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

输入:

3 4

输出:

a=3 b=4

a=4 b=3

#include<stdio.h>
	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=  a^b;     
	      b=  a^b;     
	      a=  a^b;  
	  
	  /*********End**********/
	  printf("a=%d  b=%d\n",a,b);  
       return 0;
	}

第3关:用宏定义常量

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

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

  • 输出:输出总价格。

样例输入:

5

样例输出:

150

#include<stdio.h>
#define price 30
	int main(void)
	{  
	  /*********Begin*********/
	  int x=0;
	  scanf("%d",&x);

	  printf("%d", x*price);
	  
	  /*********End**********/ 
       return 0;
	}

第4关:数字分离

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

  • 输入:一个三位数

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

样例输入:

123

样例输出:

1 2 3

#include<stdio.h>
void print(int i)
{
    if(i>9)
    {
       print(i/10);  
    }
      printf("%d ", i%10);   
}
int main()
{
     int i=0;
     scanf("%d",&i);
     print(i);
     return 0;
}


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

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

  • 输入:五个整数

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

样例输入:

60 70 80 90 100

样例输出:

 400 80.00

#include<stdio.h>
int main()
{
    int sum=0;
    float average=0;
    int s1,s2,s3,s4,s5;
    scanf("%d%d%d%d%d",&s1,&s2,&s3,&s4,&s5);
    sum=s1+s2+s3+s4+s5;
    average=sum/5.0;
    printf("%d %.2f",sum,average);
    return 0;
}

第6关:求三角形的面积

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

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

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

样例输入:

3 4 5

样例输出:

6.000

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    float s=(a+b+c)/2.0;
    float ret=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("%.3f",ret);
    return 0;
}

第7关:立体几何计算题

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

  • 输入:两个double型浮点数,rh

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

样例输入:

1.5,3

样例输出:

C1=9.42 Sb=28.26 Vb=21.20

#include<stdio.h>
int main()
{
    double r,h,C1,Sb,Vb;
    scanf("%lf,%lf",&r,&h);
    double pi=3.14;
    C1=2*pi*r;
    Sb=4*pi*r*r;
    Vb=pi*r*r*h;
    printf("C1=%.2lf\nSb=%.2lf\nVb=%.2lf\n",C1,Sb,Vb);
    return 0;
}

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

本关任务:编程计算两个正整数的最大公约数。其中求最大公约数的函数原型已经给出,请在主函数中编程调用函数,输出最大公约数,输出格式:"%d\n"

  • 函数原型说明 求最大公约数的函数原型如下: int MaxCommonFactor( int a, int b);
  • 返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是-1
  • 参数:a,b是两个整型数

样例输入:

467,465

样例输出:

1

#include<stdio.h>
int MaxCommonFactor( int a, int b)
{ 
   int ret; 
   if(a<=0||b<=0) 
      return -1; 
   while(ret=a%b)
   { 
     a=b;
     b=ret;
   } 
    return b;
}   
int main(void)
{
	  /*********Begin*******/
   int m=0;
   int n=0;
   int tmp=0;
   scanf("%d,%d",&m,&n);
   if(m<n)
   {
       tmp=m;
       m=n;
       n=tmp;
   }
   int num=MaxCommonFactor(m, n);
   printf("%d\n",num);
	  
	  /*********End**********/ 
    return 0;
}

写在最后

👍🏻点赞,你的认可是我创作的动力!

⭐收藏,你的青睐是我努力的方向!

✏️评论,你的意见是我进步的财富!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

畅游星辰大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值