C语言编程,求教啊(VC6++环境)
4.编一个程序,从键盘上输入3个字符串(字符串最多为80个字符,可以含有空格),输出其中大者。算法分析:(1)先定义1个二维字符数组a用于存放输入的3个字符串,再定义1个...
4.编一个程序,从键盘上输入3个字符串(字符串最多为80个字符,可以含有空格),输出其中大者。
算法分析:
(1)先定义1个二维字符数组a用于存放输入的3个字符串,再定义1个一维数组b用于存放最大的字符串。(每一个字符数组的长度应该是多少,请同学们根据题目要求考虑)
(2)用一个循环结构输入3个字符串,循环体为:
gets(a[i]); (思考一下为什么用gets( )函数输入)
(3)可以使用系统函数strcmp()函数进行字符串的比较;比较之后对于较大的字符串可以用strcpy()将其存入b数组中。程序片段:
strcpy(b,a[0]);
for (i=1;i<3;i++)
if (strcmp(b,a[i])<0)strcpy(b,a[i]);
说明:用循环结构的好处就是以后可以扩大到多个字符串的比较。
(4)注意:在程序的开头必须要加#include <string.h>
老师的提示是这样的,但是我不知道怎么把数组输入进去,求教,具体含义! 展开
算法分析:
(1)先定义1个二维字符数组a用于存放输入的3个字符串,再定义1个一维数组b用于存放最大的字符串。(每一个字符数组的长度应该是多少,请同学们根据题目要求考虑)
(2)用一个循环结构输入3个字符串,循环体为:
gets(a[i]); (思考一下为什么用gets( )函数输入)
(3)可以使用系统函数strcmp()函数进行字符串的比较;比较之后对于较大的字符串可以用strcpy()将其存入b数组中。程序片段:
strcpy(b,a[0]);
for (i=1;i<3;i++)
if (strcmp(b,a[i])<0)strcpy(b,a[i]);
说明:用循环结构的好处就是以后可以扩大到多个字符串的比较。
(4)注意:在程序的开头必须要加#include <string.h>
老师的提示是这样的,但是我不知道怎么把数组输入进去,求教,具体含义! 展开
3个回答
展开全部
#include<stdio.h>
#include<string.h>
main()
{
char a[3][80];
int i;
printf("请输入三个字符串:\n"); //输入模块
for(i=0;i<3;i++)
gets(a[i]);
for(i=1;i<3;i++) //处理模块:用a[0]存放最大的字符串
if(strcmp(a[i],a[0])>0)
strcpy(a[0],a[i]);
printf("最大字符串为:"); //输出模块
puts(a[0]);
getch(); //这个可有可无
}
#include<string.h>
main()
{
char a[3][80];
int i;
printf("请输入三个字符串:\n"); //输入模块
for(i=0;i<3;i++)
gets(a[i]);
for(i=1;i<3;i++) //处理模块:用a[0]存放最大的字符串
if(strcmp(a[i],a[0])>0)
strcpy(a[0],a[i]);
printf("最大字符串为:"); //输出模块
puts(a[0]);
getch(); //这个可有可无
}
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 100
#define N 100
int main() {
char str[M][N];
char result[N];
int i;
for(i = 0; i < 3; i++) {
gets(str[i]);
if(i != 0) {
if(strcmp(str[i],result) > 0) {
strcpy(result, str[i]);
}
}
else
strcpy(result, str[0]);
}
puts(result);
return 0;
}
#include <stdlib.h>
#include <string.h>
#define M 100
#define N 100
int main() {
char str[M][N];
char result[N];
int i;
for(i = 0; i < 3; i++) {
gets(str[i]);
if(i != 0) {
if(strcmp(str[i],result) > 0) {
strcpy(result, str[i]);
}
}
else
strcpy(result, str[0]);
}
puts(result);
return 0;
}
追问
的确是能够运行出来的,但是我不太理解,
for(i = 0; i 0) {
strcpy(result, str[i]);
}
}
else
strcpy(result, str[0]);
}
这一段的含义是什么?希望具体解释。
还有一个,主函数中return 0;是什么意思?我们老师做程序从来没有看见他用过啊!(我们大一,用VC++6.0学习C程序设计)
追答
return 0;和exit(0)一样的。 退出码为0,表示正常退出
那段代码的意思就是,循环读入3个句子。第一个句子因为没有参照来进行比较,所以存入result。
其他输入和result比较,并更新result
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主函数中return 0;是什么意思?我们老师做程序从来没有看见他用过啊!
和一般函数return 0的意思是一样的,操作系统可以获取到这个return值
你老师没用过,是有2个说明,一个是你老师编程不规范,另一个是在早期的C语言里面,会默认返回0
和一般函数return 0的意思是一样的,操作系统可以获取到这个return值
你老师没用过,是有2个说明,一个是你老师编程不规范,另一个是在早期的C语言里面,会默认返回0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询