C语言,编写一个程序,输入若干字符串,找出其中最长的字符串并输出。要用指针数组存放这些字符串,并要结合函数实现。求思路以及代码,谢谢
1、我们在main函数之前定义一个函数。
2、然后我们就可以开始编写,并且先输入整个框架。
3、然后我们可以用和循环开始进行输出。
4、利用普通变量也可以使用指针变量来书写。
5、在这里我们将以指针变量来书写。
6、书写完毕后,我们将可回去main函数中进行直接调用。
因为字符串一般是以‘\0’为结尾,据此写一个循环,每循环一次,就看看该次数的字符是否为'\0'。若发现是\0,就把本次循环的次数返回。此时循环的次数就是字符串的长度。
得到字符长度就好办了,直接将字符长度进行比较,看那个长就输出行了呗~
int strcmp(char *s,char *t)
{
for(;*s&&*t&&*s++==*t++;);
return(*s-*t);
}
#include<stdio.h>
#include<malloc.h>
#include<string.h>
int main()
{char *p[20];
int n,i,max=0,maxi=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p[i]=(char *)malloc(20);
scanf("%s",p[i]);
if(strlen(p[i])>max)
{
max=strlen(p[i]);
maxi=i;
}
}
printf("\n%s\n",p[maxi]);
return 0;
}
本回答被网友采纳C语言,编写一个程序,输入若干字符串,找出其中最长的字符串并输出...
1、我们在main函数之前定义一个函数。2、然后我们就可以开始编写,并且先输入整个框架。3、然后我们可以用和循环开始进行输出。4、利用普通变量也可以使用指针变量来书写。5、在这里我们将以指针变量来书写。6、书写完毕后,我们将可回去main函数中进行直接调用。
输入n个字符串,输出其中最长的字符串?
printf("最长的串=%s\\n",p[maxin]);}
编写一个函数,输和一行字符,将此字符串中最长的单词输出
程序中设longest函数的作用是找最长单词的位置.此函数的返回值是该行字符中最长单词的起始位置.用flag表示单词是否开始,flag=0表未开始,flag=1表已开始;len代表当前单词已累计的字母个数;length代表先前单词中最长单词的长度;point代表当前单词的起始位置(用下标表示);place代表最长单词的起始位置.函数alphabetic的作用...
C语言 统计歌词中的单词个数,并找出最短和最长的单词(必须用指针)求帮 ...
函数int gecifun( char *geci, char *strmax, char *strmin)——实现求geci中的单词个数并返回,strmax和strmin中分别存放最长和最短单词;主函数——调用函数gecifun并输出。
C语言输出一行字符串中最长的单词
如果(c[我]!='')Len++;If(c[I]==''){ If (len > lenth){ 长度=兰;国旗=i-lenth;//当有一个新的最长的字符串时,使用flag记录字符串开始下标 } Len=0;} } If (len > lenth){ 长度=兰;国旗=i-lenth;//以同样的方式 } Printf("最长的子串是...
设有若干个字符串,这些字符串存储位置的首地址保存在指针数组中(即字符...
printf("1, 输入字符串,最多5个,最长99字符。\\n");printf("2, 排序后输出\\n");printf("3, 输出回文\\n");printf("4, 退出\\n");scanf("%d", &sel);getchar();switch (sel){ case 1:for (i = 0; i < N; i++)gets(p[i]);break;case 2:sort(p);for (i = 0; i <...
c语言中如何借用指针输出字符串?
使用指针输出字符串有以下几种方式:1、使用printf 函数进行输出,其使用的格式转换符为%s,如 char *str = "test";\/\/指针指向一个字符串 printf ("%s\\n", str);\/\/输出str指向的字符串 2、使用puts函数进行输出,如 char *str = "test";puts(str);\/\/输出str指向的字符串,会自动多输出一...
编写一个程序,将字符串computer赋给一个字符数组,然后从第一个字母...
include <stdio.h> include <string.h> void main(int argc, char **argv){ char str[] = "computer";char *pstr;int i;pstr = str;for(i = 0; i < strlen(str); i += 2){ printf("%c", *(pstr + i));} printf("\\n");} ...
C语言用函数求字符串中最长单词.
currLen++;} if(currLen>maxLen)\/\/当前单词的长度大于最大值,进行赋值 { maxLen = currLen;MaxStart = currStart;} if(str[i]==' ')\/\/遇到空格,即一个单词已经结束。{ currLen = 0;} } for(j=MaxStart;j<MaxStart+maxLen;j++)printf("%c",str[j]);} 运行效果:...
C语言 指针进阶问题;
你的程序里有几个问题:1.编程思路和要求的偏差,要求里说明限制字符串的数量不超过10,但对字符串的长度没有限定,在你的程序里通过长度限定为10的text变量来接收输入的字符串,实际上已经把输入字符串的长度限定在了10的范围内;2.冗余的变量,在主函数里变量a可能原意是保存n的值(n的值在循环里...