【实验题目1】 从键盘输入任意一个正整数。首先分离出该正整数中的每一位数字,并按逆序显示输出各位数字;然后用分离出的每位数字组成一个最大数和一个最小数,并显示输出。

#include<stdio.h>
void main()
{int a[10];int x,i,num=0,j,k,n;printf("请输入一个整数:\n");scanf("%d", &x);for(i=0;i<10;i++){num++;a[i] = x % 10;x = x / 10;if (x == 0)break;}for(i=0;i<num;i++)printf("%d", a[i]);for (i = 0; i < num - 1; i++){k = i;for (j = i + 1; j < num; j++){if (a[k] < a[j]){k = j;n = a[i];;a[i] = a[k];a[k] = n;}}}printf("\n最大数为;\n");for (i = 0; i < num; i++)printf("%d", a[i]);printf("\n最小数为;\n");for (i = num - 1; i >= 0; i--)printf("%d", a[i]);}

【实验题目2】任何一个自然数m的立方均可写成m个连续奇数之和。
例如:
  111 = 1
  222= 3+5
  333= 7+9+11
  444 = 13+15+17+19 555=21+23+25+27+29
编程实现:输入一自然数n,求组成n^3的n个连续奇数。

#include<stdio.h>
void main()
{int n,i;printf("请输入一个自然数:\n");scanf("%d",&n);printf("%d*%d*%d=", n, n, n);for (i = 0; i < n; i++){printf("%d", n*(n - 1)+1+i*2);if (i < n - 1)printf("+");}
}

【实验题目3】编写程序:输入两个包含10个元素的数组,先将第一个数组采用冒泡法进行降序排列,第二个数组采用选择法排序进行降序排列,然后将这两个数组合并成一个降序数组。

#include<stdio.h>
void main()
{int a[10], b[10], c[20];int i,j,k,n;printf("请输入第一组数:\n");for (i = 0; i < 10; i++){scanf("%d", &a[i]);}printf("排序后;\n");for(i=9;i>0;i--)for (j = 0; j < i; j++){if (a[j] < a[j+1]){n = a[j];a[j] = a[j+1];a[j+1] = n;}}for (i = 0; i < 10; i++){printf("%d  ", a[i]);}printf("\n请输入第二组数:\n");for (i = 0; i < 10; i++){scanf("%d", &b[i]);}printf("排序后;\n");for (i = 0; i < 9; i++){k = i;for (j = i+1; j < 10; j++){if (a[k] < a[j]){n = a[j];a[j] = a[k];a[k] = n;}}}for (i = 0; i < 10; i++){printf("%d  ", b[i]);}for (i = 0; i < 20; i++){if ( i< 10)c[i] = a[i];if (i >= 10)c[i] = b[i - 10];}printf("\n合并并且排序后;\n");for (i = 0; i < 19; i++){k = i;for (j = i + 1; j < 20; j++){if (c[k] < c[j]){n = c[j];c[j] = c[k];c[k] = n;}}}for (i = 0; i < 20; i++){printf("%d  ", c[i]);}
}

【实验题目4】输入一个M行N列的二维数组,找出在该行上最大但在该列上最小的元素输出元素值及位置信息,若没有,则显示信息“没找到”。

