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

设计师必备的国际设计网站网站建设深圳哪里学

设计师必备的国际设计网站,网站建设深圳哪里学,前端 wordpress,365建站网有年代的病历单 题目描述 小英是药学专业大三的学生#xff0c;暑假期间获得了去医院药房实习的机会。 在药房实习期间#xff0c;小英扎实的专业基础获得了医生的一致好评#xff0c;得知小英在计算概论中取得过好成绩后#xff0c;主任又额外交给她一项任务#xff0c…有年代的病历单 题目描述 小英是药学专业大三的学生暑假期间获得了去医院药房实习的机会。 在药房实习期间小英扎实的专业基础获得了医生的一致好评得知小英在计算概论中取得过好成绩后主任又额外交给她一项任务解密抗战时期被加密过的一些伤员的名单。 经过研究小英发现了如下加密规律括号中是例子 原文中所有的字符都被循环左移了三个单位dec - abz逆序存储abcd - dcba 大小写反转abXY - ABxy 关于输入 共n1行 第一行是名单中名字的个数n(1n 1000 随后是n行每行是一个加密的字符串。串长小于12 关于输出 n行 按照字典顺序输出解密后的字符串 例子输入 5 WDDFSSP SDSDSDDo SDKGGFSIa LLLHFGFOl GSOOWFASOq 例子输出 Dlvijjngv Orijikooo Rggvgvgv Trvdizrrvj svviggz 解题分析 我们的主要目标是解密一组加密的字符串并按照字典序排序。加密的规则包括所有字符循环左移三个单位字符串逆序存储以及大小写反转。程序的主要步骤如下 读取输入首先程序读取一个整数n表示名单中名字的个数。然后程序读取n个加密的字符串。 解密字符串程序对每个字符串进行解密。解密过程包括三个步骤 大小写反转如果字符是小写那么将其转换为大写反之亦然。这可以通过对字符进行ASCII码的加减操作来实现。 字符串逆序将字符串中的字符按照反向顺序重新排列。这可以通过交换字符串中的对应字符来实现。 字符循环左移三个单位对所有字符进行循环左移三个单位。这可以通过对字符的ASCII码进行加减和模运算来实现。 排序字符串程序使用C标准库中的qsort函数对解密后的字符串进行排序。qsort函数需要一个比较函数这里使用的是strcmp函数它可以按照字典序比较两个字符串。 输出结果程序按照顺序打印出排序后的字符串。 主要思想是将解密过程分解为几个简单的步骤并对每个步骤进行实现。然后程序使用标准库函数对解密后的字符串进行排序。这种分解问题和利用标准库的方法使得程序的实现变得简单和清晰。 代码实现 #include stdio.h #include string.h #include stdlib.hchar ss[1005][15];void reverse(char *s){int n strlen(s);for(int i0; in; i){if(s[i]a s[i]z){s[i]A-as[i];}else if(s[i]A s[i]Z){s[i]a-As[i];}} }void fz(char *s){int n strlen(s);for(int i0,jn-1;ij;i,j--){char temps[j];s[j]s[i];s[i]temp;} }void yw(char *s){int n strlen(s);for(int i0;in;i){if(s[i]a s[i]z){s[i](s[i]-a326)%26a;}else if(s[i]A s[i]Z){s[i](s[i]-A326)%26A;}} }int comp(const void *a, const void *b){return strcmp((char *)a, (char *)b); }int main() {int n; scanf(%d, n);for(int i0; in; i){scanf(%s, ss[i]);reverse(ss[i]);fz(ss[i]);yw(ss[i]);}qsort(ss, n, sizeof(ss[0]), comp);for(int i0;in;i){printf(%s\n, ss[i]);}return 0; } 进一步拓展 qsort是C语言标准库中的一个函数用于对数组进行快速排序。它的函数原型如下 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*));各个参数的含义如下 base指向要排序的数组的指针。nitems数组中元素的数量。size数组中每个元素的大小通常使用sizeof运算符来获取。compar一个比较函数的指针这个函数用于比较数组中的两个元素。比较函数应该接受两个void指针作为参数并返回一个整数。如果第一个元素小于第二个元素比较函数应该返回负数如果两个元素相等比较函数应该返回零如果第一个元素大于第二个元素比较函数应该返回正数。 下面是一个使用qsort函数对整数数组进行排序的例子 #include stdio.h #include stdlib.hint compare(const void *a, const void *b) {return (*(int*)a - *(int*)b); }int main() {int arr[] {10, 5, 15, 12, 90, 80};int n sizeof(arr)/sizeof(arr[0]);qsort(arr, n, sizeof(int), compare);for(int i0; in; i) {printf(%d , arr[i]);}return 0; }在这个例子中比较函数compare接受两个void指针作为参数将它们转换为int指针然后比较两个int值。qsort函数使用这个比较函数来排序整数数组。 qsort函数的平均时间复杂度和最好情况下的时间复杂度都是 O ( n log ⁡ n ) O(n \log n) O(nlogn)其中 n n n是要排序的元素的数量。这是因为快速排序算法是一种分治算法它将数组分为两个子数组然后递归地对这两个子数组进行排序。在平均情况和最好情况下快速排序算法可以均匀地分割数组所以其时间复杂度是 O ( n log ⁡ n ) O(n \log n) O(nlogn)。 然而在最坏情况下快速排序算法的时间复杂度是 O ( n 2 ) O(n^2) O(n2)。这种情况发生在数组已经完全排序或完全逆序的情况下快速排序算法不能均匀地分割数组而是生成一个空的子数组和一个包含 n − 1 n-1 n−1个元素的子数组。这导致算法的递归深度为 n n n所以最坏情况下的时间复杂度是 O ( n 2 ) O(n^2) O(n2)。 然而最坏情况在实际应用中很少发生而且可以通过一些策略如随机化或者使用三者取中法来避免。所以在实际应用中qsort函数的时间复杂度通常可以视为 O ( n log ⁡ n ) O(n \log n) O(nlogn)。 在qsort函数中使用的compare函数其参数是两个const void*类型的指针。这两个指针是指向待排序数组中元素的指针所以它们不应该是空指针。实际上它们应该指向待比较的两个元素。 void*类型的指针是一种特殊的指针类型它可以指向任何类型的数据。在compare函数中你需要将这两个void*类型的指针转换为正确的类型然后进行比较。 例如如果你正在排序一个int类型的数组那么你的比较函数可能会像这样 int compare(const void *a, const void *b) {int int_a *((int*) a);int int_b *((int*) b);// Perform comparisonif (int_a int_b) return -1;else if (int_a int_b) return 0;else return 1; }在这个例子中指针a和b被转换为int*类型的指针然后通过解引用操作获取它们指向的整数值。然后这两个整数值被比较并返回相应的结果。 strcmp是C语言标准库中的一个函数用于比较两个字符串。它的函数原型如下 int strcmp(const char *str1, const char *str2);strcmp函数接受两个字符串实际上是两个字符指针作为参数并返回一个整数。这个整数的值取决于两个字符串的字典序比较结果 如果 str1 在字典序上小于 str2strcmp 将返回一个负整数。如果 str1 在字典序上等于 str2strcmp 将返回零。如果 str1 在字典序上大于 str2strcmp 将返回一个正整数。 这里的字典序是指字符串中字符的ASCII码值的比较。例如字符串apple在字典序上小于字符串banana因为’a’的ASCII码值小于’b’。 以下是一个使用strcmp函数的例子 #include stdio.h #include string.hint main() {char str1[] apple;char str2[] banana;char str3[] apple;printf(%d\n, strcmp(str1, str2)); // 输出-1printf(%d\n, strcmp(str1, str3)); // 输出0printf(%d\n, strcmp(str2, str1)); // 输出1return 0; }在这个例子中strcmp函数用于比较三个字符串。第一次比较返回-1因为apple在字典序上小于banana第二次比较返回0因为两个apple字符串相等第三次比较返回1因为banana在字典序上大于apple。
http://www.hkea.cn/news/14277681/

