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;
}