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;
}
第十六天(未解决)
求最大公约数和最小公倍数
第十七天
求字符串里面存在多少数字,字母,空格和其他字符
#include <stdio.h>int main() {char x[100];int shuzi = 0;int zimu = 0;int kongge =0 ;int qita = 0;printf("请输入字符串:");fgets(x,sizeof(x),stdin);for (int i = 0; x[i] !='\0'; i++){ if (x[i]=='\n'){break;}if (x[i]<='9' && x[i]>='0'){shuzi++;}else if ((x[i]>='a' && x[i]<='z') || (x[i]>='A' && x[i]<='Z')){zimu ++;}else if (x[i] == ' '){kongge++;}else{qita++;}}printf("%d %d %d %d\n",shuzi,zimu,kongge,qita);return 0;
}
第十八天
求s=2+22+222+2222......
#include <stdio.h>
#include <math.h>int main() {int count;int bottom;int sum = 0;int i;printf("请输入底数和次数:");scanf("%d %d", &bottom, &count);for (i = 0; i <= count; i++) {sum += (int)pow(bottom, i);}printf("总数是:%d\n", sum);return 0;
}
第十九天(未解决)
1000以内的完数