[ _(: З ) ∠ )_塩味_(: з ) ∠ )_魚_(: з ) ∠ )_この_(: з ) ∠ )_魚_(: з ) ∠ ) ]
知識の[]並び
[例]解析コード
[最初の質問]
タイトル: 1,2,3,4の数字、3桁の数字の無い繰り返しと他の数を構成することができますか?どのくらいありますか?
アイデア:(3; 4)高校数学の使用は、これはパーミュテーション問題Pがポートであることが分かる= 4 ×3×2 = 24。
まあ、契約対価の原則から、我々はプログラムのアイデアはおおよそです実現します。
最優先を選ぶ①4
②3の残りは2位を選びます
③第三の上に2ピック残り
上記の手順を実現するには、繰り返し3桁せずにすべての3桁の数字とスクリーニングプロセスを通過する必要があります。
私たちは、スクリーニングを実施する判決文で、トラバースを達成するためにループを使用することができます。
#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("第\t%d\t个三位数\t=\t%d%d%d\n", i, a, b, c); } } } } printf("\n共有\t%d\t个三位数\n\n",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\n\n", 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\n\n",x); system("pause"); return 0; }
运行结果:
【第四题】
题目:一
思路:这道题
运行结果:
【第五题】
题目:一
思路:这道题
运行结果:
【第六题】
题目:一
思路:这道题
运行结果: