当前位置: 首页 > news >正文

哈尔滨市营商环境建设监督局网站株洲网络推广

哈尔滨市营商环境建设监督局网站,株洲网络推广,mediwiki 做网站,网站建设与管理试题实验1:在主函数中输入num个字符串,写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址,在主函数中输出。(注意:用****作为结束输入的标志。) #i…

实验1:在主函数中输入num个字符串,写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址,在主函数中输出。(注意:用****作为结束输入的标志。)

#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  // 定义一个函数,该函数接受一个二维字符数组、
//一个整数(表示数组中的字符串数量)和一个指向字符的指针。  
// 函数的目的是找到数组中最长的字符串,并将其地址赋值给指针。  
char* fun(char(*a)[81], int num, char* max)
{int i;max = a[0];  // 将max初始化为数组中的第一个字符串。  for (i = 0; i < num; i++)  // 遍历数组中的每一个字符串。  {if (strlen(max) < strlen(a[i]))  // 如果当前最长的字符串长度小于当前遍历到的字符串长度,  {                               // 则更新max为当前字符串。  max = a[i];}}return max;  // 返回最长的字符串的地址。  
}int main()
{char ss[10][81], * ps = NULL;  // 定义一个二维字符数组和一个指向字符的指针。  char s[3][81], * p = NULL;     // 定义另一个二维字符数组和一个指向字符的指针。  int i = 0, n;// 使用gets_s函数从用户那里获取字符串,直到输入"****"为止。
//gets_s是一个非标准的函数,通常不建议使用,因为它可能导致缓冲区溢出。建议使用fgets代替。  gets_s(ss[i]);  // 读取第一个字符串。  while (!strcmp(ss[i], "****") == 0)  // 当输入的不是"****"时,继续读取下一个字符串。  {i++;gets_s(ss[i]);  // 读取下一个字符串。  }n = i;  // 记录已输入的字符串数量。  ps = fun(ss, n, ps);  // 调用fun函数找到最长的字符串。  printf("\n最长字符串=%s\n", ps);  // 打印最长的字符串。  
}
  1. 使用gets_s:如注释所述,gets_s是一个非标准的函数,并且在很多实现中都不推荐使用,因为它可能导致缓冲区溢出。建议使用fgets代替。例如,可以用fgets(ss[i], sizeof(ss[i]), stdin)代替gets_s(ss[i])
  2. 未检查数组越界:在调用fun函数之前,没有检查是否有可能访问到超出数组边界的内存。虽然在这个特定的例子中可能不会出现问题,但这是一个不好的编程习惯,可能会导致未定义的行为。
  3. 代码可读性:变量命名和注释可以更加清晰和详细,以帮助其他开发者更好地理解代码的功能和目的。

 

实验2:n个人围成一圈,顺序排号,从第1个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下的人的序号和名字。主程序中输入n和每个人的序号名字,输出最后结果。处理过程用子函数实现。 


#include <stdio.h>  
#include <stdlib.h>  //定义一个结构体存储人的序号和名字  
typedef struct {int number;char name[50];
} Person;int main() {int n;printf("请输入人数:");scanf("%d", &n); //从控制台读取用户输入的人数并存储在n中Person* people = (Person*)malloc(n * sizeof(Person)); //动态分配内存,用于存储n个Person结构体。for (int i = 0; i < n; i++) {printf("请输入第%d个人的序号和名字:", i + 1);scanf("%d %s", &people[i].number, people[i].name);}int count = 0; //定义一个计数器变量count,初始化为0。int index = 0; //定义一个索引变量index,初始化为0。while (count < n -1) {index = index  % n; //通过取模运算更新index的值count++;}printf("最后留下的人序号:%d\n", people[index].number);printf("最后留下的人名字:%s\n", people[index].name);free(people);return 0;
}

实验3:定义一个5*5的矩阵(二维数组),赋上初值,通过调用函数实现:将数组中的最大值放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),在主函数中输出变换后的数组。

#include <stdio.h>// 函数声明
void findMinMax(int arr[5][5], int* min, int* max);
void swap(int* a, int* b);int main() {// 定义并初始化二维数组int matrix[5][5] = { {1, 2, 3, 4, 5},{6, 7, 8, 9, 10},{11, 12, 13, 14, 15},{16, 17, 18, 19, 20},{21, 22, 23, 24, 25} };// 调用函数找到最小值和最大值int min, max;findMinMax(matrix, &min, &max);// 将最大值放在中心位置matrix[2][2] = max;// 将最小值放置在四个角落matrix[0][0] = min;matrix[0][4] = min;matrix[4][0] = min;matrix[4][4] = min;// 输出变换后的数组for (int i = 0; i < 5; i++) {for (int j = 0; j < 5; j++) {printf("%d\t", matrix[i][j]);}printf("\n");}return 0;
}// 找到二维数组中的最小值和最大值
void findMinMax(int arr[5][5], int* min, int* max) {*min = arr[0][0];*max = arr[0][0];for (int i = 0; i < 5; i++) {for (int j = 0; j < 5; j++) {if (arr[i][j] < *min) {*min = arr[i][j];}if (arr[i][j] > *max) {*max = arr[i][j];}}}
}

思路解析

  1. 初始化与输入:首先,我们定义并初始化了一个5x5的二维数组。然后,我们调用findMinMax函数来找到这个数组中的最小值和最大值。
  2. 寻找最小值和最大值:在findMinMax函数中,我们使用两个指针minmax来分别存储找到的最小值和最大值。我们遍历整个数组,并使用条件语句来更新这两个指针的值。这样,当我们遍历完整个数组后,minmax就分别指向了数组中的最小值和最大值。
  3. 放置最小值和最大值:在主函数中,我们首先将最大值放在了二维数组的中心位置。然后,我们将最小值放在了四个角落。这样做的目的是使整个二维数组在视觉上看起来更有趣和更有组织性。
  4. 输出:最后,我们通过双重循环遍历整个二维数组,并使用printf函数将每个元素打印到控制台上。这样,用户就可以看到变换后的二维数组了。

http://www.hkea.cn/news/211247/

相关文章:

  • 武汉网站建设 熊掌号最佳磁力引擎吧
  • 教育平台网站开发品牌运营
  • 91人才网赣州招聘网安卓优化大师app下载安装
  • 合肥网页模板建站营业推广策划
  • 网站做301根目录在哪教育培训机构平台
  • 企业做网站域名需要自己申请吗深圳百度推广客服电话多少
  • 备案网站容易被收录公司网站建设费用多少
  • 4s店网站建设方案百度app下载最新版
  • 创建电子商务网站的7个步骤做网站推广需要多少钱
  • DW怎么做电商网站梅花seo 快速排名软件
  • 哪个网站可以查企业信息今日热搜榜官网
  • 做网站有必要注册商标吗河北百度seo关键词
  • 网站更换服务器教程下载app到手机上并安装
  • 学校网站建设都是谁做的网络舆情分析
  • 怎么把现有网站开发php昆明seo排名外包
  • 网站桥页怎么找理发培训专业学校
  • 谷城网站开发百度导航官网
  • 做网站不优化平面设计网站
  • 聊城做网站的公司价格谷歌seo软件
  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐
  • 老外做的汉字网站一键生成app制作器
  • 网上设计接单的网站seo排名优化排行