#include<stdio.h>
void homeworkOne();
void homeworkTwo();
void homeworkThree();
void homeworkFour();
void homeworkFive();
int main(void){
int no, retry;
do
{
printf("请选择你要执行的任务[输入1-5 按回车结束]:");
scanf("%d", &no);
switch (no)
{
case 1:
homeworkOne();
break;
case 2:
homeworkTwo();
break;
case 3:
homeworkThree();
break;
case 4:
homeworkFour();
break;
case 5:
homeworkFive();
break;
default:
printf("请输入1-5选择任务");
break;
}
//选择是否再次运行
printf("是否继续选择任务执行[yes --> 0], [no --> 9]");
scanf("%d", &retry);
} while (retry == 0);
}
void homeworkOne(){
int min, max, n, a, b;
do{
printf("请输入三个正整数:");scanf("%d,%d,%d", &n, &a, &b);
}while(n < 0 && b < 0 && a < 0);
max = n;
a > max ? max = a : b > max ? max = b : printf("找不出最大值");
a < min ? min = a : b < min ? min = b : printf("找不出最小值");
printf("从大到小依次输出%d, %d", max, min);
}
void homeworkTwo(){
int year, mon;
do{
printf("请输入年份和月份推测天数【格式年份-月份】");scanf("%d-%d", &year, &mon);
if(year % 400 == 0)printf("该年有366天"); else printf("该年有365天");
switch (mon){
case 1:case 3:case 5:case 7: case 8: case 10: case 12:printf("该年月有31天");
break;
case 2:if(year % 400 == 0) printf("该月28天");else printf("该月有29天");
break;
default:printf("该月份有30天");
break;
}
}while(year > 999 && mon <= 12 && mon >= 1);
}
void homeworkThree(){
char c;
float m, n;
printf("请输入一个算术表达式 例如【4.5+9】:");
scanf("%f%c%f", &m, &c, &n);
switch ((int)c)
{
case '*':
printf("运算结果为%f", m*n);
break;
case '/':if(n != 0)printf("运算结果为%f", m/n);else printf("被除数不能为0");
break;
case '%':
if((int)m == m || (int)n == n)printf("运算结果为%d", (int)m % (int)n);
else printf("小数不能使用%%取余");
break;
case '+':
printf("运算结果为%f", m+n);
break;
case '-':
printf("运算结果为%f", m-n);
break;
default:printf("请输入正确的运算符(* / + - %%)");
break;
}
}
void homeworkFour(){
int c,a,b,d;
a = b = c = 0;
while((c = getchar()) != '\n'){
if(c >= 'a' && c <= 'z')a++;
else if(c >= 'A' && c <= 'Z')b++;
else if(c >= '0' && c <='9') d++;
}
printf("大写字母%d个, 小写字母%d个, 数字%d个", a, b, d);
}
void homeworkFive(){
int no, ns, sum;
ns = 0;
sum = 0;
do{
printf("请输入一个正整数:");scanf("%d", &no);
if(no <= 0){
puts("\a请不要输入非正整数");
}
}while(no <= 0);
printf("%d的每位的和:", no);
while(no > 0){
ns = no % 10;
no /= 10;
printf("%d\n", sum += ns);
}
}
c语言课下作业(第四次「选择结构」)
最新推荐文章于 2024-08-09 17:45:27 发布
这个程序实现了一个任务选择系统,用户可以输入1-5来选择执行不同的任务,包括找出三个数中的最大值和最小值、计算特定年份和月份的天数、执行算术表达式、统计字符输入的字母类型以及计算数字的各位之和。程序具有错误检查和用户交互功能,可反复执行任务。
摘要由CSDN通过智能技术生成