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