目录
写在前面
本文代码是我自己所作,本人水平有限,可能部分代码看着不够简练,运行效率不高,但都能运行成功。另外,如果想了解更多,请订阅专栏 头歌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型浮点数,
r
和h
;输出:圆周长
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;
}
写在最后
👍🏻点赞,你的认可是我创作的动力!
⭐收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!