#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void houseworkOne();
int main(void)
{
#if 0
/**
* 任务一:
* 编程实现任意输入一个整数,判断是奇数还是偶数
*/
int i;
printf("请输入任意一个整数:");scanf("%d", &i);
if((i % 2) == 0){
putchar('\n');
printf("您输入的数为偶数");
}else{
putchar('\n');
printf("您输入的数为奇数");
}
/**
* 任务二:
* 编程实现求任意输入的三个整数的最大数
*/
//方法一
int m,n,o;
printf("请输入第一个整数:");scanf("%d", &m);
printf("请输入第二个整数:");scanf("%d", &n);
printf("请输入第三个整数:");scanf("%d", &o);
if(m >= n && m >= o){
putchar('\n');
printf("m为最大值");
}else if(n >= o){
putchar('\n');
printf("n为最大值");
}else{
putchar('\n');
printf("o为最大值");
}
//方法二
int n1, n2, n3, max;
printf("请输入n1: "); scanf("%d", &n1);
printf("请输入n2: "); scanf("%d", &n2);
printf("请输入n3: "); scanf("%d", &n3);
max = n1;
printf("最大值为%d", (n2 > max) ? max = n2 : (n3 > max) ? n3 : 1);
/**
* 任务三:
* 1. 自行车每辆350元,网球拍每辆270元
* 2. 周一到周五网球拍 九五折 销售
* 周六,周日自行车按 九折, 网球拍按 八五折销售
* 3. 根据输入的星期数,计算自行车和网球拍的实际销售金额
*/
#define CAR 350.0 //自行车的金额
#define BALL 270.0 //网球拍的金额
int today;
printf("输入星期数【请输入1-7的整数]:");scanf("%d", &today);
if(today >= 1 && today <= 5){
printf("当前网球拍的价格:%.2f -- 当前自行车的价格:%.2f", (BALL * 0.95), CAR);
putchar('\n');
}else if(today == 6 || today == 7){
printf("当前网球拍的价格:%.2f -- 当前自行车的价格:%.2f", (BALL * 0.90), (CAR * 0.85));
putchar('\n');
}else{
printf("输入不符合规范,请重新输入1-7的整数");
putchar('\n');
}
/**
* 任务四:猜数游戏
* 1. 随机产生6位正整数
* 2. 对应位置数字全猜对获得一等奖
* 猜对5个或4个获得二等奖
* 猜对3个或2个获得三等奖
* 猜对1个获得鼓励奖
*/
#define MAXSIZE 6
int k,j,r,c,nc; //r代表随机数,q代表输入的数字
int a[MAXSIZE], b[MAXSIZE];
srand((unsigned)time(NULL)); /*设定当前时间为随机种子*/
r=rand()%900000+100000; /*随机产生一个6位正整数*/
b[0] = r / 100000;b[1] = r / 10000 % 10;b[2] = r /1000 % 100;b[3] = r / 100 % 1000;b[4] =r / 10 % 10000;b[5] = r / 1 % 100000; /*把随机生成的数放到6个数分别放到数组中*/
printf("请输入一个6位正整数:");
j = 0;
nc = 0; //nc代表输入的数与随机数有多少个相同
while((c = getchar()) != EOF){
if(c >= '0' && c <= '9'){
a[j] = c;
if(a[j] == b[j]){
++nc;
}
++j;
if(j == 6){
printf("相同的数有%d位", nc);
}
}else{
putchar('\n');
printf("请输入六位正整数");
putchar('\n');
}
}
/**
* 任务五:编程实现输入年份和月份,输出该年份和月份的天数
*/
int year, month;
printf("请输入年份和月份");
scanf("%d,%d", &year, &month);
if(year > 999 && month <= 12 && month >= 1){
if((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
{
printf("该年是闰年!");
if(month == 2)
printf("该月有28天");
else if(month != 4 || month != 6 || month != 9 || month != 11)
printf("该月有30天");
else
printf("该月有30天");
}else{ //这种管2行以上的就要打{}
printf("不是闰年!"); //你这个地方错的原因是因为一个括号域的问题
if(month == 2)
printf("该月有29天");//像这种一个if管一行的就不用打{}
else if(month != 4 || month != 6 || month != 9 || month != 11)
printf("该月有30天");
else
printf("该月有31天");
}
}else{
printf("输入错误!\n");
}
#endif
int no, retry;
do
{
printf("请选择你要执行的任务[按回车结束]:");
scanf("%d", &no);
switch (no)
{
case 1:
houseworkOne();
break;
default:
break;
}
//选择是否再次运行
printf("是否继续选择任务执行[yes --> 0], [no --> 9]");
scanf("%d", &retry);
} while (retry == 0);
}
void houseworkOne(){
int no, nc;
nc = 0;
do{
printf("请输入一个正整数:");scanf("%d", &no);
if(no <= 0){
puts("\a请不要输入非正整数");
}
}while(no <= 0);
printf("%d的位数有:", no);
while(no > 0){
no /= 10;
++nc;
}
printf("%d位.", nc);
}
C语言课下作业(第三次「if else」)
这篇博客包含多个C语言编程实践任务,包括输入整数判断奇偶性、找出三个整数中的最大值、计算不同折扣的商品价格、实现猜数游戏以及根据输入的年份和月份确定天数。通过这些实例,读者可以提升C语言编程能力并理解基本的逻辑判断和数学运算。
摘要由CSDN通过智能技术生成