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 }