谁能用通俗点儿的语言给我解释解释这个c语言程序???
有三个字符串,要求找出其中的最大者。给我挨句解释下吧。。。。#include<stdio.h>#include<string.h>voidmain(){charstrin...
有三个字符串,要求找出其中的最大者。给我挨句解释下吧。。。。
#include<stdio.h>
#include<string.h>
void main()
{
char string[20];
char str[3][20];
int i;
for(i=0;i<3;i++)
gets (str[i]);
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);
else
strcpy(string,str[1]);
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe laest string is:\n%s\n",string);
}
另外,最后书上还说这个题目也可以设三个一维字符数组来处理。。。把那个程序也写一下吧。。。。谢谢了。。。。 展开
#include<stdio.h>
#include<string.h>
void main()
{
char string[20];
char str[3][20];
int i;
for(i=0;i<3;i++)
gets (str[i]);
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);
else
strcpy(string,str[1]);
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe laest string is:\n%s\n",string);
}
另外,最后书上还说这个题目也可以设三个一维字符数组来处理。。。把那个程序也写一下吧。。。。谢谢了。。。。 展开
3个回答
展开全部
这个程序就是在3个数中找最大的那个数字
strcmp(x,y)的作用就是用判断x-y的结果,也就是比大小,
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);的意思就是如果str[0]大于str[1],就把str[0]的值给string
非则就把str[1]的值给string这样这两个数之间的较大数就给string了,然后用string和str[2]比较,大的赋值给string,string表示的就是最大数
至于程序就不给你写了哈,理解后自己写出来更有意义些。。
strcmp(x,y)的作用就是用判断x-y的结果,也就是比大小,
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);的意思就是如果str[0]大于str[1],就把str[0]的值给string
非则就把str[1]的值给string这样这两个数之间的较大数就给string了,然后用string和str[2]比较,大的赋值给string,string表示的就是最大数
至于程序就不给你写了哈,理解后自己写出来更有意义些。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
void main()
{
char string[20];//用于保存字符串
char str[3][20];
int i;
for(i=0;i<3;i++)
gets (str[i]);//输入字符串
if(strcmp(str[0],str[1])>0)//如果str[0]>str[1]
strcpy(string,str[0]);//保存str[0]a到string数组里
else
strcpy(string,str[1]);//保存str[1]a到string数组里
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe laest string is:\n%s\n",string);//这样输出的应该是最大的字符串
}
////
#include<stdio.h>
#include<string.h>
void main()
{
char str1[20];
char str2[20];
char str3[20];
int max=0;
scanf("%s %s %s".str1,str2,str3);
if(strcmp(str1,str2)>0)
{
max=1;
if(strcmp(str1,str3)<0)
{
max=3;
}
}
else
{
max=2;
if(strcmp(str2,str3)<0)
{
max=3;
}
}
switch(max)
{
case 1:printf("The biggest is %s\,",str1);
case 2:printf("The biggest is %s\,",str2);
case 3:printf("The biggest is %s\,",str3);
}
}
#include<string.h>
void main()
{
char string[20];//用于保存字符串
char str[3][20];
int i;
for(i=0;i<3;i++)
gets (str[i]);//输入字符串
if(strcmp(str[0],str[1])>0)//如果str[0]>str[1]
strcpy(string,str[0]);//保存str[0]a到string数组里
else
strcpy(string,str[1]);//保存str[1]a到string数组里
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe laest string is:\n%s\n",string);//这样输出的应该是最大的字符串
}
////
#include<stdio.h>
#include<string.h>
void main()
{
char str1[20];
char str2[20];
char str3[20];
int max=0;
scanf("%s %s %s".str1,str2,str3);
if(strcmp(str1,str2)>0)
{
max=1;
if(strcmp(str1,str3)<0)
{
max=3;
}
}
else
{
max=2;
if(strcmp(str2,str3)<0)
{
max=3;
}
}
switch(max)
{
case 1:printf("The biggest is %s\,",str1);
case 2:printf("The biggest is %s\,",str2);
case 3:printf("The biggest is %s\,",str3);
}
}
更多追问追答
追问
执行结果不对啊...如果分别输入 CHINA HOLLAND AMERICA 正确的应该是HOLLAND
不信你试试。。。
追答
#include
#include
void main()
{
char string[20];//用于保存字符串
char str[3][20];
int i;
for(i=0;i0)//如果str[0]>str[1]
strcpy(string,str[0]);//保存str[0]a到string数组里
else
strcpy(string,str[1]);//保存str[1]a到string数组里
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe laest string is:\n%s\n",string);//这样输出的应该是最大的字符串
}
////
#include
#include
void main()
{
char str1[20];
char str2[20];
char str3[20];
int max=0;
scanf("%s %s %s".str1,str2,str3);
if(strcmp(str1,str2)>0)
{
max=1;
if(strcmp(str1,str3)<0)
{
max=3;
}
}
else
{
max=2;
if(strcmp(str2,str3)<0)
{
max=3;
}
}
switch(max)
{
case 1:printf("The biggest is %s\",str1);break
case 2:printf("The biggest is %s\",str2);break
case 3:printf("The biggest is %s\",str3);break;
}
}
改好了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询