gitee仓库:https://gitee.com/lingyun67/C-homework/tree/master
本人的编译器使用的是Visual Studio 2019,因此若有需要,当遇到scanf_s函数时,应该将其改成scanf。
A+B 练习:
#include <stdio.h>
int main(void)
{
int a, b, sum;
a = 123;
b = 456;
sum = a + b;
printf("sum = %d\n", sum);
return 0;
}
名片练习:
#include <stdio.h>
int main(void)
{
printf("┌────────────────┐\n");
printf("│刘鑫阳 │\n");
printf("│1234567890 │\n");
printf("│江苏淮安 │\n");
printf("│枚乘东路8号 │\n");
printf("└────────────────┘\n");
return 0;
}
基础四位整数逆序:
#include <stdio.h>
int main(void)
{
int x = 0;
scanf_s("%d", &x);
int a, b, c, d;
a = x % 10;
b = x / 10 % 10;
c = x / 10 / 10 % 10;
d = x / 10 / 10 / 10 % 10;
int y = 0;
y = a * 1000 + b * 100 + c * 10 + d;
printf("%d", y);
return 0;
}
常规数学表达式转换为代码:

#include <stdio.h>
int main(void) {
int a, b;
int x, x1, x2; //结果 分子 分母
a = 3;
b = 2;
//假设
x1 = (a + b) / (a - b) - (a - b) / (a + b);
x2 = (a - b) / (a + b) + (a + b) / (a - b);
x = x1 / x2;
//忽略小数 直接为整数运算
printf("%d", x);
return 0;
}
求圆柱体体积:
#define PI 3.14159
#include <stdio.h>
int main(void)
{
float r, h, s, v;
printf("请输入半径与高,并以空格为间隔:");
scanf("%f %f", &r, &h);
s = PI * r * r;
v = s * h;
printf("s = %f v = %f", s, v);
return 0;
}
输入三角形三边,输出其面积:
#include <stdio.h>
#include <math.h>
int main(void)
{
float a, b, c, s, area;
printf("输入三角形三边");
scanf("%f%f%f", &a, &b, &c);
s = (a + b + c)/2.0;
area = sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积为%.2f", area);
return 0;
}
自定义一元二次方程求解
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, b, c;
int x1 = 0, x2 = 0;
scanf_s("%d%d%d", &a, &b, &c);
//ax方 + bx + c = 0
//两个解
if ((b * b - 4 * a * c) > 0) {
x1 = (-b + sqrt(b * 1.0 * b - 4.0 * a * c)) / 2 * a;
x2 = (-b - sqrt(b * 1.0 * b - 4.0 * a * c)) / 2 * a;
printf("该方程有两个解为x1 = %d,x2 = %d", x1, x2);
}
//两解相同
else if ((b * b - 4 * a * c) == 0) {
x1 = (-b + sqrt(b * 1.0 * b - 4.0 * a * c)) / 2 * a;
printf("该方程仅有一个解为x = %d", x1);
}
//无解
else if ((b * b - 4 * a * c) < 0) {
printf("该方程无解");
}
else {
printf("未知错误");
}
return 0;
}
送糖
#include <stdio.h>
int main(void)
{
int 甲,乙,丙;
//最终结果
甲= 乙=丙 =64;
//第三次交换
甲 /= 2;
乙 /= 2;
丙 = 甲+乙+丙;
printf("第三次交换之前\n甲 = %d\n乙 = %d\n丙 = %d\n", 甲, 乙, 丙);
//第二次交换
甲 /=2;
丙 /=2;
乙 = 甲+乙+丙;
printf("第二次交换之前\n甲 = %d\n乙 = %d\n丙 = %d\n", 甲, 乙, 丙);
//第一次交换
乙 /=2;
丙 /=2;
甲 = 甲+乙+丙;
printf("所以初始时\n甲 = %d\n乙 = %d\n丙 = %d\n", 甲, 乙, 丙);
return 0;
}