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 }