C语言程序设计:现代设计方法习题笔记《chapter5》上篇 ...

打印 上一主题 下一主题

主题 636|帖子 636|积分 1908

第一题

        

题目分析:程序判断一个数的位数可以通过循环除以10求余,通过盘算第一次与10求余为0的次数盘算位数,由此可得示例1代码,另一种思路根据提示,可得示例2代码。
代码示例1:
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         printf("Enter a number: ");
  5.         int number,temp;
  6.         scanf_s("%d", &number);
  7.         temp = number;
  8.         int digit = 0;
  9.         while (temp % 10 != 0)
  10.         {
  11.                 digit += 1;
  12.                 temp = temp / 10;
  13.         };
  14.         printf("The number %d has %d digits", number, digit);
  15.         return 0;
  16. }
复制代码
输出:
                        ​​​​​​​        ​​​​​​​        

代码示例2:
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         /*printf("Enter a number: ");
  5.         int number,temp;
  6.         scanf_s("%d", &number);
  7.         temp = number;
  8.         int digit = 0;
  9.         while (temp % 10 != 0)
  10.         {
  11.                 digit += 1;
  12.                 temp = temp / 10;
  13.         };
  14.         printf("The number %d has %d digits", number, digit);
  15.         return 0;*/
  16.         int number;
  17.         printf("Enter a number: ");
  18.         scanf_s("%d", &number);
  19.         if (number >= 0 && number <= 9)
  20.         {
  21.                 printf("The number %d has 1 digits", number);
  22.         }
  23.         else if (number >= 10 && number <= 99)
  24.         {
  25.                 printf("The number %d has 2 digits", number);
  26.         }
  27.         else if (number >= 100 && number <= 999)
  28.         {
  29.                 printf("The number %d has 3 digits", number);
  30.         }
  31.         else if (number >= 1000 && number <= 9999)
  32.         {
  33.                 printf("The number %d has 4 digits", number);
  34.         }
  35.         else
  36.         {
  37.                 printf("The number %d 输入位数多于4位", number);
  38.         }
  39.                 return 0;
  40. }
复制代码
 输出
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第二题

        

题目分析:输入24进制小时制的时间,显示12小时的格式如果大于12时,减去12即可,如果小于12,原样显示,由此给出如下代码。
示例代码
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         printf("Enter a 24-hour time: ");
  5.         int h, m;
  6.         scanf_s("%d:%d", &h, &m);
  7.         if (h>24)
  8.         {
  9.                 printf("输入数据%d:%d不符合要求", h, m);
  10.         }
  11.         else if (h>12&&h<24)
  12.         {
  13.                 printf("Equivalent 12-hour time: %d:%d PM", h - 12, m);
  14.         }
  15.         else if (h<0)
  16.         {
  17.                 printf("输入数据%d:%d不符合要求", h, m);
  18.         }
  19.         else if (h==24)
  20.         {
  21.                 printf("Equivalent 12-hour time: %d:%d AM", h - 24, m);
  22.         }
  23.         else
  24.         {
  25.                 printf("Equivalent 12-hour time: %d:%d AM", h, m);
  26.         }
  27.         return 0;
  28. }
复制代码
 输出
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第三题

        

题目分析:这个题我的理解是基础33美元,然后每股加3美分或者2美分,将美分换算成美元进行盘算,得到下列代码。
示例代码
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         float commission, value, per_price;
  5.         int num;
  6.         printf("Enter value of trade: ");
  7.         scanf_s("%f%d", &per_price, &num);
  8.         value = per_price * num;
  9.         if (value<2500.00f)
  10.         {
  11.                 commission = 30.00f + .017f * value;
  12.         }
  13.         else if (value<6250.00f)
  14.         {
  15.                 commission = 56.00f + .0066f * value;
  16.         }
  17.         else if (value<20000.00f)
  18.         {
  19.                 commission = 76.00f + .0034f * value;
  20.         }
  21.         else if (value<50000.00f)
  22.         {
  23.                 commission = 100.00f + .0022f * value;
  24.         }
  25.         else if (value<500000.00f)
  26.         {
  27.                 commission = 155.00f + .0011f * value;
  28.         }
  29.         else
  30.         {
  31.                 commission = 255.00f + .0009f * value;
  32.         }
  33.         if (commission<39.00f)
  34.         {
  35.                 commission = 39.00f;
  36.         }
  37.         printf("Commission: $%.2f\n", commission);
  38.         //竞争对手
  39.         float j_money;
  40.         if (num < 20000)
  41.         {
  42.                 j_money = 33.00f + 3.00f*num/100.00f;
  43.         }
  44.         else
  45.         {
  46.                 j_money = 33.00f + 2.00f*num/100.00f;
  47.         }
  48.         printf("j_money: $%.2f\n", j_money);
  49.         return 0;
  50. }
复制代码
输出
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第四题

 


题目分析:简朴的数值范围判断题目
示例代码
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         float wind_speed;
  5.         printf("Eter the wind speed: ");
  6.         scanf_s("%f", &wind_speed);
  7.         if (wind_speed<1)
  8.         {
  9.                 printf("Calm(无风)");
  10.         }
  11.         else if (wind_speed>=1&&wind_speed<=3)
  12.         {
  13.                 printf("Light air(轻风)");
  14.         }
  15.         else if (wind_speed>=4&&wind_speed<=27)
  16.         {
  17.                 printf("Breeze(微风)");
  18.         }
  19.         else if (wind_speed>=28&&wind_speed<=47)
  20.         {
  21.                 printf("Gale(大风)");
  22.         }
  23.         else if (wind_speed>=48&&wind_speed<=63)
  24.         {
  25.                 printf("Strom(暴风)");
  26.         }
  27.         else if (wind_speed > 63)
  28.         {
  29.                 printf("Hurricane(飓风)");
  30.         }
  31.         return 0;
  32. }
复制代码
 输出
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第五题

 


 题目分析:这个题紧张是注意有印刷错误。
示例代码
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         printf("输入收入:");
  5.         float salary, tax;
  6.         scanf_s("%f", &salary);
  7.         if (salary<=750)
  8.         {
  9.                 tax = salary * .01;
  10.         }
  11.         else if (salary<=2250)
  12.         {
  13.                 tax = 7.5 + (salary - 750) * .02;
  14.         }
  15.         else if (salary<=3750)
  16.         {
  17.                 tax = 37.5 + (salary - 2250) * .03;
  18.         }
  19.         else if (salary<=5250)
  20.         {
  21.                 tax = 82.50 + (salary - 3750) * .04;
  22.         }
  23.         else if (salary<=7000)
  24.         {
  25.                 tax = 142.50 + (salary - 5250) * .05;
  26.         }
  27.         else
  28.         {
  29.                 tax = 230.00 + (salary - 7000) * .06;
  30.         }
  31.         printf("应该交税$%.2f", tax);
  32.         return 0;
  33. }
复制代码
输出
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表