C第一课
Posted zrsafd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C第一课相关的知识,希望对你有一定的参考价值。
【_(:з)∠)_咸_(:з)∠)_鱼_(:з)∠)_本_(:з)∠)_鱼_(:з)∠)】
【知识梳理】
【典例分析】
【第一题】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
思路:动用高中的数学知识可知这是一个可以口答排列问题P(3;4)=4×3×2=24。
那么从排列的原理考虑,我们的程序实现思路大致是:
①4挑一放在第一位
②剩下的3挑一放在第二位
③剩下的2挑一放在第三位
要实现以上步骤,需要一个遍历所有三位数和筛选出无重复三位数的过程。
我们可以用循环语句来实现遍历,用判断语句来实现筛选。
#include <stdio.h> int main() { int i = 0; int a = 1; int b = 1; int c = 1; for (a = 1; a <= 4; a++) { for (b = 1; b <= 4; b++) { for (c = 1; c <= 4; c++) { if (a != b && b != c && a != c) { i++; printf("第 %d 个三位数 = %d%d%d ", i, a, b, c); } } } } printf(" 共有 %d 个三位数 ",i); system("pause"); 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,求应发放奖金总数?
思路:这道题是典型的分情况讨论问题。
我们理所当然的想到了利用判断语句来实现我们的目的。
#include <stdio.h> int main() { //录入数据 float I; printf("请输入当月利润:"); scanf_s("%f", &I); //基础提成 float Commission10 = 100000 * 0.1; float Commission20 = Commission10 + 100000 * 0.075; float Commission40 = Commission20 + 200000 * 0.05; float Commission60 = Commission40 + 200000 * 0.03; float Commission100 = Commission60 + 400000 * 0.015; //进行判断得到总提成 float Commission; if (I < 100000) { Commission = I * 0.1; } else if (I < 200000) { Commission = Commission10 + I * 0.075; } else if (I < 400000) { Commission = Commission20 + I * 0.05; } else if (I < 600000) { Commission = Commission40 + I * 0.03; } else if (I < 1000000) { Commission = Commission60 + I * 0.015; } else { Commission = Commission100 + I * 0.01; } printf("你本月的提成是:%f ", Commission); system("pause"); return 0; }
运行结果:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
今天有晚课,吃掉了我2个小时,后面会找机会把剩下四道补齐
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
【第三题】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
思路:这道题
#include <stdio.h> int main() { //数据初始化 int i = 0; int j = 0; int x = 0; int delta = 0; //寻找差为168的平方数 for (i = 1; i < 100; i++) { for (j = i + 1; delta < 168; j++) { delta = (j * j - i * i); } if (delta == 168) { break; } } x = i*i - 100; printf("这个数是%d ",x); system("pause"); return 0; }
运行结果:
【第四题】
题目:一
思路:这道题
运行结果:
【第五题】
题目:一
思路:这道题
运行结果:
【第六题】
题目:一
思路:这道题
运行结果:
以上是关于C第一课的主要内容,如果未能解决你的问题,请参考以下文章