c primer plus(第五版)讀書筆計 第六章(8)

 

9.編寫一個程要求用戶輸入下限整數和一個上限整數,然後。依次計算從下限到上限每一個整數的平方的和,最後顯示結果。程序將不斷提示用戶輸入下限整數和上限整數並顯示出答案,直到用戶輸入上限等於或小於下限整數爲止,程序運行的結果示例應該如下所示
Enter lower and uppe integer linits:5 9
The sums of the squares from 25 to 81 is 255
Enter lower and uppe integer linits:5 5
Done
//6-16-9.c
#include <stdio.h>
int main (void)
{
       long a,b,sum = 0; //b上限,a下限
       printf ("Enter lower and uppe integer linits:");
      
       for (scanf ("%ld %ld",&a,&b);b > a;)
       {
              printf ("The sums of the squares from %ld to %ld is ",a * a,b * b);
              while (b >= a)
              {
               sum = sum + a * a;
               a++;
              }
              printf("%ld\n",sum);
              printf ("Enter lower and uppe integer linits:");
              scanf ("%ld %ld",&a,&b);
       }
 
      
       printf ("Done\n");
       return 0 ;
 
}
 
10.編寫一個程序把8個整數讀入一個數組中,然後相反的順序打印它們
//6-16-10.c
#include <stdio.h>
#define GS 6
int main (void)
{
       int a;
       int b[GS] ;
       for (a = 0 ;a < GS;a++)
      
              scanf ("%d",&b[a]);
       for (a = 0 ;a < GS;a++)
              printf("%5d",b[a]);
              printf ("\n");
       for (a = a-1; a >= 0;a--)
              printf("%5d",b[a]);
       printf ("\n");
       return 0 ;
}
 
11.考慮這兩個無限序列:
       1.0+1.0/2.0+1.0/3.0+1.0/4.0+…
       1.0-1.0/2.0-1.0/3.0-1.0/4.0-…
編寫一個程序來計算兩個序列不斷變化的總和,直到達到某個次數,讓用戶交互地輸入這個次數看看到20次,100次和500次後的總各,是否每個序列都年上去要收斂於某個值?提示奇個-1相乘的值爲-1而偶個數相乘的值的1。
 
//6-16-11.c
#include <stdio.h>
int main (void)
 
{
       int a,c = 1;
       float b,e,sum = 0, sum1 = 0;
       while (scanf ("%d",&a) == 1)
       {
              for (b = 1.0;(int)b < a;b++ )
              {
              sum += (1 / b);
              printf ("%.3f\t",sum);
              }
      
       printf ("\n");
       printf ("第一個序列的和:%.5f\n",sum);
       sum = 0;
      
       for (b = 1.0;(int)b < a; b++)
       {
      
              sum += (1 / b) * c;
                     c *= -1;//這點我沒有想到
       printf ("%.3f\t",sum);   
       }
              printf ("\n");
       printf ("第二個序列的和:%.5f\n",sum);
       sum = 0;
       }
      
       return 0 ;
}
12.編寫一個程序,創建一個8個元素的int數組,並且把元素分別設置爲2的前8次冪,然後打印出它們的值,使用for循環來設置值,爲了變化,使用do while循環來顯示這些值。
#include <stdio.h>
#define MZ 8
int main (void)
{
       int a[MZ];
       int b = 1,c,d = 1;
      
       for (c = 0;c < MZ;c++)
       { 
              a[c] = d;
 
              d = d * 2;
             
             
              do
              {
                    
 
                     printf("%d\n",a[c]);
                    
                     b ++;
              }
              while (b < c);
      
                    
             
       }
       return 0 ;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章