educoder字符数组

任务描述
题目描述:输入3行,每行n个字符串,按由小到大的顺序输出

相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。

输入

3行字符串

输出

按照从小到大输出成3行

测试说明
样例输入:

cde

afg

abc

样例输出:

abc

afg

#include<stdio.h>
#include<string.h>
int main()
{
char a[30],b[30],c[30],max[30];
scanf("%s %s %s",a,b,c);
if(strcmp(a,b)>0)
{
strcpy(max,a);
strcpy(a,b);
strcpy(b,max);
}
if(strcmp(a,c)>0)
{
strcpy(max,a);
strcpy(a,c);
strcpy(c,max);
}
if(strcmp(b,c)>0)
{
strcpy(max,b);
strcpy(b,c);
strcpy(c,max);
}
printf("%s\n%s\n%s",a,b,c);
}

任务描述 编写一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数,若s1=s2,输出0,若s1<s2,则输出一个负数。要求不能用strcmp函数。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如,“A”与“C”相比,由于“A”<“C”,应输出负数,同时由于‘A’与‘C’的ASCII码差值为2,因此应输出“-2”。同理,“And”和“Aid”比较,根据第2个字符比较结果,‘n’比‘i’大5,因此应输出“5”。 ( 由于gets函数在educoder环境下认为是不安全的函数,本节任务采用标准输入函数的形式实现要求, 例如:scanf("%s %s",a,b);其中a,b是自定义的字符数组,并结合字符串结束符&#39;\0&#39;来判断字符串的结束位置。) 本关知识 定义字符数组 用来存放字符数据的数组是字符数组字符数组中的一个元素存放一个字符。 定义字符数组的方法与定义数值型数组的方法类似。例如: char c[5]; c[0]=&#39;H&#39;;c[1]=&#39;e&#39;;c[2]=&#39;l&#39;;c[3]=&#39;l&#39;;c[4]=&#39;o&#39;; 怎样引用字符数组元素 引用字符数组元素与引用数值型数组方法类似,只不过引用字符数组中的一个元素,得到的是一个字符。 字符数组的初始化 字符数组的初始化方法与数值型数组类似,这里介绍一种不同的初始化方法。即通过字符串处理函数gets来初始化。 一般形式为: gets(字符数组) 其作用是从终端输入一个字符串字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。 如执下面的 函数: gets(str); //str是已定义的字符数组 从键盘输入Computer后按回车,则 将输入字符串“Computer”送给字符数组str(注意,这里送给数组的共有9个字符(包括一个末尾的空字符‘\0’,gets()函数并不读取换符‘\n’,它会把换符替换成空字符,作为C语言字符串结束的标志),而不是8个字符)。一般利用gets函数的目的是向字符数组输入一个字符串,而不大关心其函数值。 同样地,我们可以用puts函数将字符串输出,例如 puts(str); 字符串结束标志 在C语言中,规定了一个字符串结束标志,以字符&#39;\0&#39;作为结束标志。因此,在程序中常常依靠检测&#39;\0&#39;的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串的长度。因此在定义字符数组时,应估计实际字符串长度,保证数组长度始终大于字符串实际长度。 说明:&#39;\0&#39;代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只是起到一个供辨别的标志。 编程要求 本关的编程任务是补全StringCompared.c文件中main函数,以字符串大小比较的功能。 实际的测试样例参见下文。 本关涉及的代码文件StringCompared.c的代码框架如下: //包含标准输入输出函数 #include <stdio.h> //定义main函数 int main() { //在此添加‘字符串大小比较’的代码 /*****************Begin******************/ /***************** End ******************/ return 0; } 其中: #include <stdio.h>的意思是包含stdio函数库,使得当前程序可以调用标准输入输出函数库中的函数。 int main()是定义main函数,每个C程序都必须有且只有一个main函数。该函数是整个程序的入口,程序执会从main函数的第一条语句开始。 int表示main函数的返回值类型。函数结束时需要返回一个整数。 return 0; 是函数返回,这里是从main函数返回,0是返回的整数值。return语句会结束一个函数的运。 测试说明 本关的测试过程如下: 平台编译StringCompared.c,然后链接相关程序库并生成StringCompared.exe; 平台运StringCompared.exe,并以标准方式提供测试输入; 平台获取StringCompared.exe的输出,然后将其与预测输出对比,如果一致则测试通过;否则测试失败。 以下是平台对StringCompared.c的测试样例: 测试输入: And Aid 预期输出: 5 测试输入: ABC CBA 预期输出: 0 测试输入: ASd ASd 预期输出: 0 测试输入: abcde abcdef 预期输出: -102
最新发布
11-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值