谁能用通俗点儿的语言给我解释解释这个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);
}

另外,最后书上还说这个题目也可以设三个一维字符数组来处理。。。把那个程序也写一下吧。。。。谢谢了。。。。
展开
 我来答
fafakkandyaer
2011-03-12 · TA获得超过298个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:174万
展开全部
这个程序就是在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表示的就是最大数
至于程序就不给你写了哈,理解后自己写出来更有意义些。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgl_1027
2011-03-12 · TA获得超过303个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:172万
展开全部
#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);
}
}
更多追问追答
追问
执行结果不对啊...如果分别输入 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;
}
}
改好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲸豆金t
2011-03-12
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
给那么点分,还让写程序?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式