#include<stdio.h>
void main()
{int a[3][3];int i, j, k,num=0;int flag, flag1;;printf("请输入一个三行三列的二维数组:\n");for (i = 0; i < 3; i++){for (j = 0; j < 3; j++){scanf("%d", &a[i][j]);}}printf("二维数组为;\n");for (i = 0; i < 3; i++){for (j = 0; j < 3; j++){printf("%d ", a[i][j]);}printf("\n");}for (i = 0; i < 3; i++){for (j = 0; j < 3; j++){flag = 0;flag1 = 0;for (k = 0; k < 3; k++){if (a[i][j] < a[i][k])//当前行是否最大flag = 1;}for (k = 0; k < 3; k++){if (a[i][j] > a[k][j])//当前列是否最小flag1 = 1;}if (!flag && !flag1)//当前行当前列是否都是最大{printf("行:%d 列:%d = %d\n", i + 1, j + 1, a[i][j]);num = 1;}}}if (num == 0)printf("不存在鞍点\n");
}

【实验题目5】编写程序:输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入"BEIJING"、"123"和位置3,则输出:“BEI123JING”。

#include<stdio.h>
#include<string.h>
void main()
{char str1[10];char str2[10];char str3[20];int i,j,n,str1len,str2len;printf("请输入第一个字符串:\n");scanf("%s", str1);printf("请输入第二个字符以及插入的位置:\n");scanf("%s%d", str2, &n);str1len = strlen(str1);str2len = strlen(str2);for (i = 0; i < n; i++){str3[i] = str1[i];}for (i = n; i < n + str2len; i++){str3[i] = str2[i - n];}for (i = n + str2len; i < str1len + str2len; i++){str3[i] = str1[n++];}str3[str1len + str2len] = '\0';printf("%s\n", str3);
}

【实验题目6】编写程序:输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。

#include<stdio.h>
#include<string.h>
void main()
{int i, j, a[5], k;char str[5][10];printf("请输入字符串;\n");for (i = 0; i < 5; i++){scanf("%s", str[i]);}for (i = 0; i < 5; i++){printf("第%d个字符串的长度为:",i+1);a[i] = strlen(str[i]);printf("%d\n", a[i]);}for (i = 0; i < 4; i++){k = i;for (j = i + 1; j < 5; j++){if (a[k] < a[j])k = j;}}printf("最长字符串为:%s\n", str[k]);}

有什么不对的地方,谢谢大家留言。

分离正整数,组成最大数和最小数,两个数组合并为一个数组,降序排列,求鞍点等相关推荐

  1. 如何使用JS将两个数组合并为一个数组

    如何使用JS将两个数组合并为一个数组 方法1 使用JS自带的concat方法,它能够把该方法中的参数追加到指定数组中,形成一个新的连接数组,但是这个方法有个不好之处就是会造成一些资源浪费,因为如果要进 ...

  2. 数组合并,将两个数组合并为一个数组显示

    将两个数组中的属性放到一个数组中 var arr1=[ {name: 'merchant', value: '1'}, {name: 'customer', value: '2'} ] var arr ...

  3. java将两个数组合并为一个数组并排序,人生转折!

    前言 阿里巴巴,作为国内互联网公司的Top,算是业界的标杆,有阿里背景的程序员,也更具有权威性.作为程序员,都清楚阿里对于员工要求有多高,技术人员掌握的技术水平更是望尘莫及.所以,大厂程序员的很多经验 ...

  4. arcgis两张图层不能同时显示_arcgis怎么把两个图层合并成一个

    arcgis怎么把两个图层合并成一个 1.Arcgis中怎样将一个点图层和一个面图层合并为一个图层且属性都在呢 1.ARCGIS如何将点图层的属性赋给面图层 用arctoolbox anaglist ...

  5. Java合并两个int数组合并_Java中如何把两个数组合并为一个

    在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...

  6. ubuntu xfce下面两个终端合并为一个终端

    我们现在想把两个终端合并为一个终端,以便于管理 方法如下: ①左侧终端新开一个tab,如下: ②经过上述操作原来的终端就也变成tab了 我们不理会新开的"空白tab",鼠标拖动ta ...

  7. 将编号为0和1的两个栈存放于一个数组空间V[m]中。

    目录 1.题目描述 2.算法实现 1.题目描述 将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端.当第0号栈的栈顶指针top[0]等于-1时该栈为空:当第1号栈的栈顶指针to ...

  8. java数组的扩容,将两个数组合并成一个数组

    java数组的扩容,将两个数组合并成一个数组 //将下列两个数组合成一个数组 public class Test04 {public static void main(String[] args) { ...

  9. python list合并_python基础===两个list合并成一个dict的方法

    def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...

最新文章

  1. cookie记录用户的浏览商品的路径
  2. H.264 picture parameter sets成员值含义学习笔记
  3. Python3通过汉字输出拼音
  4. VirtualBox虚拟机开机后台自启动
  5. 5G同步信号(PSS/SSS)及其时频资源
  6. MySQL这三道常见的面试题,你有被问过吗?
  7. datagridview 纵向 横向 合并单元格_每日一Excel技巧(熟能生巧):带公式的单元格,快速批量复制、填充...
  8. Mysql学习总结(23)——MySQL统计函数和分组查询
  9. 为什么Go比Java快这么多?看完这个例子就懂!
  10. Tech-Ed2004的收获
  11. mysql更新记录_如何查看 mysql 表中最近更新的记录
  12. sun.net.ftp.FtpClient 中文API
  13. 第九周项目三:星星图案(一)
  14. 猿创征文|我的Go成长之路道阻且长
  15. AI自动修复图片网站
  16. XIB总结(代码加载xib或xib拖xib)
  17. 数值方法——薄板样条插值(Thin-Plate Spline)
  18. virtualbox安装linux黑屏,VirtualBox安装MeeGo系统黑屏问题处理
  19. React 表单源码阅读笔记
  20. .net WebApi基础

热门文章

  1. c语言 编程谁是小偷,C语言谁是窃贼问题代码及解析
  2. (java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程...
  3. 程序员找工作需要看的书
  4. Zw函数与Nt函数的分别与联系
  5. 基于CNN的四位数字验证码识别
  6. A Truthful (1-ɛ)-Optimal Mechanism for On-demand Cloud Resource Provisioning---INFOCOM 2015
  7. 环球电影公司联合VR studios打造VR惊悚
  8. Linux VPU驱动
  9. 抓取人民币汇率—数据来源(中国银行网站)
  10. 数字化是构建企业韧性的基石