c语言三、 设有两个字符串,各有10个字符,试编程完成如下功能:

作者&投稿:店傅 (若有异议请与网页底部的电邮联系)
用c语言编写程序:从10个字符串中,查找最长的字符串。每个字符串不超~

先输入10个字符串,然后依次计算字符串长度,找到最长的一个,并把这个字符串输出即可。代码如下:#include #include int main(){ char s[10][100]; int i; int max_i, max_len = 0; for(i = 0; i < 10; i ++) scanf("%s",a[i]);//输入10个字符串。 for(i = 0; i < 10; i ++) { int l = strlen(s[i]); if(max_len < l) //依次将长度和max_len对比,找到最长一个。 { max_len = l; max_i = i; } } printf("%s
", s[max_i]);//输出最长字符串。 return 0;}

问题有一些,看注释。
#include #includevoid main(){ int i; char a[]="1234",b[]="abcdef",c[14]; char *p,*q; p=a; q=b; i=0; /*i要初始化*/ while(*p!='\0') /*i是c的元素下标,和a与b的下标不同步,这里不能用a[i]来判断,改成对p指向内容的判断*/ { c[i]=*p; c[i+1]=*q; i=i+2; p++; q++; } while(*q!='\0') /*问题同上*/ { c[i]=*q; i=i+1; /*这里i的下标要自增*/ q++; } c[i]='\0'; /*最后要加一个结束字符,否则输出可能会有乱码*/ printf("%s",c);}

include "stdio.h"
#include "conio.h"

main()
{
char a[11]="1234567890";/*在这里初始化你的字符串*/
char b[11]="1334257870";
char maxa=a[0],maxb=b[0];
int i,bigger=0,equal=0,smaller=0;
for(i=1;i<10;i++)
{
if(a[i]>maxa)
maxa=a[i];
if(b[i]>maxb)
maxb=b[i];
}
printf("max char of string a is:%c\nmax char of string b is:%c\n",maxa,maxb);

for(i=0;i<10;i++)
{
if(a[i]>b[i]) bigger++;
else if(a[i]==b[i]) equal++;
else smaller++;
}
printf("a>b:%d\n",bigger);
printf("a=b:%d\n",equal);
printf("a<b:%d\n",smaller);
getch();
}

很复杂,1楼的正确


革吉县18930432869: c语言三、 设有两个字符串,各有10个字符,试编程完成如下功能: -
兀有饺维铁: #include int main(void) { char a[80],b[80];//两个字符串 char c[10];//新字符串 int len2; int i,j,k=0; printf("请输入字符串a:"); gets(a); printf("请输入字符串b:"); gets(b); for(i = 0; i{ c[k++] = a[i]; } len2 = strlen(b); for(i = len2-3; i{ c[k++] = b[i]; } puts(c);//输出新字符串 return 0; }

革吉县18930432869: C语言中,合并两个字符串为一个新的字符串,确保在新字符串中,两个字符串的所有字符仅出现一次 -
兀有饺维铁: #include<stdio.h> #include <string.h> int main(){ char s1[]="happy"; char s2[]="NewYear"; char s3[999]; int i,j,c,m=0; s3[m]=s1[0];m++; for (j=1;s1[j]!='\0';j++){ c=0; for (i=0;i<m;i++) if (s3[i]==s1[j]) {c=1;break;}; if (c==0) {s3[m]=s1[j];m++;}; } for (j=0;...

革吉县18930432869: C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20),把字符串2连接到字符串1后面,并输出 -
兀有饺维铁: 说白了就是strcatchar *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数{char *address = strDest; //该语句若放在assert之后,编译出错assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的...

革吉县18930432869: C语言如何将2个字符连接成一个字符
兀有饺维铁:#include<stdio.h> int main() { char a[100],c1,c2; int i; scanf("%c %c",&c1,&c2); getchar(); a[0]=c1; a[1]=c2; a[2]='\0'; printf("%s\n",a); return 0; }

革吉县18930432869: C语言怎么合并两个字符串? -
兀有饺维铁: 先加头文件#include<string.h> char a[10]="123";char b[10]="abc";strcat(a,b); //连接两个字符串,连接后的字符串存放在a中,数组a中有足够空间printf("%s",a); //输出连接后的字符串或: #include<string.h> char a[10]="123"; char b[10]="abc"; char c[20]; strcpy(c,a); //把串a复制到有足够空间的c中 strcat(c,b); //把b连接到c的串尾

革吉县18930432869: C语言如何求两字符串的最大子串? -
兀有饺维铁: 不明白你的最大字串是指排序上的还是长度上的.下面给出两个例子: 在排序上的比较,例如 串A="abc", 串B="dbdadeed",从这两个串来说,A>B;程序如下 int getMaxStr(char *a, char *b) { return strcmp(a, b); } 如果该函数返回值大于0,表示a>b长度比较,例如 串A="abc", 串B="dbdadeed",结果应该是A<B int getMaxStr(char *a, char *b) { return (strlen(a)-strlen(b)); }

革吉县18930432869: C语言一个程序 -
兀有饺维铁: s1[i++]中i++不一定等于1或者2,这个要看你的s1[i]这个数组中的字符串有多少个字符,比如如果s1[i]=“abcd”,那么经过 while(s1[i]!='\0') i++; 这个循环过程后i应该等于4 你是不是用s[i]这个数组来存串连后的字符串,如果是的话 s[i]='\0' 这个...

革吉县18930432869: C语言编程:输入一个字符串,且其中包含2个“a”,将第一个之前与第二个“a”之后的字符连成一个字符串输出!
兀有饺维铁: 做个记号 #include<stdio.h> #include<string.h> void main() { char a[50],b[50],c[50]; int i=0,j=0,k1=0,k2=0; printf("Please input a string:"); scanf("%s",a); printf("原始字符串:%s\n",a); for(i=0;a[i]!='\0';i++)/*找出那两个'a'的位置*/ { if(a[i]=='...

革吉县18930432869: 用C语言写出一函数,将两个字符串连接,该怎么写 -
兀有饺维铁: void concat(char *s1, int size1, char *s2, int size2, char *sout) {int i;for (i = 0; i < size1; ++i)sout[i] = s1[i];for (i = 0; i < size2; ++i)sout[i + size1] = s2[i];sout[i] = '\0'; } 示例使用方法: char *s1 = "ABCD"; char *s2 = "12345"; char sout[100];...

革吉县18930432869: 求一个c语言程序,要求输入两个字符串,可以显示出第二个字符串在第一个字符串中出现的位置和次数. -
兀有饺维铁: #include #include int main() {char str1[50],str2[50];int locat[50];char *p,*q;int i=0,len=0,lct=1,j;printf("请输入字符串1\n");gets(str1);printf("请输入字符串2\n");gets(str2);q=str2;for(;*q!='\0';q++){len=len+1;}p=str1;...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网