一个关于字符串数组的有关问题 望一下
一个关于字符串数组的问题 望高手指点一下
编写一个程序,接收用户输入的字符串,最多10个,
要求:将这个字符串数组的元素进行排序后输出,用户可选择升序和降序
还有就是,当用户输入“!”时,结束接收,以下这个是我自己写的,有点问题还不太明白:
#include <stdio.h>
#include <string.h>
int count = 0 ;
void main()
{
char ch[10][20];//定义的字符串数组,存放用户输入的字符串
int i,j,k,r;
char temp[20];//这是排序时要用到的中间变量,顺便问一下,这个中间变量可
//以这样定义吗?? char temp; 个人认为是不行的
//因为存放的是字符串,
for(i=0;i <10;i++)
{
printf( "请输入第%d串字符串: ",i+1);
fflush(stdin);
gets(ch[i]);
if(strcmp(ch[i], "! ")==0)
{
break;
}
count++;
}
printf( "请选择排序方式 <1:升序2:降序> : ");
fflush(stdin);
scanf( "%d ",&k);
if(k==1)
{
for(i=0;i <count-1;i++)
{
for(j=i+1;j <count;j++)
{
r = stricmp(ch[i],ch[j]);//我有点搞不懂这个stricmp()函数
if(r <0)
{
strcpy(temp,ch[i]);
strcpy(ch[i],ch[j]);
strcpy(ch[j],temp);
}
}
}
}
else
{
编写一个程序,接收用户输入的字符串,最多10个,
要求:将这个字符串数组的元素进行排序后输出,用户可选择升序和降序
还有就是,当用户输入“!”时,结束接收,以下这个是我自己写的,有点问题还不太明白:
#include <stdio.h>
#include <string.h>
int count = 0 ;
void main()
{
char ch[10][20];//定义的字符串数组,存放用户输入的字符串
int i,j,k,r;
char temp[20];//这是排序时要用到的中间变量,顺便问一下,这个中间变量可
//以这样定义吗?? char temp; 个人认为是不行的
//因为存放的是字符串,
for(i=0;i <10;i++)
{
printf( "请输入第%d串字符串: ",i+1);
fflush(stdin);
gets(ch[i]);
if(strcmp(ch[i], "! ")==0)
{
break;
}
count++;
}
printf( "请选择排序方式 <1:升序2:降序> : ");
fflush(stdin);
scanf( "%d ",&k);
if(k==1)
{
for(i=0;i <count-1;i++)
{
for(j=i+1;j <count;j++)
{
r = stricmp(ch[i],ch[j]);//我有点搞不懂这个stricmp()函数
if(r <0)
{
strcpy(temp,ch[i]);
strcpy(ch[i],ch[j]);
strcpy(ch[j],temp);
}
}
}
}
else
{