C语⾔经典算法100例(⼀)
从⽹上到很多C语⾔⼊门练习100题,本⼩⽩就决定来试试啦!
程序采⽤visual studio 2017,因为编程不熟练,就仅保证正确,不保证⾼效啦!
=======================================================================
【程序1】
题⽬:有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少?
1# include <stdio.h>
2# include <stdlib.h>
3
4int main()
5{
6 int i,j,k,m;
7 int s = 0;
8 int S, N;
9 int num[100][3] = {};
10
11 for (i = 1; i < 5; i++) {
12 for (j = 1; j < 5; j++) {
13 for (k = 1; k < 5; k++) {
14 num[s][0] = i;
15 num[s][1] = j;
16 num[s][2] = k;
17 s = s + 1;
18 }
19 }
20 }
21
22 S = s;
23 N = S;
24 for (m = 0; m < S; m++) {
25 if (num[m][0] == num[m][1] || num[m][0] == num[m][2] || num[m][1] == num[m][2]) {
26 num[m][0] = 0;
27 N = N - 1;
28 }
29 }
30
31 printf("There are %d numbers and they are\n", N);
32 for (m = 0; m < S; m++) {
33 if (num[m][0] != 0) {
34 printf("%d%d%d\n", num[m][0], num[m][1], num[m][2]);
35 }
36 }
37
38
39 system("pause");
40 return 0;
41}
=======================================================================
【程序2】
题⽬:企业发放的奖⾦根据利润提成。利润(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,求应发放奖⾦总数?
5{
6 double l, r;
7
8 scanf_s("%lf", &l);
9
10 l = l / 10000;
11
12 if (l <= 0.0) {
13 printf("Please input the right profit!");
14 }
15 else if(l > 0.0 & l <= 10.0){
16 r = l * 0.1;
17 }
18 else if (l > 10.0 & l <= 20.0) {
19 r = 10 * 0.1 + (l - 10) * 0.075;
20 }
21 else if (l > 20.0 & l <= 40.0) {
22 r = 10 * 0.1 + 10 * 0.075 + (l - 20) * 0.05;
23 }
24 else if(l > 40.0 & l <= 60.0){
25 r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (l - 40) * 0.03;
26 }
27 else if (l > 60.0 & l <= 100.0) {
28 r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 40 * 0.03 + (l - 60) * 0.015;
29 }
30 else {
31 r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 40 * 0.03 + 40 * 0.015 + (l - 100) * 0.01;
32 }
33
34 printf("Your reward is %.2f", r * 10000);
35
36 system("pause");
37 return;
38}
=======================================================================【程序3】
题⽬:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少?
5 int x, y;
6 int n;
7
8 for (x = 10; x < 1000; x++) {
9 for (y = 13; y < 1000; y++) {
10 n = 0;
11 while (n < 1000) {
12 if (n + 100 == x * x & n + 268 == y * y) {
13 printf("%d %d %d\n", x, y, n);
14 break;
15 }
16 else {
17 n = n + 1;
18 }
19 }
20 }
21 }
22
23 system("pause");
24 return;
25}
c语言游戏编程题经典100例=======================================================================【程序4】
题⽬:输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?
5{
6 int d, m, y;
7 int month[12] = {};
8 int n;
9 int i;
10
11 scanf_s("%d%d%d", &d, &m, &y);
12
13 n = d;
14 month[0] = month[2] = month[4] = month[6] = month[7] = month[9] = month[11] = 31;
15 month[1] = 29;
16 month[3] = month[5] = month[8] = month[10];
17
18 if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
19 for (i = 0; i < m - 1; i++) {
20 n = n + month[i];
21 }
22 }
23 else {
24 month[1] = 28;
25 for (i = 0; i < m - 1; i++) {
26 n = n + month[i];
27 }
28 }
29
30 printf("This day is the %d day of the year.", n);
31
32 system("pause");
33 return 0;
34}
=======================================================================【程序7】
题⽬:输出特殊图案,请在c环境中运⾏,看⼀看,Very Beautiful!
这是什么⿁题⽬!题⽬不完整啊!哼!
=======================================================================【程序8】
题⽬:输出9*9⼝诀。
5{
6 int i, j;
7
8 for (i = 1; i < 10; i++) {
9 for (j = 1; j <= i; j++) {
10 printf("%d x %d = %d ", i, j, i * j);
11 }
12 printf("\n");
13 }
14 system("pause");
15 return 0;
16}
=======================================================================【程序9】
题⽬:要求输出国际象棋棋盘。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论