zoukankan      html  css  js  c++  java
  • 为备考二级C语言做的代码练习---辅导资料《C语言经典编程282例》--(1)

    因为二级考试的时候用的C语言编译器是VC++6.0 真是日了狗了 用这个编译器 这是我第2个C编译器吧,第一个用的是啊哈C编译器..第二个是VS++6.0 然后在win下用VS2013感觉挺不错的 毕竟是做大开发的软件 代码补全,和格式,字体,还可以换代码的背景,各种功能,就是对新手来说,你用scanf它不让你用,让你用scanf_s,因为它觉得这样比较安全,避免一些XX溢出云云的,还有gets要写成gets_s() 之类的,我在想要是我一直用VS2013 那考试的时候写的代码也是这种格式的...我肯定VS6.0会报错,然后我还要找错,这就耽搁了考试的宝贵时间了!,所以我决定这本书的编译器就用VC++6.0了,感觉和用vim差不多...单看代码补全这快的话... 考完二级C..我肯定能考过!!!(士可鼓不可泄)然后就让VC++6.0 bye bye了

    2015年11月29日04:52:00代码练习开始~~~啦

     1 //3个数字从小到大排序 我还是不太清楚怎么排序的 老晕 大概明白了 我也背会了!
      #include<stdio.h> 2 int main () 3 { 4 int a,b,c,t; 5 printf("Please input a,b,c; "); 6 scanf("%d %d %d",&a,&b,&c); 7 8 if(a>b) 9 { //a b值通过t互换 10 t=a; 11 a=b; 12 b=t; 13 } 14 if(a>c) 15 {//a c 值通过t互换 经过a和b和c比较后 a若为最大值就放在最后面 16 t=a; 17 a=c; 18 c=t; 19 } 20 21 if(b>c) 22 { //b和c再比较 最大值放在后面 23 t=b; 24 b=c; 25 c=t; 26 } 27 printf("The order of the number is: "); 28 printf("%d %d %d ",a,b,c); 29 return 0; 30 }

      

    //猴子吃桃问题
    #include<stdio.h> int main () { int day,x1,x2; day=9; //记录天数的变量 x2=1; //第10天桃子数量 while(day>0)//9 8 7 6 5 4 3 2 1 { x1=(x2+1)*2;//1.猴子吃桃数+1得到原本的一半数量 2.然后X2得到原本数量 也就是前一天桃子所剩下的数量 猴子是先吃1半再吃1个 ------>>>>我们逆着算就要先+1算出他吃一半的数量 然后x2得到它吃的数量 我他妈终于弄明白了! x2=x1; day--; } printf("the total is %d ",x1); return 0; }
    /* 我自己写的一句printf用来打印桃子天数和桃子数量的值 不过这句代码没贴在上面

    第9天桃子数量为4
    第8天桃子数量为10
    第7天桃子数量为22
    第6天桃子数量为46
    第5天桃子数量为94
    第4天桃子数量为190
    第3天桃子数量为382
    第2天桃子数量为766
    第1天桃子数量为1534
    Press any key to continue

    */
    //涛涛买苹果..涛涛每天买苹果 每个苹果0.8元 涛涛第一天买2个 第二天开始买前一天的2倍 直到购买苹果个数不超过100的最大值 <100
    //n为个数变量 每过一天(day++) n*2 每天x2 买苹果的数量为2 4 8 16 32 64 128 我又加了一个输出涛涛苹果数量的程序
    #include<stdio.h> int main () { int n=2,day=0; //第一天个数 和天数 float money=0,ave; while(n<100) { money=money+0.8*n; day++; n*=2; //n每次x2 } ave=money/day;
      printf("我是个傻逼我天天买苹果..我是涛涛 我买了%d个苹果",n/2);//因为n退出循环后 是因为n>或者是=100 是因为多X了一次2 所以要/2才能得到涛涛买苹果的数量 printf(
    "The result is %.6f",ave); return 0; } //我是个傻逼我天天买苹果..我是涛涛 我买了64个苹果 //The result is 16.799999
    /*
    买的苹果数量为64 共花了100.80元钱,平均每天花了14.40元钱

    苹果数=2 money=1.600000 天数=1
    苹果数=4 money=4.800000 天数=2
    苹果数=8 money=11.200000 天数=3
    苹果数=16 money=24.000000 天数=4
    苹果数=32 money=49.599998 天数=5
    苹果数=64 money=100.799995 天数=6
    买的苹果数量为64 共花了100.799995元钱,平均每天花了14.399999元钱 


    */

    2015年11月30日04:07:10 接着练了!!!每天练几道!

     1 #include<stdio.h>
     2 /*
     3 求一个整数任意次方后的最后三位数字
     4 
     5 */
     6 
     7 int main ()
     8 {
     9     int i,x,y,z=1;
    10     printf("请输入两个数,x和y(y是x的幂):
    ");
    11     scanf("%d %d",&x,&y);
    12     for(i=1;i<=y;i++)
    13     {
    14         z=z*x%1000;
    15             if(z>=100)
    16             {
    17                 printf("%d%d的最后三位数是:%d",x,y,z);
    18             }
    19             else 
    20             {
    21                 printf("%d%d的最后三位数是:%d",x,y,z);
    22             }
    23     }
    24 
    25     return 0;
    26 }
    27 /*
    28 算法分析:
    29 y为x的幂 z用来保存这个整数任意次方后的最后三位数字
    30 试数字
    31 1234的2次方为 1 522 756
    32 1》    x=1234 y=2
    33     i=1 i<=2
    34     z=z*1234%1000=234
    35     z>100
    36     i++=2
    37     
    38  2》z=234*1234%1000=756
    39 
    40 疑惑:
    41 为什么要判断z的值是否大于或者等于100呢?
    42 还有为什么这个数的最后三位数x这个数的结果的最后三位数 就是这个数平方积的最后三位数了 这是一个公式吗?
    43                       234 * 1234 % 1000
    44 */

    根据上面代码的功能的一次改进,因为都是求一个数的任何幂的最后三位数,上面的代码我愣是没看懂..不过以后会看懂的,多练,怕啥.又不是啥国际性数学难题,世界上解出来的没有几个人。我自己写的这个代码如下

    注意:编译器用的VS2013 注意scanf_s 要是其他编译器上跑的话 要改成scanf 因为实在受不了VC++6.0的环境..感觉不舒服 就暂时用下VS2013~~

     1 /*
     2 这个是我自己写的也是求任意次方的最后三位数
     3 1.求出这个任意次方后的结果
     4 2.判断这个数有多少位 3位数的话就输出这个数字 小于3位数就提示输出的数次方的位数小于3位数是x位数
     5 3.大于3位数的话 就输出这个数的最后三位数
     6 */
     7 #include<stdio.h>
     8 #include<Windows.h>
     9 int main()
    10 {
    11     //求一个数字任意次方后的最后三位数字
    12     int n, y,i,m=1;//y为n的幂 i为循环变量 m保存次方后的结果变量
    13     int result;//存放结果变量
    14     int dight = 0;//存放位数的变量
    15     int m_temp;//用来求位数的时候使用
    16     printf("请输入n的值以及n的幂:
    ");
    17     scanf_s("%d %d",&n,&y);
    18 
    19     //3 3
    20     for (i = 1; i <=y; i++) //1 2 
    21     {
    22         //本循环用来计算这个数次方后的结果
    23         m = m*n;
    24     }
    25     m_temp = m;
    26     //判断这个数有多少位数的for循环
    27 
    28     while (m_temp != 0)//m=224
    29     {
    30         m_temp= m_temp / 10;//22 |2 0 
    31         dight++;//1 |2 |3
    32     }
    33     
    34 
    35     if (dight < 3)
    36     {
    37         printf("本程序用来计算一个数的任何次方的末尾的三个数字,而通过计算,您输入的这个数字次方的结果小于3位数 它只有:%d位数
    ", dight);
    38     }
    39     else if (dight == 3)
    40     {
    41         printf("这个数的次方结果为一个三位数,所以程序将为您输出这个数的全部部分%d
    ", m);
    42     }
    43 
    44     else if (dight>3)
    45     {
    46         result = m % 1000;
    47         printf("%d的%d次方的结果是%d %d的最后三位数是%d", n, y, m, m, result);
    48     }
    49     
    50     system("pause");
    51     return 0;
    52 }
  • 相关阅读:
    物料描述不可更新(分配组织后)
    完工任务不允许更改需求
    作业需求更改,限制车间人员只允许修改子库
    只允许更改**类型的任务需求
    车间任务移动完工时检验倒冲子库
    有库存不能停用子库存
    不允许修改标准作业需求
    PHP关于重写与重载
    面向对象的三个基本特征 封装 继承 多态
    PHP中的面向对象 中的类(class)
  • 原文地址:https://www.cnblogs.com/dire/p/towc.html
Copyright © 2011-2022 走看看