C语言经典100题(手把手 编程)
可以在哔哩哔哩找到(url:C语言经典100题(手把手 编程)_哔哩哔哩_bilibili)
已解决的天数:一,二,五,六,八,十三,十四
下面的都是模模糊糊的
可以学学这些算法,我是算法白痴,但是我不是白痴
第三天(未解决)
第四天
#include <stdio.h>// 判断是否为闰年
int isLeapYear(int year) {return (year % 4 == 0 && year % 100!= 0) || (year % 400 == 0);
}int main() {int year, month, day;int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int total_days = 0;printf("请输入年月日:");scanf("%d %d %d", &year, &month, &day);// 判断闰年,更新二月天数if (isLeapYear(year)) {days_in_month[1] = 29;}// 计算天数for (int i = 0; i < month - 1; i++) {total_days += days_in_month[i];}total_days += day;printf("这是第%d天\n", total_days);return 0;
}
第十一天
兔子生崽问题,类似斐波那契数
#include <stdio.h>
//不用递归的做法
int main() {int x[20]={1,1};for (int i = 2; i < 13; i++){x[i] = x[i-1] + x[i-2];printf("%d\n",x[i]);}return 0;
}
第十二天
求素数,差点给我搞红温了,555555555555
#include <stdio.h>int main() {// 遍历 101 到 199 之间的所有整数for (int i = 101; i < 200; i++) {int is_prime = 1; // 每次判断新的数之前,假设 i 是素数// 检查 i 是否能被 2 到 i-1 之间的任何整数整除for (int j = 2; j < i; j++) {if (i % j == 0) {is_prime = 0; // i 不是素数break;}}// 如果 i 是素数,则输出 iif (is_prime) {printf("%d\n", i);}}return 0;
}
第十四天
将一个正整数分解成质因数
#include <stdio.h>int main() {int x ;printf("请输入要分解的数字:"); scanf("%d,",&x);if (x==0 || x==1){printf("%d",x);}for (int i = 2; i < 10; i++){if (x%i == 0){printf("%d\t",i);x = x / i;i = 2;}}return 0;
}