c语言:编写一个程序找出一组单词中的“最小“和“最大“的单词(单词在字典中的先后顺序,字典中先出现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:编写一个程序找出一组单词中的“最小“和“最大“的单词(单词在字典中的先后顺序,字典中先出现相关的知识,希望对你有一定的参考价值。

c语言:编写一个程序找出一组单词中的“最小“和“最大“的单词(单词在字典中的先后顺序,字典中先出现的小)。当输入四个字母单词时,程序停止读入。。。。。。我这里已经写好了,有一个小问题,就是当我输入dog,zebra,rabbit,catfish,walrus,cat,fish.时,应该输出的正确答案是small cat,large zebra。但我输出的small 是我dog。
#include<stdio.h>
#include<string.h>
#define N 20
int main()

char smallest_word[N], largest_word[N], a[N], b[N];
int i, k;
printf("Enter word: ");
gets(b);
strcpy(smallest_word, b);
strcpy(largest_word, b);
k = strlen(b);

if (k == 4)

printf("Smallest word: ");
puts(smallest_word);
printf("Largest word: ");
puts(largest_word);
return 0;


else


for (;;)

printf("Enter word: ");
gets(a);
k = strlen(a);

if (k != 4)

if (strcmp(smallest_word, a) > 0)
strcpy(smallest_word, a);
if (strcmp(largest_word, a) < 0)
strcmp(largest_word, a);/*我觉得是这一步没有运行*/


else

printf("Smallest word: ");
puts(smallest_word);
printf("Largest_word ");
puts(largest_word);
return 0;





谢谢帮我检查下!

strcmp(largest_word, a);/*这一步没有运行*/

这一行写错了,不是应该strcpy么,不是strcmp。

#include<stdio.h>

#include<string.h>

int main()

char ch[5][10];

char min[10],max[10];

int i;

for(i=0;i<5;i++)

gets(ch[i]);

 

strcpy(min,ch[0]);

strcpy(max,ch[0]);

for(i=1;i<5;i++)


if(strcmp(max,ch[i])<=0)

扩展资料

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)

合理使用优先级可以极大简化表达式。

参考技术A

strcmp(largest_word, a);/*这一步没有运行*/

这一行写错了,不是应该strcpy么,不是strcmp。

#include<stdio.h>

#include<string.h>

int main()

char ch[5][10];

char min[10],max[10];

int i;

for(i=0;i<5;i++)

gets(ch[i]);

 

strcpy(min,ch[0]);

strcpy(max,ch[0]);

for(i=1;i<5;i++)

if(strcmp(max,ch[i])<=0)

扩展资料:

上面的定义可以拓展:只要两个元素属于 A×B×...×N 这个笛卡尔积,或曰可写成 T1=(a1, b1, ..., n1) 和 T2=(a2, b2, ..., n2) 的有序多元组形式,那么两者即可排序——从前往后。

回到英语单词的例子上来。单词可以说是在笛卡尔积 A×A×A×... 这个集合(其中集合 A 是二十六个英文字母的集合,注意组成笛卡尔积的这些集合不必彼此不同)上的多元组,那么在字典中排列单词的顺序就是这里说的字典序——这也就是“字典序”这个名称的由来。

参考资料来源:百度百科-字典序

参考技术B strcmp(largest_word, a);/*我觉得是这一步没有运行*/

你这一行写错了吧,不是应该strcpy么,怎么还是strcmp呢?追问

呵呵,是我傻了,我竟然检查一晚上没有查出。。。。

本回答被提问者采纳

找出一组数据中最大的数和最小的数,并将它们的位置互换。(C语言编程题,急求大神解答,明天早上要交...

找出一组数据中最大的数和最小的数,并将它们的位置互换。(C语言编程题,急求大神解答,明天早上要交,谢谢了)

参考技术A #include <stdio.h>

void main()

int dat[10]= 12, 34, 23, 45, 56, 21, 33, 39, 98, 76;
int max= dat[0], min= dat[0], i, maxnum= 0, minnum= 0;

for(i= 1; i < 10; i++)

if(dat[i] > max)

max= dat[i];
maxnum= i;


if(dat[i] < min)

min= dat[i];
minnum= i;



i= dat[maxnum];
dat[maxnum]= dat[minnum];
dat[minnum]= i;

for(i= 0; i < 10; i++)
printf("%d\n", dat[i]);
参考技术B 定义max,min两个变量,找出最大最小数的下标放入其中
将下标为max,min的两个数借助第三变量交换
也可以用指针做
参考技术C 不允许输入那么长啊,我学JAVA的,我用的是JAVA,前几天刚做过这道题。
你先创建一个数组然后再创建一个整型类型,初始值为数组中的第一个数,用循环来输出数组中每个数据,同时用判断语句来判断,然后排序输出
参考技术D 不知道 第5个回答  2012-11-22 不是什么大程序的话,用冒泡排序找

以上是关于c语言:编写一个程序找出一组单词中的“最小“和“最大“的单词(单词在字典中的先后顺序,字典中先出现的主要内容,如果未能解决你的问题,请参考以下文章

编写程序,找出数组a中前n个元素中的最小元素及其下标

找出一组数据中最大的数和最小的数,并将它们的位置互换。(C语言编程题,急求大神解答,明天早上要交...

编写一个C语言程序:输入10个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

浙大版《C语言程序设计(第3版)》题目集 练习4-10 找出最小值 (20 分)

用C#找出数组中的最大值和最小值

c语言中使用指针求一组数组的最小值!只要最小值!!