请教用指针数组将字符串排序输出的问题
请问下面这个题目的程序怎么写,我写的不知道对否,谢谢!
题目:输入10个字符串,利用指针数组将其排序输出,其中排序在子函数中完成,输入输出在主函数中完成.
我的程序:
#include<stdio.h>
#include<string>
void sort(char * name[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j]>0)) k=j;
if(k!i)
{
temp=name[i];
name[i]=name[k];
name[k]=temp;
}
}
}
main()
{
int i,n=10;
char *name[10];
char str[10][20];
for(i=0;i<n;i++)
{
gets(str[i]);
name[i]=str[i];
}
for(i=0;i<n;i++)
printf("%s\n",name[i]);
}
由于我没有c的编译环境,不能测试,请各位指点一下,我是初次接触语言,请勿见笑!!
题目:输入10个字符串,利用指针数组将其排序输出,其中排序在子函数中完成,输入输出在主函数中完成.
我的程序:
#include<stdio.h>
#include<string>
void sort(char * name[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j]>0)) k=j;
if(k!i)
{
temp=name[i];
name[i]=name[k];
name[k]=temp;
}
}
}
main()
{
int i,n=10;
char *name[10];
char str[10][20];
for(i=0;i<n;i++)
{
gets(str[i]);
name[i]=str[i];
}
for(i=0;i<n;i++)
printf("%s\n",name[i]);
}
由于我没有c的编译环境,不能测试,请各位指点一下,我是初次接触语言,请勿见笑!!
...全文
相关推荐
请用指针数组的方法将字符串排序
这个函数遍历指针数组,并使用`printf`函数输出每个字符串。
c代码-9、有5个字符串,首先将它们按照字符串中的字符个数由小到大排列, 再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。
本问题要求我们实现一个程序,首先对5个字符串进行排序,然后提取每个字符串的第三个字符(如果存在的话),并将它们组合成一个新的字符串。在这里,我们需要使用到字符串指针和指针数组的概念。
C语言指针经典题目
- **输出结果**:输出排序后的字符串。#### 知识点总结- **字符串操作**:使用字符串库函数(如 `gets`)来输入字符串。- **排序算法**:使用排序算法(如冒泡排序)对字符进行排序。
C++编写字符串的排序举例
- 将每个字符串的地址存入指针数组`p`中。- 调用`sort()`函数对字符串进行排序。- 输出排序后的字符串序列。#### 三、注意事项1.
指针练习题
#### 五、按三位分节格式输出整数**知识点:**1. **字符数组与整数:** 将整数转换为字符数组,便于处理。2. **逆序处理:** 先将整数逆序处理再输出,简化问题。3.


