demo_3_14

  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 }

 

posted @ 2022-03-14 21:18  小团熙  阅读(105)  评论(0)    收藏  举报