C语言实现:计算月份天数、判断素数、打印九九乘法表上三角
C语言实现:计算月份天数、判断素数、打印九九乘法表上三角
1. 输入年份和月份,输出该月对应的天数
#include<stdio.h>
int main(){
int year, month, days;
printf("请输入年份和月份:\n");
scanf("%d%d", &year, &month);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if((year%4==0 && year%100!=0) || year%400==0){
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入的月份有误!\n");
return 0;
}
printf("%d年%d月有%d天。\n", year, month, days);
return 0;
}
代码中使用了 switch 语句来根据月份计算天数,对于2月份需要判断是否为闰年。如果是闰年则有29天,否则有28天。闰年的判断方法是:能被4整除但不能被100整除,或者能被400整除。
2. 输入一个整数,判断该数是否是素数
#include<stdio.h>
int is_prime(int n){//自定义函数,判断n是否为素数
int i;
if(n <= 1){
return 0;//小于等于1的数不是素数
}
for(i = 2; i * i <= n; i++){//从2到n的平方根遍历
if(n % i == 0){
return 0;//能被整除的数不是素数
}
}
return 1;//是素数
}
int main(){
int n;
printf("请输入一个整数:\n");
scanf("%d", &n);
if(is_prime(n)){
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
代码中使用了自定义函数 is_prime 来判断一个数是否为素数。对于一个大于1的数n,从2到n的平方根遍历,如果能被整除,则不是素数,否则是素数。
3. 用C语言打印九九乘法表的上三角
#include<stdio.h>
int main(){
int i, j;
for(i = 1; i <= 9; i++){//外层循环控制行数
for(j = i; j <= 9; j++){//内层循环控制列数
printf("%d*%d=%2d ", i, j, i * j);//%2d表示占两位,左对齐
}
printf("\n");//每行结束后换行
}
return 0;
}
代码中使用了两层循环,外层循环控制行数,内层循环控制列数。在内层循环中打印每个乘积,使用了 %2d 来表示占两位,左对齐。每行结束后换行。由于上三角和下三角是对称的,因此只需要打印上三角即可。
原文地址: https://www.cveoy.top/t/topic/gvh0 著作权归作者所有。请勿转载和采集!