解题思路
只需要在拿出一个空瓶子 盛放醋或者酱油 即可变量交换
int main()
{
int vinegar = 1;
int sauce = 2;
int empty=0;
//将vinegar倒入empty
empty = vinegar;
//把sauce倒入vinrgar
vinegar = sauce;
sauce=empty;
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int i, j, k = 0;
int arr[10] = {
0 };
//通过for循环jiang10个数录入数组中
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
k = arr[0];
i = 0;
//假设将第一个数设为最大的 然后与数组每个数 比较
for (i = 0; i < 10; i++)
{
//如果他比选定的数大 那么将大数赋给他
if (arr[i] > k)
{
k = arr[i];
}
}
printf("%d",k);
return 0;
}
;代码运行结果如图
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int tmp = 0;
int i = 0;
int arr[3] = {
0 };
//依次录入数组元素
for (i = 0; i < 3; i++)
{
scanf("%d", &arr[i]);
}
int m = 0;
int n = 0;
int temp;
//通过排序算法 将元素按从小到大的顺序排好
for (m = 0; m < 3; m++)
{
for (n = 0; n < 3 - m - 1;n++)
{
if (arr[n] > arr[n + 1])
{
temp = arr[n];
arr[n] = arr[n + 1];
arr[n + 1] = temp;
}
}
}
//依次输出
i = 0;
for (i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int i, j;
j = 0;
//for 循环产生 1-100个整数即可
for (i = 0; i < 101; i++)
{
j = i + j;
}
printf("%d", j);
return 0;
}
#include
int main()
{
int i = 0;
scanf("%d", &i);
//判断 除以5和3的余数是否同时为0
if (i%5==0&&i%3==0)
{
printf("yes");
}
else
printf("no");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int i, j, k;
k = 100;
int arr[101] = {
0 };
for (i = 0; i < 101; i++)
{
arr[i] = k++;//通过这个给数组每个元素附上100-200
for (j = 2; j < arr[i]; j++)
{
if (arr[i] % j == 0)//判断arr[i]这个元素是否是合数
{
arr[i] = 0;//合数直接置零
break;
}
}
}
int m = 0;
for (m = 0; m < 101; m++)
{
if (arr[m] != 0)//排除掉被置零的元素
{
printf("%d ", arr[m]);
}
}
return 0;
}
求最大公约数 老祖宗的更相减损术
更相减损术的第一步就是判断两个数得最大公约数是否为2
我们只需要将for循环入口设置为**for (; i % 2 == 0&&j%2==0;)**只要要求的两个数 i j 均可以同时整除2就可以进入循环 我们还要增加一个变量m 确定除了几次2 在后续补上
for (; i % 2 == 0&&j%2==0;)
{
i = i/2;
j = j / 2;
m++;
}
当我们输入 i j 变量时 第二步就需要判断 i j 谁大 为了方便 我们将i变量设置为较大变量 通过简单的变量转换
if (j > i)
{
a = i;
i = j;
j = a;
}
从本例可以看出 就是先用输入的较大变量i减去较小变量j得到的差 然后差在和减数比较 较大的做被减数 小的做减数 直到减数和差相等
可见 循环的出口就是减数和差相等。
设计思路 先相减在将 减数和差的较大值附给i
for (;;)
{
b = i - j;
if (j == b)
{
break;
}
if (b > j)
{
a = j;
j = b;
b = a;
}
i = j;
j = b;
}
最后如果m变量大于0那么因数就要乘以2的m倍 反之直接输出
if (m > 0)
{
n = 2 * m * b;
printf("最大公约数是%d", n);
}
else
printf("最大公约数是%d", j);
附上整个
common()
{
int a = 0;
int n = 0;
int m = 0;
int i = 0;
int j = 0;
printf("请输入被求数\n");
scanf("%d %d", &i, &j);
for (; i % 2 == 0&&j%2==0;)
{
i = i/2;
j = j / 2;
m++;
}
if (j > i)
{
a = i;
i = j;
j = a;
}
a = 0;
int b = 0;
for (; ; )
{
b = i - j;
if (j == b)
{
break;
}
if (b > j)
{
a = j;
j = b;
b = a;
}
i = j;
j = b;
}
if (m > 0)
{
n = 2 * m * b;
printf("最大公约数是%d", n);
}
else
printf("最大公约数是%d", j);
}
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
int i, j, k, m;
float n,p,q;
printf("请将方程化成标准形式AX^2+BX+C=0");
printf("请依次输入A,B,C");
scanf("%d %d %d", &i, &j, &k);
m=j * j - 4 * i * k ;
if (m < 0)
{
printf("没有实数根");
}
n = sqrt(m);//平方根函数
p = (n - j) / (2 * i);
q = (-n - j) / (2 * i);
printf("%.2f %.2f",p,q);
}
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
int arr[101] = {
0 };
int i, j, k;
k = 1900;
for (i =0; i < 101; i++)
{
arr[i] = k++;
//第一个条件
if (arr[i] % 4 == 0 && arr[i] % 100 != 0)
{
printf("%d ", arr[i]);
}
if (arr[i] % 400 == 0 && arr[i] % 100 == 0)
{
printf("%d ", arr[i]);
}
}
return 0;
}
上面已经写了 见 4.8
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
int arr[10] = {
0 };
int i, j, k;//十个数传入数组
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
int m, n;
for (m = 0; m < 10; m++)
{
//冒泡排序 输出最后一个即可
for (n = 0; n < 10 - m - 1; n++)
{
if (arr[n] > arr[n + 1])
{
k=arr[n];
arr[n ] = arr[n+1];
arr[n + 1] = k;
}
}
}
printf("%d", arr[9]);
return 0;
}