1.输入两个正整数m和n,求其最小公倍数数
#include <stdio.h>
int main()
{
int m, n, a, b;
int i = 0;
//变量初始化
scanf("%d%d", &n, &m);
//利用do和while循环i每次循环自加,i乘m,且b每次循环都对a取余,一旦取余为0,则循环结束,跳出循环,并且此时的m*i就是其最小公倍数
do
{
i++;
a = m * i;
b = a % n;
} while (b != 0);
//do--while循环的好处是不需要条件,循环便能进行
printf("%d", m * i);
return 0;
}
2.输入1个数,并输出对应个数的水仙花数100<n<1000
#include<stdio.h>
int main()
{
int n, a, b, c, num, l;
l = 0;
//num用来计数,控制循环变量
scanf("%d", &num);
//for循环,num表示输出的水仙花个数为多少,先初始化l=0
for (n = 100; n <= 999 && l < num; n++)
{
a = n / 100;
b = n / 10 % 10;
c = n % 10;
//计算n的每个位数的数字
if (a * a * a + b * b * b + c * c * c == n)
{
printf("%d ", n);
l++;
//i++,当l>num时,循环条件不成立,跳出循环,就可以实现输入的值为多少,输出多少个水仙花数
}
}
printf("\n");
return 0;
}
3.将指定的数组中第k个元素删除
#include<stdio.h>
int main()
{
int a[100] = {0};
//定义一个数组,可以放100个字符,右边先初始化0;
int i,n,k;
scanf("%d%d", &n, &k);
//for循环输入n个数,放进数组中;
for (i = 0; i < n; i++) scanf("%d",& a[i]);
//程序最重要的一部分,控制变量,因为是要删掉第k为,则令i=k;输出的数比原来的少一个i<n-1;并且循环每轮n--;输出行第k位替代了原先第k+1位
for (i = k; i < n - 1; i++) a[i] = a[i + 1];
n--;
for (i = 0; i < n; i++) printf("%d ", a[i]);
return 0;
}
4.编写代码,演示多个字符向两端移动,向中间汇聚(程序员的烂漫)
#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
char arr[] = "abc";
char arr1[] = "hello hengyi!!!";
char arr2[] = "###############";
int left = 0;
int right = strlen(arr1) - 1;
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
Sleep(1000);
system("cls");
left++;
right--;
}
return 0;
}