• 整数翻转,99乘法表,百钱买百鸡


     1 #include <stdio.h>
     2 /*
     3 循环练习题
     4 */
     5 int main(void)
     6 {
     7 /*
     8 //题目1:打印99乘法表
     9 //思路:观察乘法表:1.每行打印的列数等于行号(例如:第一行,1列,第二行2列)  所以内循环的终止条件:j<=i;
    10 //                 2.起始位置:i =1 ,j = 1;
    11 //      总结:外层循环决定起始位置,内层循环决定打印方向。
    12 
    13     int i,j;
    14 
    15     for(i = 1;i<10;i++)
    16     {
    17         for(j = 1;j<=i;j++)
    18         {
    19             printf("%d*%d = %d ",j,i,i*j);
    20         }
    21         putchar(10);
    22     }
    23 */
    24 
    25 
    26 //题目2:分别用 while 和 do while 实现将输入的整数翻转输出。 比如,输出 12345,输出 54321。
    27 //        思路:首先整数必须为正数,即没有符号。其次:取出个位打印,然后去掉个位.循环后再次取出个位打印。直至为0退出循环。
    28 
    29 
    30 /*
    31 //方法一:用while + goto实现
    32     int val,r_digit;
    33     val = 0;
    34     printf("请输入正整数,退出输入q:
    ");
    35 gogogo:    while(scanf("%d",&val) == 1&& val>0)
    36         {
    37             while(val)
    38             {
    39                 r_digit = val%10;
    40                 printf("%d",r_digit);
    41                 val /=10;
    42             }
    43             putchar(10);
    44             printf("请输入正整数,退出输入q:
    ");
    45         }
    46         getchar();//接收scanf读取失败的一个字符。
    47         if(val<0)
    48         {
    49             printf("请输入正整数
    ");
    50             goto gogogo;
    51         }
    52 */
    53 /*
    54 //方法二:用 do while +goto 实现
    55     int val,r_digit;
    56     val = 0;
    57     printf("请输入正整数,退出输入q:
    ");
    58 gogogo:    while(scanf("%d",&val) == 1&& val>0)
    59         {
    60             do
    61             {
    62                 r_digit = val%10;
    63                 printf("%d",r_digit);
    64                 val /=10;    
    65             }while(val);
    66             putchar(10);
    67             printf("请输入正整数,退出输入q:
    ");
    68         }
    69         getchar();//接收scanf读取失败的一个字符。
    70         if(val<0)
    71         {
    72             printf("请输入正整数
    ");
    73             goto gogogo;
    74         }
    75 */
    76 
    77 /*
    78 //第三题:百钱买百鸡的问题:        中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:
    79 //          鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
    80 //思路: i,j,k 分别代表鸡翁,鸡母,鸡雏。  
    81 //        1.如果买最少 鸡雏最少买三只,其他都可以买一只 
    82 //        2.如果买最多 全部买鸡翁 可买20只。全部买鸡母能买33只,余1钱。全部买而鸡雏最多可买100只(限制只能买百鸡)
    83 //        3.确定好鸡翁和鸡母那么鸡雏的数量就确定了。所以有:k = 100-(i+j);
    84 //        4.以上分析有等式 : 5*i+3*j+i/3 = 100(一共花100钱),i+j+k = 100(一共买100只鸡),k%3 == 0(鸡雏最少买三只)  这3个条件同时满足就是要的结果。
    85     int i,j,k;
    86     for(i = 0;i<=20;i++)
    87     {
    88         for(j = 0;j<=33;j++)
    89         {
    90             k = 100 -(i+j);
    91             if(k%3 == 0 && 5*i+3*j+k/3 == 100&&i+j+k ==100)
    92                 printf("%d,%d,%d
    ",i,j,k);
    93         }
    94     }
    95 */                
    96     return 0;
    97 }
  • 相关阅读:
    进阶之路 | 奇妙的Drawable之旅
    进阶之路 | 奇妙的Animation之旅
    进阶之路 | 奇妙的四大组件之旅
    Laravel
    Laravel 入门
    面试:给我说说你平时是如何优化MySQL的?
    EXPLAIN 查看 SQL 执行计划
    常见的图文布局
    常见的图文布局
    CSS3 的 filter(滤镜) 属性
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9590284.html
Copyright © 2020-2023  润新知