当前位置:   article > 正文

c语言写的一些小程序_c语言写的小程序

c语言写的小程序
  1. 3.使用c语言编写程序,在屏幕打印 9 * 9乘法表
  2. #include<stdio.h>
  3. int main()
  4. {
  5. int i = 0;
  6. int j = 0;
  7. for (i = 1; i < 10; i++)
  8. {
  9. for (j = 1; j <= i; j++) //注意条件的判断
  10. {
  11. printf("\t%d*%d =%d", i, j, i*j);//垂直制表符 用于各列对齐
  12. }
  13. printf("\n");
  14. }
  15. printf("\n");
  16. return 0;
  17. }
  18. 4.使用c语言编写程序,求10个整数中的最大值
  19. #include<stdio.h>
  20. int main()
  21. {
  22. int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
  23. int max = 0;
  24. int i = 0;
  25. for (i = 0; i < 10; i++)
  26. {
  27. if (max < arr[i])
  28. {
  29. max = arr[i];
  30. }
  31. }
  32. printf("The max is %d \n", max);
  33. return 0;
  34. }
  35. 6.使用c语言编写程序,求100以内的所有素数(质数)
  36. #include<stdio.h>
  37. int main()
  38. {
  39. int i = 2;
  40. int count = 0;
  41. printf("100内的素数有:\n");
  42. for (i = 2; i <= 100; i++)
  43. {
  44. int j = 2;
  45. while (j < i)
  46. {
  47. if (i % j != 0)
  48. {
  49. j++;
  50. }
  51. else
  52. {
  53. break;
  54. }
  55. }
  56. if (j >= i )
  57. {
  58. count++;
  59. printf("%d ", i);
  60. }
  61. }
  62. printf("\n总个数为: %d 个", count);
  63. printf("\n");
  64. return 0;
  65. }
  66. 7.使用c语言编写程序,求两个数的最大公约数
  67. #include<stdio.h>
  68. void swap(int* m, int* n)
  69. {
  70. int tmp = 0;
  71. tmp = *m;
  72. *m = *n;
  73. *n = tmp;
  74. }
  75. int main()
  76. {
  77. int m = 0;
  78. int n = 0;
  79. int r = 1;
  80. int j = 0;
  81. printf("请输入两个数:\n");
  82. scanf("%d %d", &m, &n);
  83. j = m*n;
  84. if (m<n)
  85. {
  86. swap(&m, &n);
  87. }
  88. if (m % n == 0 && n != 0)
  89. {
  90. printf("最大公约数为: %d\n", n);
  91. return 0;
  92. }
  93. else
  94. {
  95. while (m % n != 0 && n !=0)
  96. {
  97. r = m%n;
  98. m = n;
  99. n = r;
  100. }
  101. }
  102. printf("最大公约数为: %d\n",r);
  103. return 0;
  104. }
  105. 8.使用C语言编写程序,求两个数的最小公倍数
  106. #include<stdio.h>
  107. void swap(int* a, int* b)
  108. {
  109. int tmp = 0;
  110. if (*a < *b)
  111. {
  112. tmp = *a;
  113. *a = *b;
  114. *b = tmp;
  115. }
  116. }
  117. int main()
  118. {
  119. int a = 0;
  120. int b = 0;
  121. int r = 1;
  122. int m = 0;
  123. printf("请输入两个数:\n");
  124. scanf("%d %d", &a, &b);
  125. m = a*b;
  126. if (a < b)
  127. {
  128. swap(&a, &b);
  129. }
  130. if (a % b == 0 && b != 0)
  131. {
  132. if (a == b)
  133. {
  134. printf("a,b 的最小公倍数为:%d \n", a);
  135. }
  136. return 1;
  137. }
  138. else
  139. {
  140. while (a % b != 0 && b !=0)
  141. {
  142. r = a%b;
  143. a = b;
  144. b = r;
  145. }
  146. m = m / r;
  147. printf("a,b 的最小公倍数为 :%d\n", m);
  148. }
  149. return 0;
  150. }
  151. 9、使用c语言编写程序,交换两整数的值
  152. #include<stdio.h>
  153. int main()
  154. {
  155. int a = 2;
  156. int b = 3;
  157. printf("a: %d b: %d\n", a, b);
  158. a = a + b;
  159. b = a - b;
  160. a = a - b;
  161. printf("a: %d b: %d\n", a, b);
  162. printf("a: %d b: %d\n", a, b);
  163. a = a * b;
  164. b = a / b;
  165. a = a / b;
  166. printf("a: %d b: %d\n", a, b);
  167. printf("a: %d b: %d\n", a, b);
  168. a = a ^ b; //10 ^ 11 = 01
  169. b = a ^ b; //01 ^ 11 = 10
  170. a = a ^ b; //01 ^ 10 = 11
  171. printf("a: %d b: %d\n", a, b);
  172. return 0;
  173. }
  174. 10、使用C语言编写一个函数,函数的功能是:交换两个整数的值
  175. #include<stdio.h>
  176. void Swap(int* s, int* p)
  177. {
  178. int tmp = *s;
  179. *s = *p;
  180. *p = tmp;
  181. }
  182. int main()
  183. {
  184. int a = 2;
  185. int b = 3;
  186. printf("before change: a: %d b: %d\n", a, b);
  187. Swap(&a, &b);
  188. printf("after change: a: %d b: %d\n", a, b);
  189. return 0;
  190. }
  191. 11.1 2 3 4 四个数字,能组成多少互不相同且无重复数字的 三位数?都是多少?
  192. 程序分析:可填在百位,十位,个位的数字都是1 2 3 4 组成所有的排列后再去掉不满足条件的
  193. #include<stdio.h>
  194. int main()
  195. {
  196. int n = 0;
  197. int m = 0;
  198. int k = 0;
  199. int i = 5;
  200. int h = 5;
  201. int l = 5;
  202. int j = 0;
  203. int count = 0;
  204. int arr[100];
  205. for (i = 1; i <= 4;i++)
  206. {
  207. n = i * 100;
  208. for (h = 1; h <= 4; h++)
  209. {
  210. m = h * 10;
  211. for (l = 1; l <= 4; l++)
  212. {
  213. k = l * 1;
  214. arr[j] = n + m + k;
  215. j++;
  216. }
  217. }
  218. }
  219. for (j = 0; j < 64; j++)//123
  220. {
  221. k = arr[j] % 10; //个位
  222. n = arr[j] / 100; //百位
  223. l = arr[j] % 100 / 10; //十位
  224. if (k != n && k != l && n != l )
  225. {
  226. count++;
  227. printf("%d ", arr[j]);
  228. }
  229. }
  230. printf("\n count : %d \n", count);
  231. return 0;
  232. }
  233. 12.使用C语言编写程序,在屏幕输出2000之前的所有闰年和闰年的个数
  234. #include<stdio.h>
  235. int main()
  236. {
  237. int year = 0;
  238. int count = 0;
  239. for (year = 1; year <= 2000; year++)
  240. {
  241. if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
  242. {
  243. count++;
  244. printf("%d ", year);
  245. }
  246. }
  247. printf("\n");
  248. printf("count : %d\n", count);
  249. printf("\n");
  250. return 0;
  251. }
  252. 13、写程序 求解2/1,3/2,5/3,8/5,21/13...求这个数列的前20项之和。
  253. #include<stdio.h>
  254. int main()
  255. {
  256. int m = 1;
  257. int n = 2;
  258. int sum = 0;
  259. for (int i = 0; i < 20; i++)
  260. {
  261. sum = sum + n / m;
  262. m = n;
  263. n = m + n;
  264. }
  265. printf("sum is %d\n", sum);
  266. return 0;
  267. }
  268. 华氏 温度 摄氏温度 转换
  269. #include<stdio.h>
  270. int main()
  271. {
  272. float F;
  273. float C;
  274. printf("Please input Fahrenheit:\n");
  275. scanf("%f", &F);
  276. C = 5 * (F - 32) / 9;
  277. printf("Centidegree is %.2f \n", C);
  278. return 0;
  279. }
  280. #include<stdio.h>
  281. int main()
  282. {
  283. int score = 0;
  284. printf("Input score(0-100):\n");
  285. scanf("%d", &score);
  286. if (score < 60)
  287. {
  288. printf("%c\n", 'E');
  289. return;
  290. }
  291. if (score >= 60 && score <= 69)
  292. {
  293. printf("%c\n", 'D');
  294. return;
  295. }
  296. if (score >= 70 && score <= 79)
  297. {
  298. printf("%c\n", 'C');
  299. return;
  300. }
  301. if (score >= 80 && score <= 89)
  302. {
  303. printf("%c\n", 'B');
  304. return;
  305. }
  306. if (score >= 90 && score <= 100)
  307. {
  308. printf("%c\n", 'A');
  309. return;
  310. }
  311. else
  312. {
  313. printf("Input error!\n");
  314. }
  315. return 0;
  316. }
  317. 14、求解s = a+aa+aaa+……+aaa..a的值 a和n由键盘输入控制
  318. #include<stdio.h>
  319. int Sum(int a, int n)
  320. {
  321. int A = 0;
  322. int Sum = 0;
  323. for (int i = 1; i <= n; i++)
  324. {
  325. A = A * 10 + a;
  326. Sum = Sum + A;
  327. }
  328. return Sum;
  329. }
  330. int main()
  331. {
  332. int a = 0;
  333. int n = 0;
  334. printf("Please input a and n\n");
  335. scanf("%d %d", &a, &n);
  336. int ret = Sum(a, n);
  337. printf("%d\n", ret);
  338. return 0;
  339. }
  340. 15、一球从100米高度落下,每次反弹高度为原高度的一半;在落下,求第十次落地时,共经过多少米?第十次反弹多高?
  341. #include<stdio.h>
  342. int main()
  343. {
  344. int H = 100;
  345. int i = H;
  346. int n = 10;
  347. int sum = 0;
  348. int count = 0;
  349. while (i)
  350. {
  351. count++;
  352. i /= 2;
  353. }
  354. printf("总共能跳 %d 次\n", count);
  355. while (n--)
  356. {
  357. sum += H;
  358. H /= 2;
  359. if (H == 0)
  360. {
  361. break;
  362. }
  363. }
  364. printf("sum is %d \n", sum);
  365. printf("H is %d \n", H);
  366. return 0;
  367. }
  368. 16、猴子吃桃问题:第一天摘下若干桃子,吃了一半,没过瘾,又多吃了一个,以后每天如此,到第十天时,只剩一个桃子,求总共多少桃子?
  369. 设有x个桃子,x - ((x/2+1) + ((x/2+1)/2 +1) +……+1 )= 0
  370. #include<stdio.h>
  371. int main()
  372. {
  373. int day = 9;
  374. int sum = 1;
  375. while (day--)
  376. {
  377. sum= (sum + 1) * 2;
  378. }
  379. printf("sum is %d\n", sum);
  380. return 0;
  381. }
  382. 17、求值: 1-1/2+1/3-1/4+……-1/100 ★★★
  383. #include<stdio.h>
  384. int main()
  385. {
  386. float sum = 0;
  387. for (int i = 1; i <= 100; i++)
  388. {
  389. if (i % 2 != 0)
  390. {
  391. sum += (float)1 / i; //强转
  392. }
  393. else
  394. {
  395. sum -= (float)1 / i;
  396. }
  397. }
  398. printf("sum is %f \n", sum);
  399. return 0;
  400. }
  401. 18、求值: !1+!2+……+!20
  402. #include<stdio.h>
  403. int main()
  404. {
  405. int n = 5;
  406. int mul = 1;
  407. int sum = 0;
  408. for (int i = 1; i <= n; i++)
  409. {
  410. mul = 1; //注意每次进来mul置1
  411. for (int j = 1; j <= i; j++)
  412. {
  413. mul *= j;
  414. }
  415. sum += mul;
  416. }
  417. printf("sum is %d \n", sum);
  418. return 0;
  419. }
  420. 19、判断一个数是不是回文数 (回文数也是一个数字,特点是正反序是同一个数字 如:1234321 1331就是回文数)
  421. 思路:因为是整数,所以可以求出该整数的翻转后的数值,看是否与原来整数相等。如果相等,则是回文数,否则不是。
  422. 翻转整数代码如下,返回值为翻转后的整数。
  423. #include<stdio.h>
  424. int main()
  425. {
  426. int a = 0;
  427. int rev = 0;
  428. printf("Please input :\n"); //1、itoa() 转换为字符串
  429. scanf("%d", &a);
  430. int b = a;
  431. /****************************************************************************/
  432. //while (a != 0)
  433. //{
  434. // rev = rev * 10 + a % 10; //2、数字反转法
  435. // a /= 10;
  436. //}
  437. //if (b == rev)
  438. //{
  439. // printf("是回文数!\n");
  440. // return 0;
  441. //}
  442. //printf("不是回文数!\n");
  443. /****************************************************************************/
  444. //比较第一位和最后一位 相等 继续比较 不相等返回
  445. int div = 1;
  446. while (a / div >= 10)
  447. {
  448. div *= 10;
  449. }
  450. while (a != 0)
  451. {
  452. int left = a / div;
  453. int right = a % 10; //3、数字位判断
  454. if (left != right)
  455. {
  456. printf("不是回文数!\n");
  457. return 0;
  458. }
  459. a = (a % div) / 10;
  460. div /= 100;
  461. }
  462. printf("是回文数!\n");
  463. /****************************************************************************/
  464. return 0;
  465. }
  466. 20、判断一个字符串是不是回文字符串
  467. #include<stdio.h>
  468. #include<string.h>
  469. int main()
  470. {
  471. char s[50];
  472. printf("Please input :\n");
  473. scanf("%s", s);
  474. int len = strlen(s) -1;
  475. char* begin = s;
  476. char* end = s + len;
  477. while (begin <= end)
  478. {
  479. if (*begin != *end)
  480. {
  481. printf("不是回文字符串!\n");
  482. return 0;
  483. }
  484. begin++;
  485. end--;
  486. }
  487. printf("是回文字符串!\n");
  488. return 0;
  489. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/905082
推荐阅读
相关标签
  

闽ICP备14008679号

        
cppcmd=keepalive&