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)
合理使用优先级可以极大简化表达式。
参考技术Astrcmp(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语言:编写一个程序找出一组单词中的“最小“和“最大“的单词(单词在字典中的先后顺序,字典中先出现的主要内容,如果未能解决你的问题,请参考以下文章
找出一组数据中最大的数和最小的数,并将它们的位置互换。(C语言编程题,急求大神解答,明天早上要交...
编写一个C语言程序:输入10个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。