1 //第二题
  2 #include <stdio.h>
  3 
  4 int calculateTriangularNumber (int n){
  5     int i, triangularNumber = 0;
  6     
  7     for (i = 1; i <= n; ++i)
  8         triangularNumber += i;
  9     
 10     return triangularNumber;
 11 }
 12 
 13 int main (void){
 14     int result;
 15     
 16     result = calculateTriangularNumber(8);
 17     printf ("Triangular number 8 is equal to %i\n", result);
 18    
 19     return 0;
 20 }
 21 
 22 //第三题
 23 
 24 #include <stdio.h>
 25 
 26 float absoluteValue (float x){
 27     if (x < 0)
 28         x = -x;
 29     return (x);
 30 }
 31 
 32 //计算某数平方根的函数
 33 float squareRoot (float x, float epsilon){
 34     float guess = 1.0;
 35     
 36     while (absoluteValue (guess*guess - x) >= epsilon)
 37         guess = (x / guess + guess) / 2.0;
 38     
 39     return guess;
 40 }
 41 
 42 int main (void){
 43     printf ("squareRoot (2.0) = %f\n", squareRoot (2.0,.001));
 44     printf ("squareRoot (144.0) = %f\n", squareRoot (144.0, .01));
 45     printf ("squareRoot (17.5) = %f\n", squareRoot (17.5,.1));
 46     
 47     return 0;
 48 }
 49 
 50 //第四题
 51 
 52 //第五题
 53 
 54 #include <stdio.h>
 55 
 56 float absoluteValue (float x){
 57     if (x < 0)
 58         x = -x;
 59     return (x);
 60 }
 61 
 62 //计算某数平方根的函数
 63 float squareRoot (float x, float epsilon){
 64     float guess = 1.0;
 65     
 66     while (absoluteValue ((guess*guess)/x - 1.0) >= epsilon)
 67         guess = (x / guess + guess) / 2.0;
 68     
 69     return guess;
 70 }
 71 
 72 int main (void){
 73     printf ("squareRoot (2.0) = %f\n", squareRoot (2.0,.001));
 74     printf ("squareRoot (144.0) = %f\n", squareRoot (144.0, .01));
 75     printf ("squareRoot (17.5) = %f\n", squareRoot (17.5,.1));
 76     
 77     return 0;
 78 }
 79 
 80 //第六题
 81 
 82 float squareRoot (double x, double epsilon){
 83     float guess = 1.0;
 84     
 85     while (absoluteValue ((guess*guess)/x - 1.0) >= epsilon)
 86         guess = (x / guess + guess) / 2.0;
 87     
 88     return guess;
 89 }
 90 
 91 //第七题
 92 
 93 #include <stdio.h>
 94 long int x_to_the_n (int x, int n){
 95     long int result = 1;
 96     
 97     while (n>0){
 98         result *= x;
 99         --n;
100     }
101     return result;
102 }
103 
104 int main (void){
105     printf ("the result is %i\n", x_to_the_n (2, 3));
106     
107     return 0;
108 }
109 
110 //第八题
111 
112 #include <stdio.h>
113 
114 float absoluteValue (float x){
115     if (x < 0)
116         x = -x;
117     return (x);
118 }
119 
120 float squareRoot (float x){
121     const float epsilon = .00001;
122     float guess = 1.0;
123     
124     while (absoluteValue (guess * guess -x) >= epsilon )
125         guess = (x / guess + guess) / 2.0;
126     
127     return guess;
128 }
129 
130 void equationRoot (void){
131     float a, b, c, x1, x2, judgement;
132     printf ("please enter the values of a b c: ");
133     scanf ("%f%f%f", &a,&b,&c);
134     judgement = b*b - 4*a*c;
135     if (judgement >= 0)
136         printf ("x1 = %f\n",(-b +squareRoot(b*b-4*a*c))/(2*a));
137         printf ("x2 = %f\n",(-b -squareRoot(b*b-4*a*c))/(2*a));
138     
139         
140 }
141 
142 int main (void){
143     equationRoot();
144     
145     return 0;
146 }
147 
148 //第九题
149 
150 #include <stdio.h>
151 
152 int gcd (int u, int v){
153     int temp;
154     
155     while (v != 0){
156         temp = u % v;
157         u = v;
158         v = temp;
159     }
160     return u;
161 }
162 
163 int lcm(int u, int v){
164     int lcm;
165     lcm = u*v / gcd (u, v);
166     return lcm;
167 }
168 
169 int main (void){
170     printf ("The least common multiple of  15 and 10 is %i\n", lcm(15, 10));
171     
172     return 0;
173 }
174 
175 //第十题
176 
177 #include <stdio.h>
178 
179 int prime(int n){
180     int p, d;
181     _Bool isPrime;
182     //n is between 1 and 50
183     
184     for (p=2;p<=50;++p){
185         isPrime = 1;
186         
187         for (d=2;d<p;++d)
188             if (p%d == 0)
189                 isPrime = 0;
190         if (isPrime != 0 && n == p)
191             printf ("1\n");
192         else
193             printf ("0\n");
194     }
195     return 0;
196 }
197 int main (void){
198     prime (3);
199     
200     return 0;
201 }
202 
203 //第十一题
204 
205 #include <stdio.h>
206 
207 void arraySum(int a[], int n){
208     int i, sum=0;
209     
210     for (i=0; i < n; ++i)
211         sum += a[i];   
212     printf ("%i\n", sum);
213 }
214 
215 int main (void){
216     int nums[5] = {1,2,3,4,5};
217     
218     arraySum (nums, 5);
219    
220     return 0;
221 }
222 
223 //第十二题  叹气
224 
225 #include <stdio.h>
226 
227 void transposeMatrix (int matrix[4][5], int vmatrix[5][4]){
228     
229 }