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

C 语言练习题、持续更新

文章目录

  • C语言练习题
    • 读懂每个练习题才是学好一门代码的重要经历
      • 目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)
        • 题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
        • 题目二://题目:企业发放的奖金根据利润提成。
        • 题目三:输入某年某月某日,判断这一天是这一年的第几天?

C语言练习题

读懂每个练习题才是学好一门代码的重要经历

目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)

题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。

int main(void)
{int i,j,k;for( i=1;i<5;i++){for( j=1;j<5;j++){for( k=1;k<5;k++){///关键:只要证明i j k 互不等于即可if(i!=j && i != k && j != k && k !=j){printf("%d,%d,%d,\n",i,j,k);}}}}return 0;
}

题目二://题目:企业发放的奖金根据利润提成。

//利润(I)低于或等于10万元时,奖金可提10%;
//利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
//20万到40万之间时,高于20万元的部分,可提成5%;
//40万到60万之间时高于40万元的部分,可提成3%;
//60万到100万之间时,高于60万元的部分,可提成1.5%;
//高于100万元时,超过100万元的部分按1%提成。
//从键盘输入当月利润I,求应发放奖金总数?
//程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型。

 ///输入的金额double i;double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;printf("你的净利润是:\n");///这个主要的分界bonus1 = 100000 * 0.10;bonus2 = bonus1 + (i-100000)*0.075;bonus4 = bonus2 + (i-200000)*0.05;bonus6 = bonus4 + (i-200000)*0.03;bonus10 = bonus6 + (i-400000)*0.01;printf("输入您的奖金\n");scanf("%lf",&i);if(i <= 100000){bonus = i * 0.1;}else if(i <= 200000){bonus = bonus1 + (i-100000) * 0.75;}else if(i<=400000){bonus  = bonus2 + (i - 200000)* 0.05;}else if(i<=600000){bonus = bonus4 + (i-400000) * 0.03;}else if (i<=1000000){bonus = bonus6 + (i - 600000) * 0.015;}else if(i>1000000){bonus =bonus10 + (i-1000000) * 0.01;}printf("你的提成是%lf\n",bonus);

题目三:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
难点:主要是如何判断闰年的方式、可以百度查询一下

int main(void)
{int year,month,day,leap,sum;printf("请输入年月日,格式(2015,12,10)\n");scanf("%d,%d,%d",&year,&month,&day);switch(month){case 1:sum = 0;break;case 2:sum = 31;break;case 3:sum = 59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum =181;break;case 8:sum = 212;break;case 9:sum = 243;break;case 10:sum = 273;break;case 11:sum = 304;break;case 12:sum = 334;break;default:printf("数据错误");break;}//主要功能、判断是否闰年 if(year % 400 == 0 ||(year % 4==0&&year % 100 !=0)){leap=1;}else{leap=0;}if(leap == 1 && month > 2){sum++;}printf("这是一年中的%d天\n",sum);return 0;
}
http://www.lryc.cn/news/112467.html

相关文章:

  • Android Q以上后台启动Activity初步尝试
  • 【torchlars】windows下载github中的torchlars包遇到的问题及解决方案
  • SolidUI社区-通用Prompt技巧
  • C++中类的封装写出一个文件加密的小项目
  • 【网络编程·传输层】UDP和TCP的报头
  • C语言编程技巧 全局变量在多个c文件中公用的方法
  • 【HDFS】NN处理全量块汇报时reportDiff的一些细节
  • JVM之类加载与字节码(一)
  • 【数据结构OJ题】合并两个有序数组
  • 数据结构笔记--归并排序及其拓展题(小和问题、逆序对问题)
  • flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能
  • python推理小游戏bagels
  • DBSCAN聚类
  • java+ssm美食推荐交流系统 7jsw7
  • 基于php雪花算法工具类Snowflake -来自chatGPT
  • 怎么加密文件夹才更安全?安全文件夹加密软件推荐
  • 知识分享和Tomcat简单部署press应用
  • 回归预测 | MATLAB实现SO-CNN-BiGRU蛇群算法优化卷积双向门控循环单元多输入单输出回归预测
  • 步入React前厅 - 组件和JSX
  • SpringBoot整合Sfl4j+logback的实践
  • IT 基础架构自动化
  • Docker入门——保姆级
  • MONGODB ---- Austindatabases 历年文章合集
  • 菠萝头 pinia和vuex对比 pinia比vuex更香 Pinia数据持久化及数据加密
  • 机器学习笔记 - 关于GPT-4的一些问题清单
  • sql 参数自动替换
  • Linux——设备树
  • 网络:从socket编程的角度说明UDP和TCP的关系,http和tcp的区别
  • 大数据技术之Hadoop:HDFS集群安装篇(三)
  • 移动开发最佳实践:为 Android 和 iOS 构建成功应用的策略