#include <stdio.h> int i; char *duqu(char *p); char *bijiao(char *q); char *bijiaox(char *f);
答案:1 悬赏:60 手机版
解决时间 2021-03-25 00:16
- 提问者网友:玫瑰园
- 2021-03-24 12:03
#include <stdio.h> int i; char *duqu(char *p); char *bijiao(char *q); char *bijiaox(char *f); in
最佳答案
- 五星知识达人网友:荒野風
- 2021-03-24 13:16
//函数strcmp()用于比较字符串的大小
//函数strlen()用于计算字符串的长度
#include
#include //用于函数strcmp(),strlen()
//原代码 int i; //不用
char *duqu(char *p); //记录字符串
char *bijiao(char *q); //找最大
char *bijiaox(char *f); //找最小
void findLongShort(char *q,char **longStr,char **shortStr); //找最长和最短
int main(void)
{
char a[100][10];
char *p;
char *qu;
char *x;
int i;
int count=0;
qu=&a[0][0]; //或者 qu=a;
for(i=1;i!=0;)
{
printf("请输入单词:");
qu=duqu(qu);
count++;
printf("继续输入1,否则输入0:");
scanf("%d",&i);
getchar();
}
//让二维数组a[][]的最后一个单词之后的字符串的第1个字符是'',
//函数bijiao()里的语句"if(*(q)=='') break;"需要''作为结束标志.
a[count][0]='';
//原代码printf("%s %s %s %s",&a[0][0],&a[1][0],&a[2][0],&a[3][0]);
printf("有%d个单词:",count);
for(i=0;i {
printf("%s ",a[i]);
}
printf("
");
p=&a[0][0];
p=bijiao(p); //找最大
x=&a[0][0];
x=bijiaox(x); //找最小
printf("
最大:%s
",p);
printf("最小:%s
",x);
qu=&a[0][0];
findLongShort(qu,&p,&x); //找最长和最短
printf("最长:%s
",p);
printf("最短:%s
",x);
return 0; //int main()要有返回值
}
char *duqu(char *p)
{
int number;
char *e;
e=p;
for(number=0 ; number < 10-1 ; number++)
{
*p=getchar();
if(*p=='
') break;
p++;
}
*p='';
p=e+10;
return p;
}
char *bijiao(char *q) //找最大
{
char *zuida;
int i; //int i2; 没有使用
for(zuida=q ; ; q=q+10)
{
if(*(q)=='') break;
i=strcmp(zuida,q);
if(i<0)
{
zuida=q;
}
//原代码
}
return zuida;
}
char *bijiaox(char *f) //找最小
{
char *zuixiao;
int i; //int i2; 没有使用
for(zuixiao=f ; ; f=f+10)
{
if(*(f+10)=='')
break;
i=strcmp(zuixiao,f+10);
if(i>0)
{
zuixiao = f+ 10;
}
//原代码
}
return zuixiao;
}
void findLongShort(char *q,char **longStr,char **shortStr) //找最长和最短
{
//char **longStr是指针的指针
//char **shortStr是指针的指针
int longLen;
int shortLen;
longLen=strlen(q); //最长
shortLen=longLen; //最短
*longStr=q;
*shortStr=q;
for( ; ; q=q+10)
{
if(*(q)=='') break;
if(longLen < strlen(q))
{
longLen=strlen(q);
*longStr=q;
}
else if(shortLen > strlen(q))
{
shortLen=strlen(q);
*shortStr=q;
}
}
}
//函数strlen()用于计算字符串的长度
#include
#include
//原代码 int i; //不用
char *duqu(char *p); //记录字符串
char *bijiao(char *q); //找最大
char *bijiaox(char *f); //找最小
void findLongShort(char *q,char **longStr,char **shortStr); //找最长和最短
int main(void)
{
char a[100][10];
char *p;
char *qu;
char *x;
int i;
int count=0;
qu=&a[0][0]; //或者 qu=a;
for(i=1;i!=0;)
{
printf("请输入单词:");
qu=duqu(qu);
count++;
printf("继续输入1,否则输入0:");
scanf("%d",&i);
getchar();
}
//让二维数组a[][]的最后一个单词之后的字符串的第1个字符是'',
//函数bijiao()里的语句"if(*(q)=='') break;"需要''作为结束标志.
a[count][0]='';
//原代码printf("%s %s %s %s",&a[0][0],&a[1][0],&a[2][0],&a[3][0]);
printf("有%d个单词:",count);
for(i=0;i
printf("%s ",a[i]);
}
printf("
");
p=&a[0][0];
p=bijiao(p); //找最大
x=&a[0][0];
x=bijiaox(x); //找最小
printf("
最大:%s
",p);
printf("最小:%s
",x);
qu=&a[0][0];
findLongShort(qu,&p,&x); //找最长和最短
printf("最长:%s
",p);
printf("最短:%s
",x);
return 0; //int main()要有返回值
}
char *duqu(char *p)
{
int number;
char *e;
e=p;
for(number=0 ; number < 10-1 ; number++)
{
*p=getchar();
if(*p=='
') break;
p++;
}
*p='';
p=e+10;
return p;
}
char *bijiao(char *q) //找最大
{
char *zuida;
int i; //int i2; 没有使用
for(zuida=q ; ; q=q+10)
{
if(*(q)=='') break;
i=strcmp(zuida,q);
if(i<0)
{
zuida=q;
}
//原代码
}
return zuida;
}
char *bijiaox(char *f) //找最小
{
char *zuixiao;
int i; //int i2; 没有使用
for(zuixiao=f ; ; f=f+10)
{
if(*(f+10)=='')
break;
i=strcmp(zuixiao,f+10);
if(i>0)
{
zuixiao = f+ 10;
}
//原代码
}
return zuixiao;
}
void findLongShort(char *q,char **longStr,char **shortStr) //找最长和最短
{
//char **longStr是指针的指针
//char **shortStr是指针的指针
int longLen;
int shortLen;
longLen=strlen(q); //最长
shortLen=longLen; //最短
*longStr=q;
*shortStr=q;
for( ; ; q=q+10)
{
if(*(q)=='') break;
if(longLen < strlen(q))
{
longLen=strlen(q);
*longStr=q;
}
else if(shortLen > strlen(q))
{
shortLen=strlen(q);
*shortStr=q;
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