注释下面代码,#include #include #define N 10void sort (char *pstr[N]);int main(){\x05int i;\x05char *p[N]; /*定义一个行指针 */\x05char str[N][N];\x05printf("请输入6个字符串:");\x05for (i = 0; i < 6; i++)\x05{\x05\x05scanf("%s",str[
来源:学生作业帮助网 编辑:作业帮 时间:2024/12/02 05:15:10
注释下面代码,#include #include #define N 10void sort (char *pstr[N]);int main(){\x05int i;\x05char *p[N]; /*定义一个行指针 */\x05char str[N][N];\x05printf("请输入6个字符串:");\x05for (i = 0; i < 6; i++)\x05{\x05\x05scanf("%s",str[
注释下面代码,
#include
#include
#define N 10
void sort (char *pstr[N]);
int main()
{
\x05int i;
\x05char *p[N]; /*定义一个行指针 */
\x05char str[N][N];
\x05printf("请输入6个字符串:");
\x05for (i = 0; i < 6; i++)
\x05{
\x05\x05scanf("%s",str[i]);
\x05}
\x05for (i = 0; i < 6; i++)
\x05{
\x05\x05p[i] = str[i];
\x05}
\x05sort(p);
\x05printf("排序后的字符串为:");
\x05for (i = 0; i < 6; i++)
\x05{
\x05\x05printf("%s\n",p[i]);
\x05}
\x05return 0;
}
void sort (char *pstr[N])
{
\x05int i;
\x05int j;
\x05char *p;
\x05for (i = 0; i < 6; i++)
\x05{
\x05\x05 for (j = i + 1; j < 6; j++)
\x05\x05 {
\x05\x05\x05if (strcmp((pstr[i]),(pstr[j])) > 0)
\x05\x05\x05{
\x05\x05\x05\x05p = (pstr[i]);
\x05\x05\x05\x05(pstr[i]) = (pstr[j]);
\x05\x05\x05\x05(pstr[j]) = p;
\x05\x05\x05}
\x05\x05}
\x05}
}
注释下面代码,#include #include #define N 10void sort (char *pstr[N]);int main(){\x05int i;\x05char *p[N]; /*定义一个行指针 */\x05char str[N][N];\x05printf("请输入6个字符串:");\x05for (i = 0; i < 6; i++)\x05{\x05\x05scanf("%s",str[
#include
#include //使用字符串相关操作时需使用
#define N 10//定义宏变量
void sort (char *pstr[N]);//声明函数
int main()
{
int i;
char *p[N]; //定义的是指针数组,而非行指针
char str[N][N];
printf("请输入6个字符串:");
for (i = 0; i < 6; i++) //块执行6次
{
scanf("%s",str[i]);//把输入的数据给数组指针,该块一共执行6次
}
for (i = 0; i < 6; i++)//循环6次,目的是让指针数组中每个指针各指向每个二维指针每行的
//首地址
{
p[i] = str[i]; //让指针数组中的元素P[i]指向str[i][0]这个元素
}
sort(p); //调用函数sort,并把P以指针数组形式传递
printf("排序后的字符串为:");
for (i = 0; i < 6; i++)
{
printf("%s\n",p[i]); //以p[i]所指向的地址为起点,输出连续地址中的字符
}
return 0;
}
void sort (char *pstr[N])//定义sort函数,根据定义知是对字符串大小进行比较
{
int i;
int j;
char *p;//定义指针P
for (i = 0; i < 6; i++)
{
for (j = i + 1; j < 6; j++) //简单的双重循环
{
if (strcmp((pstr[i]),(pstr[j])) > 0) //strcmp是比较字符串的大小,可
//以参照ascii表.
{ //当if语句条件成立时,交换指针所
//指对象,否则保持
p = (pstr[i]); //同下
(pstr[i]) = (pstr[j]); //同下
(pstr[j]) = p; //以上三项是一个简单的数组交换,参照C语言变量数值交换法
}
}
}
}