2016-10-27


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語句 

 

 

 

 

 

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM