问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 )输入3个整数,按由小到大的顺序输出,然后将程序改为输入3个字符串,按由小到大的顺序输出;

发布网友 发布时间:2022-05-16 03:29

我来回答

2个回答

热心网友 时间:2023-10-10 00:43

#include <stdio.h>

#include <string.h>

void CompareInt(int* a, int* b, int* c)

{

if( *a >= *b && *a >= *c )

{

if( *b >= *c )

{

printf("%d %d %d", *c, *b, *a);

}

else

{

printf("%d %d %d", *b, *c, *a);

}

}

if( *b >= *a && *b >= *c )

{

if( *a >= *c )

{

printf("%d %d %d", *c, *a, *b);

}

else

{

printf("%d %d %d",*a, *c, *b);

}

}

if( *c >= *a && *c >= *b )

{

if( *a >= *b )

{

printf("%d %d %d",*b, *a, *c);

}

else

{

printf("%d %d %d",*a, *b, *c);

}

}

}

void CompareChar(char* a, char* b, char* c)

{

bool key = false;

if( (strcmp(a,b)>=0 && strcmp(a,c)>=0) )//strcmp(a,c)==0?

{

if(strcmp(b,c)>=0)

{

printf("%s %s %s",c, b, a);

key = true;

}

else

{

printf("%s %s %s",b, c, a);

key = true;

}

}

if( (strcmp(b,a)>=0) && (strcmp(b,c)>=0) )

{

if(key)

{}

else if(strcmp(a,c)>=0)

{

printf("%s %s %s",c,a,b);

key=true;

}

else

{

printf("%s %s %s",a,c,b);

key=true;

}

}

if((strcmp(c,a)>=0) && (strcmp(c,b)>=0))

{

if(key)

{}

else if(strcmp(a,b)>=0)

{

printf("%s %s %s",b,a,c);

}

else

{

printf("%s %s %s",a,b,c);

}

}

}

int main(void)

{

int a = 0, b = 0, c = 0;

printf("please input three numbers:");

scanf("%d %d %d",&a, &b, &c);

CompareInt(&a, &b, &c);//这一部分以前是注释掉的。

char a1[20],b1[20],c1[20];

printf("\nplease input three strings:");

scanf("%s%s%s",&a, &b, &c);

CompareChar(a1, b1, c1);//?

return 0;

}

strcmp(a,b)的返回值有三种可能:-1,0,1。分别表示比较的字符串a<b,a=b,a>b(这里的符号表示字符串的字典顺序)。所以(strcmp(a,b)==1||strcmp(a,b)==0就相当于整数的a >= b

按照字符串的字典顺序frank<true<zjx,比较的规则是先比第一个字母,如果相同比第二个字母。这几个字符串第一个字母就可以确定顺序 f < t < z

if (key)这个key是一个标志位,如果之前已经比较出来了就设置为true,如果之前的if里已经设置好了,那么后面的if就不会执行任何东西了。这种写法完全没有必要,用if else嵌套一下会更好。

扩展资料:

非格式化顺序I/O处理器假定是128字节的记录,任何非格式化的一个顺序I/O文件的I/O把记录指针定位在128字节物理记录的结束处,如果所读的字节数不同于原来的字节数,就可能产生不希望的结果。

例如:假定几个180字节的记录写入一个非格式化顺序文件。并假定有100个字节是从文件中第180个字节的记录中读,那么,这100个字节的记录被输入并赋值给I/O列表中的元素。记录指针则定位在下一个128字节物理记录的开始。注意,这将导致在随后的读语句中开始读时,读了额外的数据,而不会跳过额外的数据。

避免这种情况发生的最好方法是保持输入记录和输出记录长度一样。如果遵守简单的预防措施,则利用非格式化顺序I/O就可以传输大于128字节的记录。 

参考资料来源:百度百科-顺序输入

热心网友 时间:2023-10-10 00:43

你定义的swap有3个参数,但是使用的时候只写了两个
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
工科考研50分数学能过国家线吗 数一工科国家线一般多少分 笔记本电脑无线连接epson爱普生打印机wifi怎么连接 爱普生如何无线连接 身份证注销了银行卡还可以用吗 8424西瓜是哪里产的? 一个人开两个支付宝是同一个二维码吗 买个衣服很生气,投诉无门, 拉夏贝尔衣服可以退吗 断桥铝门窗有多少种 1、 基础编程题:任意输入三个整数,编程实现由小到大输出 输入三个整数x,y,z,请把这三个数由小到大输出:用JAVA语言编程 c语言编程: 输入三个任意整数,将这三个数按由小到大排序后输出。 C语言输入三个数abc按由小到大输出 c语言编写程序从键盘输入3个整数,按由小到大输出 输入三个整数,按由小到大的顺序输出 十月一淮阳太昊陵门票多少? 河南省淮阳县太昊陵的门票是多少啊? 淮阳太昊陵门票多少钱? 太昊陵可以现场买票吗 怎么申请小号 中国挖掘机之都在哪里。 深圳市工程机械产业园的功能定位是什么? 合同必备条款是什么 工程机械行业物流管理的几种模式 靓昕园缸豆饼多少钱一袋? 我国工程机械行业发展中存在的主要问题是什么 什么是豆饼肥水?请教高手,浇花怎样自制豆饼肥水? 如果投资合同上没有写日期,这份合同有效吗 自制花肥中!谁知道怎么自制豆饼肥以及豆饼肥制作好,怎么稀释。以及鸡毛怎么做肥料 wincc组态软件这是啥意思啊? wincc 里面的层是什么意思? wincc质量代码是什么意思 sql2000 for wincc是什么意思?是专用的SQL吗? winCC里面数据类型里面的数据类型代表什么意思?跟地址有什么关联 WINCC连变量里面的操作符都代表什么意思 wincc的c脚本中变量后的[]是什么意思 授权大全中这个WINCC-V6 RC 256K PTg 512ATg是代表啥意思? wincc opc server group 是什么意思 WCC是什么意思 梦见我生病的哥哥穿着红裙子好吗? 梦见弟媳穿红裙是什么意思了 GoPro8后显示屏不亮 教你如何识别金绿猫眼宝石 gopro8屏幕锁定如何解锁? 如何鉴定猫眼和石英猫眼 金绿猫眼一般拍卖价位是多少 屏幕碎了,后壳碎了可以维修吗,修下来大概需要多少钱 手机屏幕碎了,不能开机,能修吗?大概多少钱? 半透明的金绿猫眼好么