zoukankan      html  css  js  c++  java
  • 第四次作业

    1.编写程序,输入一个整数x,按照下式输出对应的y值。

          

    # include <stdio.h>
    int main ()
    {
        int saber,lancer,sum=0;
        printf("输入整数
    ");
        scanf("%d",&a);
            if(saber<=0)
        {
            printf("输入错误
    ");
         } 
        if (saber%2==0)
        {
            
            for(lancer=2;lancer<=saber;lancer=lancer+2)
            {
                sum=sum+lancer;
            }
            {
              printf("输出为%d
    ",sum);
            }
            
        }
        else if(saber%2!=0)
         {
            for(lancer=1;lancer<=saber;lancer=lancer+2)
            {
                sum=sum+lancer;
            }
            {
                printf("输出为%lancer
    ",sum); 
            }
        }
        return 0;
    }

     注:声明变量的值,

    2.编程求11/2+1/31/4+1/5-  +1/991/100,结果保留两位小数。

    # include <stdio.h>
    int main()
    {
        int saber;
        float lancer,sum=0;
        for (saber=1;saber<=100;saber++)
        {
            if (saber%2!=0)
            {
                lancer=1/(float)saber;
            }
            else 
            {
                lancer=-1/(float)saber;
            }
            sum=sum+lancer;
        }
            printf("和为%.2f",sum);
            return 0;
    }

     注:分母不能为零,for循环后加大括号;

    3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

    # include<stdio.h>
    int main()
    {
        int saber,lancer=0;
        for (saber=1900;saber<=3000;saber++)
        {
            if((saber%4==0&&saber%100!=0)||(saber%400==0))
            {
               {
                   printf(" %d",saber);
                   lancer++;
               }
            
            if(lancer%10==0)
              {
                   printf("
    ");
              }
            }
        }
            printf("
    ");
             printf("共有%d",lancer);
        return 0;
     } 

    注意:十个一换行,在判断年之后并且最好嵌套在一起;

    4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。

     

     注意:整形和实数的区别,加分号,

    #include <stdio.h>
    int main()
    { 
         int a,b,d; 
         float c,sum,sun=1.0;
         printf("输入一个实数一个整数
    ");
         scanf("%f%d",&c,&a);
        if(a==0&&c!=0)
        {
            printf("输出为1
    ");
        }
        else if(c==0&&(a!=0||a==0))
        {
                printf("输出为0
    ");
        }
        else if(a>0)
        {
           
         for (b=1,sum=1.0;b<=a;b++)
         {
         
             sum=sum*c; 
          } 
           printf ("输出为%f
    ",sum);      
        }
       else if(a<0)
         {
           d=-1*a;
          for (b=1;b<=d;b++)
           {
               sun=(sun*c); 
           } 
              sum=1/sun; 
              printf ("输出为%f
    ",sum);     
         }
         return 0;
    }  

    5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。

    # include<stdio.h>
    int main()
    {
        int caster=0,lancer=0,archer=0,rider=0;
        char saber;
        printf("输入一串字符判断
    ");
        while(1)
        {
            
            scanf("%c",&saber);
        if ((saber>='A'&&saber<='Z')||(saber>='a'&&saber<='z'))
        {
            caster++;
        }
        else if(saber>='0'&&saber<='9')
        {
            lancer++;
         } 
         else if(saber==' ')
         {
             archer++;
         }
         else if(saber!='
    ')
         {
             rider++;
         }
         if(saber=='
    ')
         {
             break;
         }
        }
        printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个
    ",caster,lancer,archer,rider);
        return 0;
    }

     注:在字符型中回车也是字符,在字符A与z间有其他字符;

    6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,

    # include <stdio.h>
    int main ()
    {
        int saber,archer=0,Lancer=0,caster=0,rider=0;
        float sum,sun;
        while (1)
        {
            printf("输入
    ");
            scanf("%d",&saber);
            if(saber/1>0)
            {
                archer=archer+saber;
                ++rider;
                }
                else if(saber/1<0)
                {
                    caster=caster+saber;
                    ++Lancer;
                    }
                    if(saber==0)
                    break;
            }
            if(rider==0)
            {
                     rider=1;
             }
            if(Lancer==0)
            {
                     Lancer=1;
            }
            sum=(float)archer/rider;
            sun=(float)caster/Lancer;
            printf("正数平均%f负数平均%f",sum,sun);
            return 0;
    }

     注:分母不能为零,运行注意结束加break;

    7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

    # include <stdio.h>
    int main()
    {
        int saber,archer,lancer=0,flag;
        for (saber=2;saber<=1000;saber++)
          {
            flag=0;
              for(archer=2;archer<=saber-1;archer++)
              {
                  if (saber%archer==0)
                  {
                      flag=1;
                      break; 
                  }
            }
                  if (flag==0)
                    {    
                      {
                           printf (" %03d",saber);
                           lancer++;
                        }
                       if (lancer%10==0)
                         {
                          printf("
    ");
                       }
                    }
                  
          }
                       printf("
    ");    
                     printf("一共有%d",lancer);
                        return 0;
            }
        

     注:数字对齐可以在d前面补0;在嵌套循环时注意声明变量的位置;

    8.打印下列图形

    # include <stdio.h>
    int main()
    {
        int saber,archer,lancer,caster;
        for(saber=1;saber<=5;saber++)
        {
            for(archer=1;archer<=saber;archer++)
                {
                   printf(" ");
                }    
            for(archer=1,lancer=10;archer<=lancer-2*saber+1;archer++)
            {
                printf("*");
            }
            printf ("
    ") ; 
        }
        return 0;
    }

     注:寻找规律,注意对齐;

         知识点总结:

    1.  for循环为for(表达式1;表达式2;表达式3)表达式中用逗号分开,while与for相似只是while后只有表达式2其他两个分别在其内外,而do....while中while后必须加入分号

    for适合已知的循环就是知道循环执行的次数,而while与do....while适合不只带次数的循环,三种循环必须注意都要声明变量,

    2.    break为跳出此循环,continue为不执行此次循环,

    3.   累加型初始值为0,累乘和累除初始值为1;

    实验总结:

    遇到无法输出时寻找输出变量是否正确,注意变通,在分母为零时在最后更改变量的值,

    在字符型中有时忘记在%c前加入空格,字符型为单引号;

  • 相关阅读:
    《编程匠艺》读书笔记之十四
    又是一年光棍节
    《编程匠艺》读书笔记之十一
    《编程匠艺》读书笔记之十八
    《编程匠艺》读书笔记之十二
    PDC2008系列之一
    《编程匠艺》读书笔记之十七
    《编程匠艺》读书笔记之九
    《编程匠艺》读书笔记之七
    《编程匠艺》读书笔记之十六
  • 原文地址:https://www.cnblogs.com/saber114567/p/5998007.html
Copyright © 2011-2022 走看看