当前位置:   article > 正文

C语言专升本编程题_c语言找出一个3×4的矩阵中的最小值及其位置

c语言找出一个3×4的矩阵中的最小值及其位置

这是历年湖南省专升本考试,C语言编程题,各位可自取,那个#if 0 和 #endif 是注释

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <iostream>
  3. #include<string.h>
  4. #include<stdio.h>
  5. #include<math.h>
  6. using namespace std;
  7. //输入一个字符,判断该字符是数字、字母、空格还是其它字符。
  8. #if 0
  9. int main(){
  10. char ch;
  11. ch = getchar();
  12. if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') {
  13. printf("It is an English character\n");
  14. }
  15. else if (ch >= '0' && ch <= '9') {
  16. printf("It is a dugit character\n");
  17. }
  18. else if (ch == ' ') {
  19. printf("It is a space character\n");
  20. }
  21. else {
  22. printf("It is other character\n");
  23. }
  24. return 0;
  25. }
  26. #endif
  27. //下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
  28. //用输入0来结束输入,用i、j来统计数
  29. #if 0
  30. int main() {
  31. int n, i = 0, j = 0;
  32. scanf("%d", &n);
  33. while (n != 0) {
  34. if (n > 0) {
  35. i += 1;;
  36. }
  37. else {
  38. j += 1;
  39. }
  40. n--;
  41. }
  42. printf("i=%4d,j=%4d\n", i, j);
  43. return 0;
  44. }
  45. #endif
  46. //计算1+3+5+....+101的值
  47. #if 0
  48. int main() {
  49. int i, sum = 0;
  50. for ( i = 0; i <=101; i+=2){
  51. sum += i;
  52. }
  53. printf("sum=%d\n", sum);
  54. return 0;
  55. }
  56. #endif
  57. //计算1+3+5+....+99的值
  58. #if 0
  59. int main() {
  60. int i=1, sum = 0;
  61. while (i < 100) {
  62. sum += i;
  63. i += 2;
  64. }
  65. printf("sum=%d\n", sum);
  66. return 0;
  67. }
  68. #endif
  69. //在a数组中查找与x值相同的元素所在的位置
  70. #if 0
  71. int main() {
  72. int a[10], x, i;
  73. for ( i = 0; i < 10; i++){
  74. scanf("%d", &a[i]);
  75. }
  76. scanf("%d", &x);
  77. for ( i = 0; i < 10; i++){
  78. if (a[i] == x) {
  79. break;
  80. }
  81. }
  82. if (x < 10) {
  83. printf("the pos of x is:%d\n", i);
  84. }
  85. else {
  86. printf("can not find x!\n");
  87. }
  88. return 0;
  89. }
  90. #endif
  91. //程序读入20个整数,统计非负数个数,并计算非负数之和。
  92. #if 0
  93. int main() {
  94. int i, a[20], sum = 0, count = 0;
  95. for ( i = 0; i < 20; i++){
  96. scanf("%d", &a[i]);
  97. }
  98. for ( i = 0; i < 20; i++){
  99. if (a[0] < 0) {
  100. continue;
  101. }
  102. sum += a[i];
  103. count++;
  104. }
  105. printf("sum=%d\t count=%d\n", sum, count);
  106. return 0;
  107. }
  108. #endif
  109. //输入一个正整数n,在输入n个整数,用选择法将它们从小到大排序后输出
  110. #if 0
  111. int main() {
  112. int a[10], n, i, j, t;
  113. scanf("%d", &n);
  114. for ( i = 0; i < n; i++){
  115. scanf("%d", &a[i]);
  116. }
  117. for ( j = 0; j < n-1; j++){
  118. for ( i = j+1; i < n; i++){
  119. if (a[j] > a[i]) {
  120. t = a[j];
  121. a[j] = a[i];
  122. a[i] = t;
  123. }
  124. }
  125. }
  126. for ( i = 0; i < n; i++){
  127. printf("%d\t", a[i]);
  128. }
  129. return 0;
  130. }
  131. #endif
  132. //找出2-500之间的所有质数,并输出它们的和
  133. #if 0
  134. int main() {
  135. int i, j, k, m = 0, sum = 0;
  136. for ( i = 2; i <= 500; i++){
  137. k = sqrt(i);
  138. for ( j = 2; j <= k; j++){
  139. if (i % j == 0) {
  140. break;
  141. }
  142. }
  143. if (j >= k + 1) {
  144. printf("%4d", i);
  145. sum += i;
  146. m++;
  147. if (m % 10 == 0) {
  148. printf("\n");
  149. }
  150. }
  151. }
  152. printf("\nsum=%d\n", sum);
  153. return 0;
  154. }
  155. #endif
  156. //找出二维数组a中的最大元素,并要求输出该元素以及该元素的行号和列号
  157. #if 0
  158. #define ROW 3
  159. #define COL 3
  160. int main() {
  161. int a[ROW][COL] = { 1,2,3,4,5,6,7,8,9 };
  162. int i,j;
  163. int maxRow = 0, maxCol = 0;
  164. int max = a[0][0];
  165. for ( i = 0; i < ROW; i++){
  166. for ( j = 0; j < COL; j++){
  167. if (max < a[i][j]) {
  168. max = a[i][j];
  169. maxRow = i;
  170. maxCol = j;
  171. }
  172. }
  173. }
  174. printf("max=%d,ROW=%d,COL=%d", max, maxRow, maxCol);
  175. return 0;
  176. }
  177. #endif
  178. //输入一行字符,单词之间用一个空格分隔,统计其中有多少个单词
  179. #if 0
  180. int main() {
  181. char str[80];
  182. int i = 0, num = 0, flag = 1;
  183. gets_s(str);
  184. for ( i = 0; str[i] != '\0'; i++){
  185. if (str[i] != ' ') {
  186. num++;
  187. }
  188. }
  189. printf("%d\n", num);
  190. return 0;
  191. }
  192. #endif
  193. //求以为数组a中的最小元素及其下标
  194. #if 0
  195. int main() {
  196. int a[10] = { 1,4,2,7,3,12,5,34,5,0 };
  197. int i, num = 0, min = a[0];
  198. for ( i = 0; i < 10; i++){
  199. if (min > a[i]) {
  200. min = a[i];
  201. num = i;
  202. }
  203. }
  204. printf("The min is:%d,pos is:%d", min, num);
  205. return 0;
  206. }
  207. #endif
  208. //写一个程序计算下列函数的值:
  209. //Sum(n,x)=1+x+x^2/x!+x^3/3!+x^4/4!+....+x^n/n!
  210. #if 0
  211. int main() {
  212. int x, n, i = 1;
  213. double a = 1, b = 1, sum = 1;
  214. scanf("%d%d", &x, &n);
  215. for ( ; i <=n; i++){
  216. a = pow(x, i);
  217. b *= i;
  218. sum += a / b;
  219. }
  220. printf("%lf", sum);
  221. }
  222. #endif
  223. //输入一个圆的半径r,当r>=0时,计算并输出圆的面积和周长,否则。输出提示信息
  224. #if 0
  225. #define PI 3.14
  226. int main() {
  227. double r, m, z;
  228. scanf("%lf", &r);
  229. if (r >= 0) {
  230. m = PI * r * r;
  231. z = 2 * PI * r;
  232. printf("圆的面积是:%.2f,周长是%.2f", m, z);
  233. }
  234. else {
  235. printf("输入有误");
  236. }
  237. return 0;
  238. }
  239. #endif
  240. //从键盘上输入一个百分之成绩score,按下列原则输出其等级
  241. #if 0
  242. int main() {
  243. int data;
  244. char ch;
  245. scanf("%d", &data);
  246. switch (data/10){
  247. case 10:
  248. case 9:
  249. ch = 'A';
  250. break;
  251. case 8:
  252. ch = 'B';
  253. break;
  254. case 7:
  255. ch = 'C';
  256. break;
  257. case 6:
  258. ch = 'D';
  259. break;
  260. default:
  261. ch = 'E';
  262. }
  263. printf("%c", ch);
  264. return 0;
  265. }
  266. #endif
  267. //自定义一个函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数
  268. #if 0
  269. int IsPrimeNumber(int n) {
  270. for (int i = 2; i <=sqrt(n); i++){
  271. if (n % i == 0) {
  272. return 0;
  273. }
  274. }
  275. return 1;
  276. }
  277. int main() {
  278. int n,ret;
  279. scanf("%d", &n);
  280. ret = IsPrimeNumber(n);
  281. if (ret == 1) {
  282. printf("%d是素数\n", n);
  283. }
  284. else {
  285. printf("%d不是素数\n", n);
  286. }
  287. return 0;
  288. }
  289. #endif
  290. //输入一个正整数n(n<=6),再输入n*n的矩阵,求其主对角线元素之和及副对角元素之和并输出
  291. #if 0
  292. int main(){
  293. int n, i, j, sum1 = 0, sum2 = 0;
  294. int a[6][6];
  295. scanf("%d", &n);
  296. for ( i = 0; i < n; i++){
  297. for ( j = 0; j < n; j++){
  298. scanf("%d", &a[i][j]);
  299. if (i == j) {
  300. sum1 += a[i][j];
  301. }
  302. if (i + j == n - 1) {
  303. sum2 += a[i][j];
  304. }
  305. }
  306. }
  307. printf("sum1=%d,sum2=%d", sum1, sum2);
  308. return 0;
  309. }
  310. #endif
  311. //从键盘输入30个学生的成绩数据,求其中的最高分、最低分、平均分
  312. #if 0
  313. #define N 5
  314. int main() {
  315. int i;
  316. double max, min, avg, a[N];
  317. for ( i = 0; i < N; i++){
  318. scanf("%lf", &a[i]);
  319. }
  320. max = a[0];
  321. min = a[0];
  322. avg = a[0];
  323. for ( i = 1; i < N; i++){
  324. if (max < a[i]) {
  325. max = a[i];
  326. }if (min > a[i]) {
  327. min = a[i];
  328. }
  329. avg += a[i];
  330. }
  331. printf("max=%lf,min=%lf,avg=%lf", max, min, avg / N);
  332. return 0;
  333. }
  334. #endif
  335. //将一个有5个元素的数组中的值(整数)按逆序重新存放
  336. #if 0
  337. #define N 5
  338. int main() {
  339. int a[N], temp, i;
  340. for ( i = 0; i < N; i++){
  341. scanf("%d", &a[i]);
  342. }
  343. for ( i = 0; i < N / 2; i++){
  344. temp = a[i];
  345. a[i] = a[N - i - 1];
  346. a[N - i - 1] = temp;
  347. }
  348. for ( i = 0; i < N; i++){
  349. printf("%4d", a[i]);
  350. }
  351. return 0;
  352. }
  353. #endif
  354. //从键盘输入10名学生的成绩,按成绩从高到低的顺序排列并输出
  355. #if 0
  356. #define N 5
  357. int main() {
  358. int a[N], i, j, temp;
  359. for ( i = 0; i < N; i++){
  360. scanf("%d", &a[i]);
  361. }
  362. for ( i = 0; i < N; i++){
  363. for ( j = 0; j < N-1; j++){
  364. if (a[j] < a[j + 1]) {
  365. temp = a[j];
  366. a[j] = a[j + 1];
  367. a[j + 1] = temp;
  368. }
  369. }
  370. }
  371. for ( i = 0; i < N; i++){
  372. printf("%3d", a[i]);
  373. }
  374. return 0;
  375. }
  376. #endif
  377. //从键盘输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标
  378. #if 0
  379. #define RWO 3
  380. #define COL 3
  381. int main() {
  382. int a[RWO][COL], i, j, min, m, n;
  383. for ( i = 0; i < RWO; i++){
  384. for ( j = 0; j < COL; j++){
  385. scanf("%d", &a[i][j]);
  386. }
  387. }
  388. min = a[0][0];
  389. for (i = 0; i < RWO; i++) {
  390. for (j = 1; j < COL; j++) {
  391. if (min > a[i][j]) {
  392. min = a[i][j];
  393. m = i;
  394. n = j;
  395. }
  396. }
  397. }
  398. printf("最小值是:%d\n", min);
  399. printf("%d,%d\n", m, n);
  400. return 0;
  401. }
  402. #endif
  403. //有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......前20项之和,输出结果保留2位小数
  404. #if 0
  405. int fun(int a,int b,int n) {
  406. if (n == 1) {
  407. return a;
  408. }
  409. else if (n == 2) {
  410. return b;
  411. }
  412. else {
  413. return fun(a, b, n - 1) + fun(a, b, n - 2);
  414. }
  415. }
  416. int main() {
  417. double sum = 0;
  418. int i;
  419. for ( i = 1; i <=20; i++){
  420. sum += fun(2, 3, i) * 1.0 / fun(1, 2, i);
  421. }
  422. printf("%.2lf\n", sum);
  423. return 0;
  424. }
  425. #endif
  426. //方法二:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......前20项之和,输出结果保留2位小数
  427. #if 0
  428. int main() {
  429. int i;
  430. float sum = 0 , fz = 1, fm = 1, t;
  431. for ( i = 0; i < 20; i++){
  432. t = fz;
  433. fz += fm;
  434. fm = t;
  435. sum += fz / fm;
  436. }
  437. printf("%.2f\n", sum);
  438. return 0;
  439. }
  440. #endif
  441. //计算1-1/2+1/3-1/4+....+1/99-1/100+....直到最后一项的绝对值小于10-4为止
  442. #if 0
  443. int main() {
  444. int i = 1;
  445. float sum = 0, sign = 1.0;
  446. while ((1.0 / i) >= 1e-4)
  447. {
  448. sum += sign / i;
  449. i++;
  450. sign = -sign;
  451. }
  452. printf("sum=%.4f", sum);
  453. return 0;
  454. }
  455. #endif
  456. //编写一个实现对数组a的10个数按小到大排序的程序
  457. #if 0
  458. #define N 10
  459. int main() {
  460. int i, j, t, a[N] = { 5,4,3,2,1,9,8,7,6 };
  461. for (i = 0; i < N - 1; i++) {
  462. for (j = 0; j < N - 1 - i; j++) {
  463. if (a[j] > a[j + 1]) {
  464. t = a[j];
  465. a[j] = a[j + 1];
  466. a[j + 1] = t;
  467. }
  468. }
  469. }
  470. for (i = 0; i < N; i++) {
  471. printf("%d\t", a[i]);
  472. }
  473. return 0;
  474. }
  475. #endif
  476. #if 0
  477. int main() {
  478. int i, j;
  479. //控制行数
  480. for ( i = 4; i >0; i--){
  481. //控制空格
  482. for ( j = 1; j <= 4-i; j++){
  483. printf(" ");
  484. }
  485. //控制*号
  486. for ( j = 1; j <= 2*i-1; j++){
  487. printf("*");
  488. }
  489. printf("\n");
  490. }
  491. return 0;
  492. }
  493. #endif
  494. //计算1-1/2+1/3-1/4+...+1/99-1/100
  495. #if 0
  496. int main() {
  497. int i, k = 1;
  498. float sum = 0;
  499. for ( i = 1; i <=100; i++){
  500. sum += k / (float)i;
  501. k = -k;
  502. }
  503. printf("%f", sum);
  504. return 0;
  505. }
  506. #endif
  507. //编程输出fibonacci(斐波那契)数列的前40项
  508. #if 1
  509. long fib(int n) {
  510. return n <= 2 ? 1 : fib(n - 1) + fib(n - 2);
  511. }
  512. int main() {
  513. int i = 0;
  514. for ( i = 1; i <= 40; i++){
  515. printf("%12ld", fib(i));
  516. if (i % 2 == 0) {
  517. printf("\n");
  518. }
  519. }
  520. return 0;
  521. }
  522. #endif

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

闽ICP备14008679号