基础
1.判断素数
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int judge(int p); int main() { int p; scanf("%d", &p); if (judge(p) == 1) printf("%d是素数", p); else printf("%d不是素数", p); return 0; } int judge(int p) { if (p <= 1 || p != 2 && p % 2 == 0) { return 0; } else { for (int i = 2; i * i <= p; ++i) { if (p % i == 0) { return 0; } } return 1; } }
2.判断闰年
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int year; scanf("%d", &year); if (judge(year) == 1) printf("%d是闰年", year); else printf("%d不是润年", year); return 0; } int judge(int year) { //能被4整除,但不能被100整除。或者能被400整除 if ((year % 4 == 0) && ((year % 100) != 0) || year % 400 == 0) return 1; else return 0; }
3.时间差(同一天)
#include<stdio.h> int main() { int hour1, minute1; int hour2, minute2; scanf("%d %d",&hour1, &minute1); scanf("%d %d",&hour2, &minute2); int ih = hour2 - hour1; int im = minute2 - minute1; if(im < 0){ im = 60 +im; ih--; } printf("时间差是%d小时%d分。\n",ih, im); return 0; }
4.求最小公倍数
#include<stdio.h> int main() { long long a, b, i = 1; scanf("%lld %lld", &a, &b); while (a * i % b) {//如果等于零,则找到最小公倍数 i++; } printf("%lld", i * a); return 0; }
5.求最大公约数.
#include<stdio.h> int main() { long long a, b,c; scanf("%lld %lld", &a, &b ); if (a < b) { long long temp = b; b = a; a = temp; } while (a % b) { c = a % b; a = b; b = c; } printf("%lld", c); }
6.逆序输出英文语句,其中每个单词顺序不变
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> void revers(char* left,char* right) { while (left < right) { char temp = *left; *left = *right; *right = temp; left++; right--; } } int main() { char arr[101]; gets(arr); //正则表达式scanf("%[^\n]s",&arr); int len = strlen(arr); revers(arr, arr + len - 1); char* start=arr; char* cur=arr; while (*cur) { while (*cur != ' ' && *cur != '\0') { cur++; } revers(start, cur - 1); start = cur + 1; if(*cur == ' ') cur++; } printf("%s", arr); return 0; }