郑州轻工业大学OJ 1000 ~ 1010

1000.从今天开始入坑C语言

对于初学者,这题难度确实有点高,无论是从区分中英文符号,还是记得在每条语句后加分号,抑或是将include、stdio.h、main以及return完全敲对,都是存在挑战性的

但是,任何事情不都是如此吗?在一遍遍的失败中成长,到逐渐熟练,再到往自己的方向发展,如果仅是这一道题就击倒了你的话,那还是reopen吧

	
#include <stdio.h>

int main()
{
    printf("从今天开始入坑C语言");
    return 0;
}

1001. 整数a + b

从1000到1001, 又是一个质的飞跃,学会这一题,你已经可以用scanf读入从键盘录入的数据并将它存储到int类型的变量中了,加油,少年郎!

#include <stdio.h>

int main()
{
    int a, b;
    scanf("%d%d",&a,&b);
    
    printf("%d", a + b);
    return 0;
}

1002.简单多项式求值

这道题主要考察了三个基本知识点:

1.键盘录入整型数据到整型变量中

2.整型变量的运算

3.整型变量的输出

需要注意的是,运算符是有优先级的,乘法的优先级高于加法, 所以2 * x * x不需要写括号

#include <stdio.h>

int main()
{
    int x, y;
    scanf("%d",&x);
    
    y = x + 8 + 2 * x * x; //我是故意这么写的,看着很别扭对不对
    
    printf("%d", y);
    return 0;
}

1003.两个整数的四则运算

(有一说一我也不知道为什么四则运算要算五个数)

学会这道题,你就掌握了C语言中最常见的五种运算符:

加法: +

减法: -

乘法: *

除法: / (注意, 对于整型变量间的除法运算,结果默认向下取整)

取余数(又称取模运算): %

现在,你已经有能力用C语言编写程序去写小学数学题了,快去试一试吧(手动滑稽

#include <stdio.h>

int main()
{
    int num1, num2;
    scanf("%d%d",&num1,&num2);
    
    int a, b, c, d, e;//分别表示和,差,积,整数商,余数
    
    a = num1 + num2;
    b = num1 - num2;
    c = num1 * num2;
    d = num1 / num2;
    e = num1 % num2;
    
    printf("%d %d %d %d %d",a, b, c, d, e);
    return 0;
}

1004.三位数的数位分离

本题主要考察对整型变量除法与取模运算的灵活运用, 要说的都在注释里了,此处不再赘述

#include <stdio.h>

int main()
{
    int x;
    scanf("%d", &x);//本题解中x用三位数123代替
    
    int a, b, c; //分别表示个位,十位,百位上的数字;
    
    a = x % 10;//123除以10的余数,就是123个位上的数字3;
    b = x / 10 % 10;//整型变量x除以10后,默认向下取整,变为12,此时对10取余即为原x十位上的数字2;
    c = x / 100;//因为题目保证x为三位数,所以x除以100的结果即为原x百位上的数字1;
    
    printf("%d %d %d", a, b, c);
    
    return 0;
}

1005.整数幂

对于占位符%d, %和d之间可以插入数字x

若x > 0,则表示该整数占x列,不足x列右对齐

若x < 0,则表示该整数占x列,不足x列左对齐

#include <stdio.h>

int main()
{
    int x, y, z;
    scanf("%d%d%d",&x,&y,&z);
    
    printf("%-9d%-9d%-9d\n", x, x * x, x * x * x);
    printf("%-9d%-9d%-9d\n", y, y * y, y * y * y);
    printf("%-9d%-9d%-9d", z, z * z, z * z * z);
    
    return 0;
}

1006.求等差数列的和

高考毕业之后,还记得数列的求和公式吗?

当然,不记得也没关系,这题还有循环写法

循环和求和公式,总得会一个吧(两个都会更好)

//求和公式 S = n * a1 + n * (n - 1) * d / 2;

#include <stdio.h>

int main()
{
    int a1, an, d;//分别存储首项,末项,公差的值;
    scanf("%d %d %d",&a1,&an,&d);
    
    int n = (an - a1) / d + 1;//该等差数列项的个数;
    
    printf("%d", n * a1 + n * (n - 1) * d / 2);
    return 0;
}

//循环写法

#include <stdio.h>

int main()
{
    int a1, an, d, sum = 0;
    scanf("%d %d %d",&a1,&an,&d);
    
    for(int i = a1; i <= an; i += d)
    {
        sum = sum + i;
    }
    
    printf("%d", sum);
    return 0;
}

1007.鸡兔同笼

很经典的数学问题, 最困难的地方就是头、脚、鸡、兔子这四个单词的拼写

如果不会拼的话,记得回去温习一遍3500加深印象

#include <stdio.h>
int main()
{
	int heads, feet, hen, rabbit;
	scanf("%d %d",&heads,&feet);
    
    //我们假设全是坤,此时如果露出坤脚的话,脚的数量应该是头的数量的两倍
    //用实际脚的数量减去多出脚的数量再除以二,即可求出假ikun真兔子的个数(毕竟一只兔子比一只鸡多两条腿)
	rabbit = (feet - 2 * heads) / 2;
    //求出兔子的个数后,用总头数减去兔子数,得到的就是真ikun的数量(记得藏好坤脚~
	hen = heads - rabbit;
    
	printf("%d %d",hen,rabbit);
	return 0;
}

1008.美元和人民币

轻大一看是装糊涂的高手,把dollar说成是美元

某位姓汤的师爷曾经说过, dollar就是刀,US dollar才是美元

至于刀为什么贬值,当然是因为并夕夕的存在! 并夕夕618疯狂购物节,输入......

终于到了心心念念的浮点数乘法了,不要疑惑, 浮点数就是个位后面带个小数点的数

#include <stdio.h>
int main()
{
	double dollar, RMB;
	scanf("%lf",&dollar);

	RMB = 6.5573 * dollar;
    
	printf("%.2lf",RMB);
	return 0;
}

1009.求平均分

注意,虽然题面上说输入三个整数,但是因为平均分要保留两位小数,而整数运算默认只能得到整数

所以这里用浮点数变量存储分数,计算平均分

另外,还记得那个左对齐%-9d吗?本题的保留两位小数与之类似,写作%.2lf, 不要漏掉2前面的小数点哟~

#include <stdio.h>

int main()
{
	double math, English, computer, ans;
	scanf("%lf %lf %lf",&math, &English, &computer);
    
	ans = (math + English + computer) / 3;
    
	printf("%.2f",ans);
    
	return 0;
}

1010.求圆的周长和面积

题面要求定义圆周率为如下宏常量

#define PI 3.14159

我们只需要把这行加到#include <stdio.h>与int main()之间即可

加入之后就可以使用派了(当然,这里的派要写成PI, 值为3.14159)

#include <stdio.h>

#define PI 3.14159

int main()
{
	double r,s,c;
	scanf("%lf",&r);

	c = PI * 2 * r;
	s = PI * r * r;
    
	printf("%.2f %.2f",c,s);

	return 0;
}

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值