• 20161027


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

          

    #include<stdio.h>
    int main()
    {
        int i,x,y;
        printf("请输入一个整数x\n");
        scanf("%d",&x);
        if(x%2!=0)
        {
            y=0;
            for(i=1;i<=x;i+=2)
            {
                y=y+i;
            }
                printf("%d\n",y);
        }
            else if(x%2==0)
            {
                y=0;
                for(i=2;i<=x;i+=2)
                {
                    y=y+i;
                }
                    printf("%d\n",y);
            }
        
        return 0;
    }
     
     
     
     总结:注意分情况讨论
     
     2.编程求1-1/2+1/3-1/4+1/5… +1/99-1/100,结果保留两位小数。
    #include <stdio.h>
    int main ()
    {
        int i;
        float sum;
        sum=0;
        for(i=1;i<=100;i++)
        {
            if(i%2!=0)
            {
                sum=sum-(1.0/i);
            }
            else if(i%2==0) 
            {
                sum=sum+(1.0/i);
            }
        }
        printf("和为%.2f\n",sum);
        return 0;
    }

     总结:要注意负数求和为减

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

    #include<stdio.h>
    int main()
    {
       int a,b=0; 
       for(a=2000;a<=3000;a++)
       {
           if(a%4==0&&a%100!=0||a%400==0)
           {
               printf("%d  ",a);
               b++;
              if(b%10==0)
              {
                 printf("\n");
              }
           }
       }
       printf("一共有%d个闰年\n",b);
    return 0;
    }

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

    #include <stdio.h>
    int main()
    {
        int a,b,c;
        double sum;
        printf("请输入一个实数和一个整数\n");
        scanf("%d%d",&a,&b);
        if(b>0)
        {
             for(sum=1,c=1;c<=b;c++)
             {
                sum=sum*a;
             }
            printf("%.2f\n",sum);
        }
        else if(b<0)
        {
            for(sum=1,c=1;c<=-b;c++)
            {
                sum=sum*a;
            }
            sum=1/(double)sum;
            printf("%.2f\n",sum);
        }
        else
        {
            printf("1\n");
        }
        return 0;
    }
     

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

    #include <stdio.h>
    int main()
    {
        int a=0,b=0,c=0,d=0;
        char ch1;
        printf("请输入一串字符\n");
        while((ch1=getchar())!='\n')
        {
            if((ch1>='A'&&ch1<='Z')||ch1>='a'&&ch1<='z')
            {
                a++;
            }
            else if(ch1==' ')
            {
                b++;
            }
            else if(ch1>='0'&&ch1<='9')
            {
                c++;
            }
            else
            {    
                d++;
            }
        }
        printf("字母,空格,数字和其他字符分别为%d,%d,%d,%d\n",a,b,c,d);
        return 0;
    }

     总结:ch1=getchar()中     关系运算符!=的优先级比赋值运算符=优先级高加()后才先算前面的

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

    #include <stdio.h>
    int main()
    {
        int a,b=1,c=1,sum1,sum2;
        float average1,average2;
        printf("请输入一批数\n");
        scanf("%d",&a);
        sum1=0;
        sum2=0;
        while(a!=0)
        {
            if(a>0)
            {
                sum1+=a;
                b++;
            }
            else
            {
                sum2+=a;
                c++;
            }
            scanf("%d",&a);
        }
            if(b-1==0)
            {
                printf("没有正数\n");
            }
            else
            {
                average1=(float)sum1/(b-1);
                printf("正数平均值为%.2f\n",average1);
            }
        
            if(c-1==0)
            {
                printf("没有负数\n");
            }
            else
            {
                average2=(float)sum2/(c-1);
                printf("负数平均值为%.2f\n",average2);
            }
        
        return 0;
    }

     总结:注意sum要有赋初值

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

    #include <stdio.h>
    int main()
    {
        int a,b,c=0;
        for(a=2;a<=1000;a++)
        {
            for(b=2;b<=a-1;b++)
                if(a%b==0)
                    break;
                if(a==b)
                {
                    printf("%03d ",b);
                    c++;
                   if(c%10==0)
                {
                       printf("\n");
                }
                }
        }
        printf("一共有%d个素数\n",c);
        return 0;
    }

    8.打印下列图形

                 

    #include <stdio.h>
    int main()
    {
        int i,j,k;
        for(i=0;i<=4;i++)
        {
            for(j=0;j<=i;j++)
                printf(" ");
            for(k=1;k<=9-2*i;k++)
                printf("*");
            printf("\n");
        }
        return 0;
    }

    总结:找清规律注意先输出的是什么

     知识点总结:

    1. 注意循环一定要有初值

    2.①while语句先判断表达式后执行循环体,循环体可能一次也不执行

       ②do  while语句先执行循环体后判断表达式,至少执行一次循环体

    3.do  while 后的while有;

    4.要注意运算符的优先级  先执行优先级低的加()

    5.for语句  

    (1)   for(表达式1;表达式2;表达式3)

           {

                 循环体语句

           }

    (2)循环体语句可以是单条语句也可以是复合语句。  建议无论循环体有几条语句,一律都加大括号

    (3)表达式可以部分或全部省略,但两个";"不能省略

    6.无限循环中,通过在循环体中加break语句对循环体进行控制

    7.    循环次数已知     for语句

           循环次数未知由给定条件控制    while语句

           循环体至少执行一次   do······while语句 

     
     
  • 相关阅读:
    创业失败的七个原因及解决之道
    技术人员如何参与产品设计讨论:激活那一潭死水
    基于Android Studio搭建hello world工程
    WINCE6.0+IMX515通过cfimager.exe烧录镜像文件
    基于Android Studio搭建Android应用开发环境
    WinCE启动失败的原因与解决办法分析
    Maximum Allowed Error 7 错误解决
    s3c6410 开发板Linux系统支持 K9GAG08U0E的方法
    Nandflash 驱动移植
    GIFT-EMS礼记----青软S2SH(笔记)
  • 原文地址:https://www.cnblogs.com/333xar/p/6003335.html
Copyright © 2020-2023  润新知