相关文章:

  • 可以大量免费发帖的网站wordpress 边框插件
  • 网站开发asp.net做seo还要需要做网站吗
  • 单网页网站制作如何在网站页面做标注
  • 做网站售后几年想做一个赌钱网站怎么做
  • 诸城网站建设的文章成品直播app源码
  • 手机网站图片切换百度快速排名化
  • 二手书网站建设的意义网站建设专业的有哪些
  • 音乐网站页面设计如何建立视频号
  • 泉州商城网站开发设计纳税服务网站建设情况
  • 有效的网站优化wordpress多域名访问
  • 定制网站建设创意个人电脑搭建云服务器
  • 优化怎么做seo查询爱站
  • 建立个人网站视频教程北京网站建设华网
  • 做欧洲电商看哪个网站吗做外贸需要几个网站
  • 专门做二手手机的网站有哪些内丘网站
  • 静态网站建设参考文献建 网站 是软件开发
  • 做网站都不赚钱了吗自助网站搭建系统
  • 西安商城网站建设唐山网站建设赫鸣科技
  • 网站源码下载炫酷网站建设算加工承揽合同吗
  • 制作企业网站页面多少钱html做音乐网站模板
  • 网站5g空间多少钱淄博张店做网站的公司
  • 网站搭建入门vi企业形象设计公司
  • 网站备案人有什么责任开网店被运营公司骗了怎么办
  • 网站空间购买哪家好米拓建站
  • 南京网站开发xuan南京乐识wordpress添加留言
  • 大型车网站建设wordpress首页文章列表
  • 资料网站怎么做网站logo怎么做动态
  • 河南省建设注册中心网站番禺人才网招聘
  • 嘉兴优化网站价格wordpress 文章 列表
  • 网站开发公司徐州有没有做翻译赚钱的网站