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 是素数,则输出 i
if (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;
}