1 #define _CRT_SECURE_NO_WARNINGS 1
2 #include <stdio.h>
3 #include <stdlib.h>
4 int main()
5 {
6 int i, v1 = 0, v2 = 0, v3 = 0;
7 for (i = 5; i < 15; i++)
8 {
9 switch (i % 3)
10 {
11 case 1:v1++;
12 case 2:v2++; break;
13 default:v3++;
14 }
15 }
16 printf("%d,%d,%d\n", v1, v2, v3);
17 system("pause");
18 return 0;
19 }
20
21 int a;
22 fun(int i)
23 {
24 a += 2 * i;
25 return a;
26 }
27 int main()
28 {
29 int a = 10;
30 printf("%d,%d\n", fun(a), a);
31 system("pause");
32 return 0;
33 }
34
35 //将$之前的字符逆置输出s
36 void rev()
37 {
38 char c;
39 c = getchar();
40 if (c == '$') printf("%c\n", c);
41 else {
42 rev();
43 printf("%c\n", c);
44 }
45 }
46 int main()
47 {
48 rev();
49 system("pause");
50 return 0;
51 }
52
53 int main()
54 {
55 int **pp, *p, a = 20, b = 30;
56 pp = &p; p = &a; p = &b;
57 printf("%d,%d\n", *p, **pp);
58 system("pause");
59 return 0;
60 }
61
62 int main()
63 {
64 union u_type
65 {
66 int i;
67 char ch[6];
68 long s;
69 };
70 struct st_type
71 {
72 union u_type u;
73 float score[3];
74 };
75 printf("%d\n", sizeof(struct st_type));
76 system("pause");
77 return 0;
78 }
79
80 int main()
81 {
82 int a = 1, b = 3, c;
83 c = (a += ++b, b += a);
84 printf("%d,%d,%d\n", a, b, c);
85 system("pause");
86 return 0;
87 }
88
89 int main()
90 {
91 int a, b, c;
92 printf("input three number:>");
93 scanf("%d %d %d", &a, &b, &c);
94 int max;
95 if (a > b)
96 {
97 max = a;
98 }
99 else {
100 max = b;
101 }if (max < c)
102 {
103 max = c;
104 }
105 printf("max is :%d\n", max);
106
107 system("pause");
108 return 0;
109 }
110
111 //1.判断输入的数据是否小于1000
112 // 小于1000->求平方根
113 // 不小于1000->重新提示输入
114 //2.得到平方根,打印输出整数部分
115 //printf("%.0lf", num);
116 #include <math.h>
117 int main()
118 {
119 double num;
120 printf("请输入一个正数:>");
121 scanf("%lf", &num);
122 if (num < 0 || num >= 1000)
123 {
124 printf("请输入一个0~999之间的正数:>");
125 scanf("%lf", &num);
126 }
127 double x = sqrt(num);
128 printf("%.0lf\n", x);
129 //printf("%.0lf\n", sqrt(num));
130 system("pause");
131 return 0;
132 }
133
134 //如果x<1 则y=x
135 //如果x>=1&&x<10 则y=2*x-1
136 //如果x>=10 则y=3*x-11
137 int main()
138 {
139 int x, y;
140 printf("请输入一个数字x = ");
141 scanf("%d", &x);
142 if (x < 1)
143 {
144 y = x;
145 }
146 else if (x >= 1 && x < 10)
147 {
148 y = 2 * x - 1;
149 }
150 if(x >= 10)
151 {
152 y = 3 * x - 11;
153 }
154 printf("y = %d\n", y);
155 system("pause");
156 return 0;
157 }
158
159 int main()
160 {
161 int x, y;
162 printf("enter x:>");
163 scanf("%d", &x);
164 y = -1;
165 if (x!=0)
166 if (x > 0)
167 y = 1;
168 else
169 y = 0;
170 printf("x=%d,y=%d\n", x, y);
171 system("pause");
172 return 0;
173 }
174
175 int main()
176 {
177 int x, y;
178 printf("enter x:>");
179 scanf("%d", &x);
180 y = 0;
181 if (x >= 0)
182 {
183 if (x > 0)
184 y = 1;
185 else y = -1;
186 }
187 printf("x=%d,y=%d\n", x, y);
188 system("pause");
189 return 0;
190 }
191
192 int main()
193 {
194 int x, y;
195 printf("enter x:>");
196 scanf("%d", &x);
197 y = 1;
198 if (x <= 0)
199 {
200 if (x < 0)
201 y = -1;
202 else
203 y = 0;
204 }
205 printf("x=%d,y=%d\n", x, y);
206 system("pause");
207 return 0;
208 }
209
210 //根据成绩所在区间,选择不同的分支语句,得到不同的成绩评级
211 //score >= 90 'A'
212 //score >= 80 && score <90 'B'
213 //score >= 70 && score <80 'C'
214 //score >= 60 && score <70 'D'
215 //score <60 'E'
216
217 int main()
218 {
219 float score;
220 char result;
221 printf("请输入成绩:>");
222 scanf("%d", &score);
223 if (score >= 90)
224 {
225 result = 'A';
226 }
227 else if (score >= 80 && score < 90)
228 {
229 result = 'B';
230 }
231 else if (score >= 70 && score < 80)
232 {
233 result = 'C';
234 }
235 else if (score >= 60 && score < 70)
236 {
237 result = 'D';
238 }
239 else
240 {
241 result = 'E';
242 }
243 printf("%c\n", result);
244 system("pause");
245 return 0;
246 }
247
248 //1.求一个整数有多少位
249 // 若数据大于99999或数据小于0则不满足要求,提示错误信息并退出
250 // 若数据大于等于10000,则是五位数
251 // 若数据大于等于1000,且小于10000,则是四位数
252 // 若数据大于等于100,且小于1000,则位三位数
253 // 若数据大于等于10,且小于100,则是二位数
254 // 若数据小于10,则是一位数
255 int main()
256 {
257 int num;
258 printf("请输入一个不大于5位的正整数:>");
259 scanf("%d", &num);
260 if (num<0 || num>99999)
261 {
262 printf("输入的数据不符合规则!\n");
263 return -1;
264 }
265 if (num >= 10000)
266 {
267 printf("这个数字是5位数!\n");
268 }
269 else if (num >= 1000 && num < 10000)
270 {
271 printf("这个数字是4位数!\n");
272 }
273 else if (num >= 100 && num < 1000)
274 {
275 printf("这个数字是3位数!\n");
276 }
277 else if (num >= 10 && num < 100)
278 {
279 printf("这个数字是2位数!\n");
280 }
281 else
282 {
283 printf("这个数字是1位数!\n");
284 }
285 printf("%d\n", num);
286 system("pause");
287 return 0;
288 }
289 //2.分别输出每一位数字
290 // num
291 // num/10000=第一位数字
292 // num%10000/1000=第二位数字
293 // num%1000/100=第三位数字
294 // num%100/10=第四位数字
295 // num%10=第五位数字
296 int main()
297 {
298 int num;
299 printf("请输入一个不大于5位的正整数:>");
300 scanf("%d", &num);
301 if (num<0 || num>99999)
302 {
303 printf("输入的数据不符合规则!\n");
304 return -1;
305 }
306 if (num > 10000)
307 {
308 printf("%d ", num / 10000);
309 }
310 if (num > 1000)
311 {
312 printf("%d ", num % 10000 / 1000);
313 }
314 if (num > 100)
315 {
316 printf("%d ", num % 1000 / 100);
317 }
318 if (num > 10)
319 {
320 printf("%d ", num % 100 / 10);
321 }
322 printf("%d \n", num % 10);
323 system("pause");
324 return 0;
325 }
326 //3.逆序输出每一位数字
327 //将第二个问题思想反过来构思
328 int main()
329 {
330 int num;
331 printf("请输入一个不大于5位的正整数:>");
332 scanf("%d", &num);
333 if (num<0 || num>99999)
334 {
335 printf("输入的数据不符合规则!\n");
336 return -1;
337 }
338 printf("%d ", num % 10);
339 if (num > 10)
340 {
341 printf("%d ", num % 100 / 10);
342 }
343 if (num > 100)
344 {
345 printf("%d ", num % 1000 / 100);
346 }
347 if (num > 1000)
348 {
349 printf("%d ", num % 10000 / 1000);
350 }
351
352 if (num > 10000)
353 {
354 printf("%d ", num / 10000);
355 }
356 printf("\n");
357 system("pause");
358 return 0;
359 }
360
361 //奖金=1*10%
362 //10w - 奖金=满额的10万奖金+超出(1+10000)*7.5%
363 //20w - 奖金 = 满额的20万奖金 + 超出(1 + 20000)*5 %
364 //40w - 奖金 = 满额的40万奖金 + 超出(1 + 40000) * 5 %
365 //60w - 奖金 = 满额的60万奖金 + 超出(1 + 60000) * 3 %
366 //100w - 奖金 = 满额的100万奖金 + 超出(1 + 100000) * 1 %
367 int main()
368 {
369 double salary1 = 100000 * 0.1;//10w
370 double salary2 = salary1 + 100000 * 0.075;//20w
371 double salary3 = salary2 + 200000 * 0.05;//40w
372 double salary4 = salary3 + 200000 * 0.03;//60w
373 double salary5 = salary4 + 400000 * 0.015;//100
374 double i, salary;
375 printf("请输入你所创造的利润:>");
376 scanf("%lf", &i);
377 if (i <= 100000)
378 {
379 salary = i*0.1;
380 }
381 else if (i > 100000 && i <= 200000)
382 {
383 salary = salary1 + (i - 100000)*0.075;
384 }
385 else if (i > 200000 && i <= 400000)
386 {
387 salary = salary2 + (i - 200000)*0.05;
388 }
389 else if (i > 400000 && i <= 600000)
390 {
391 salary = salary3 + (i - 200000)*0.03;
392 }
393 else if (i > 600000 && i <= 1000000)
394 {
395 salary = salary4 + (i - 200000)*0.015;
396 }
397 else {
398 salary = salary5 + (i + 1000000)*0.01;
399 }
400 printf("%0.2f\n", salary);
401 system("pause");
402 return 0;
403 }
404
405 //使用switch语句
406 // 将利润分为10个档次 10 20 30 40 50 60 70 80 90 100
407 // 使用利润除以10w得到利润等级
408 // int level=i/100000
409 int main()
410 {
411 double salary1 = 100000 * 0.1;//10w
412 double salary2 = salary1 + 100000 * 0.075;//20w
413 double salary3 = salary2 + 200000 * 0.05;//40w
414 double salary4 = salary3 + 200000 * 0.03;//60w
415 double salary5 = salary4 + 400000 * 0.015;//100
416 double i, salary;
417 int level = i / 100000;
418 printf("请输入你所创造的利润:>");
419 scanf("%lf", &i);
420 switch (level)
421 {
422 case 0:
423 salary = i*0.01;
424 break;
425 case 1:
426 salary = salary1 + (i - 100000)*0.075;
427 break;
428 case 2:
429 case 3:
430 salary = salary2 + (i - 200000)*0.05;
431 break;
432 case 4:
433 case 5:
434 salary = salary3 + (i - 200000)*0.03;
435 break;
436 case 6:
437 case 7:
438 case 8:
439 case 9:
440 salary = salary4 + (i - 200000)*0.015;
441 break;
442 default:
443 salary = salary5 + (i + 1000000)*0.01;
444 break;
445 }
446 printf("%0.2f\n", salary);
447 system("pause");
448 return 0;
449 }
450
451 //1.找出四个数中最大的数字
452 // a与b比较,如果a<b,数据交换,a中存放较大的数据,然后逐次a与c比较,a与d比较
453 // 最终a中存放最大的数字
454 //2.在b c d三个数字中找出最大的数字放到b
455 // b与c进行交换,然后再d进行比较交换
456 //3.在c d两个数字中找出较大的数字,放到c中
457 // c与d比较交换
458 //最后,a b c d四个数字就从小到大交换了
459 int main()
460 {
461 int a, b, c, d;
462 printf("请输入四个数字:>");
463 scanf("%d %d %d %d", &a, &b, &c, &d);
464 if (a < b)
465 {
466 int tmp = a; a = b; b = tmp;
467 }
468 if (a < c)
469 {
470 int tmp = a; a = c; c = tmp;
471 }
472 if (a < d)
473 {
474 int tmp = a; a = d; d = tmp;
475 }
476 if (b < c)
477 {
478 int tmp = b; b = c; c = tmp;
479 }
480 if (b < d)
481 {
482 int tmp = b; b = d; d = tmp;
483 }
484 if (c < d)
485 {
486 int tmp = c; c = d; c = tmp;
487 }
488 printf("%d %d %d %d\n", a, b, c, d);
489 system("pause");
490 return 0;
491 }
492
493 //1.若输入位置在塔的范围之内,则高度为10㎝,范围之外为0㎝
494 //2.若输入的位置相对于圆心的位置,则长度是否大于半径
495 // 长度大于半径,则在范围之外
496 // 长度小于等于半径,则在范围之内
497 //3.将四个塔化为一个塔的运算
498 // 将输入的位置坐标求取绝对值,进行计算
499 // 求取绝对值的接口 double fabs(double num)
500 // 求取平方根的接口 double sqrt(double num)
501 //1.获取键盘输入的x,y
502 //2.计算坐标值的绝对值 fx,fy
503 //3.计算坐标值距离圆心的长度
504 // 输入的坐标值的位置-圆心的坐标位置=相对于圆心的坐标
505 //4.求取两个位置的直线距离的长度
506 // 相对于圆心x距离的平方+相对于距离y的平方=1
507 //5.判断直线距离是否大于半径
508 #include <math.h>
509 int main()
510 {
511 float x, y;
512 printf("请输入坐标值x,y:>");
513 scanf("%f %f", &x, &y);
514 float fx = fabs(x);
515 float fy = fabs(y);
516 float lx = fx - 2;
517 float ly = fx - 2;
518 float len = sqrt((lx*lx + ly*ly));
519 if (len > 1)
520 {
521 printf("输入的位置的建筑物高度为0\n");
522 }
523 else{
524 printf("输入的位置的建筑物高度为10㎝\n");
525 }
526 system("pause");
527 return 0;
528 }