当前位置: 首页 > news >正文

C语言基础题(大合集2)

1. 时间转换

给定秒数 --> 输出秒数   转化成 时/分/秒

//时间转换
//给定秒数 --> 转换成 小时/分/秒
int main()
{//输入int seconds = 0;int h = 0;//小时int m = 0;//分钟int s = 0;//秒scanf("%d", &seconds);//计算h = seconds / 60 / 60;m = seconds / 60 % 60;s = seconds % 60;//输出printf("%d %d %d", h, m, s);return 0;
}

 2.输入成绩/计算总成绩

//总成绩和平均分计算
//法一
int main()
{//输入double score[3] = { 0 };//三科成绩scanf("%lf %lf %lf", &score[0], &score[1], &score[2]);//计算double sum = score[0] + score[1] + score[2];double avg = sum / 3.0;//输出printf("%.2lf %.2lf\n", sum, avg);return 0;
}//法二
int main()
{//输入计算int i = 0;double score = 0.0;double sum = 0.0;for (i = 0; i < 3; i++){scanf("%lf", &score);sum += score;}printf("%.2lf %.2lf\n", sum, sum / 3);return 0;
}

3.kiki 喝酸奶

一箱酸奶有 n 盒未打开,kiki 每h分钟可以喝光一盒酸奶,并且在一盒酸奶喝完之前不会再喝另外一盒那么经过 m 分钟后,还有多少盒未打开酸奶?(m<=n*h) 

  • 情况一 : 刚好喝完一瓶                                           (n-m/h)
  • 情况二 : 还没喝完一瓶 , 但是已经打开了               (n-m/h-1)
  • 要求:可以多组输入 ---> 对于多组输入 , 考虑 scanf 函数的返回值 ! 
int main()
{int n = 0;int h = 0;int m = 0;while (scanf("%d %d %d", &n, &h, &m) != EOF){if (m % h){printf("%d\n", n - m / h - 1);}else{printf("%d\n", n - m / h);}}printf("\n");return 0;
}

 4.进制A+B

输入一个十六进制a,和一个八进制数b,输出a+b的十进制结果

int main()
{int a = 0;int b = 0;scanf("%x %o", &a, &b);printf("%d\n", a + b);return 0;
}
  • 16进制,8进制只是数据的表示形式,实际上都是整数
  • 16进制是以 0x 开头  %x
  • 8进制是以 0 开头的  %o 

5.网购

双11,衣服打7折;双十二,衣服打8折;如果有优惠劵可以额外减50元(仅可以在双11或双12使用),求kiki最终花钱数 ;

输入描述 : 看中衣服价格   当天月份  当天日期  是否有优惠劵(有 -> 1 ,无 -> 0)

注意 : 不要指望商家到找你钱  

int main()
{double price = 0.0;int month = 0;int day = 0;int flag = 0;//是否有优惠劵double cut = 1.0;double last = 0.0;//输入scanf("%lf %d %d %d", &price, &month, &day, &flag);if (month == 11 && day == 11){cut = 0.7;if (flag == 1){last = price*cut - 50;}else{last = price * cut;}}else if (month == 12 && day == 12){cut = 0.8;if (flag == 1){last = price * cut - 50;}else{last = price * cut;}}else{last = price;}if (last < 0.0){printf("%.2lf\n", 0.0);}else{printf("%.2lf\n", last);}return 0;
}//简化int main()
{double price = 0.0;int month = 0;int day = 0;int flag = 0;double cut = 1.0;double last = 0.0;scanf("%lf %d %d %d", &price, &month, &day, &flag);if (month == 11 && day == 11){cut = 0.7;flag = 1;}if (month == 12 && day == 12){cut = 0.8;flag = 1;}last = price * cut - flag * 50;if (last < 0.0){printf("%.2lf", 0.0);}else{printf("%.2lf", last);}return 0;
}

6.争夺前 5 名

输入一个数值 n ( n<=40)  :  表示输入的学生成绩的个数

--->  输入学生成绩

--->  输出最高的前五个成绩 

//争夺前5名
int main()
{//输入int n = 0;//个数int arr[40] = { 0 };//成绩scanf("%d", &n);int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}//找出前五名 -- 排序 -- 冒泡排序 -- 升序 -- 后5个元素//趟数for (i = 0; i < n - 1; i++){//一趟冒泡排序需要进行 多少对 的元素比较for (int j = 0; j < n - 1 - i; j++){if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}for (i = n - 1; i > n - 6; i--){printf("%d ", arr[i]);}return 0;
}


http://www.mrgr.cn/news/59950.html

相关文章:

  • Vue应用中使用xlsx库实现Excel文件导出的完整指南
  • 小小猫棒onu替换家用光猫,薅运营商带宽羊毛,突破1000M
  • C++从入门到起飞之——红黑树封装map和set 全方位剖析!
  • 2024年9月gesp三级 做题记录
  • 算法刷题基础知识总结
  • leetcode 498.对角线遍历
  • 重学SpringBoot3-Spring WebFlux之SSE服务器发送事件
  • Rust中常用的命令工具
  • 存储期类别
  • Autosar 启动过程-基于ETAS工具
  • StringBuilder——练习
  • Java | ReentrantLock 锁和 synchronized 锁的区别和共同特点是什么?
  • redis详细教程(2.List教程)
  • IllegalMonitorStateException:Illegal Monitor Operation 完美解决方法 ⚙️
  • Vue2 关于指令
  • 面向对象编程中类与类之间的关系(一)
  • git的学习之远程进行操作
  • 我的世界方块改进版
  • 排序算法(冒泡,插入),希尔排序(插入升级),希尔排序和插入排序时间比较!
  • JDBC: Java数据库连接的桥梁
  • ❤️算法笔记❤️-(每日一刷-5、最长回文串)
  • Kubernetes: Pod has unbound PersistentVolumeClaims
  • 土豆去皮机的结构设计(开题报告1)
  • 什么是AI神经网络?
  • 设计模式(三)
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-21