c语言程序if条件下语句不运行
题目在此输入样例
8
2018/1/8 1024
2012/10/31 256
2014/10/29 300
2012/10/31 457
2014/10/27 512
2011/10/27 95
2014/11/3 1102
2017/11/24 1535
输出样例
2018/1/8 1024
2017/11/24 1535
2014/11/3 1102
2014/10/29 300
2014/10/27 512
2012/10/31 457
2012/10/31 256
2011/10/27 95
2012/10/31 457
2012/10/31 256
这两个死活换不过来
这是我的代码
求大佬看下
#include<stdio.h>
int a;
void swap(int b,int c)
{
for (int i = 0; i < 4;i++)
{
int z = a;
a = a;
a = z;
}
}//前四个与后四个交换
int main()
{
int n;
scanf("%d", &n);
int i;
for (i = 1; i <= n * 4; i += 4)
{
scanf("%d/%d/%d %d", &a, &a, &a, &a);//使用数组a每四个储存空间来保存一个文件的属性
}//每四个中,第一个为年,第二个为月,第三个为日,第四个为大小
int j;
for (i = 1; i < n; i++)
{
for (j = 1; j <= n * 4; j += 4)
{
if (a < a)
swap(j, j + 4);
if (a == a && a < a)
swap(j, j + 4);
if (a == a && a == a && a < a)
swap(j, j + 4);
if (a == a && a == a && a == a && a < a)//就是这一栏出现问题了
{
swap(j, j + 4);
printf("123");//判断这个if语句是否运行
}
}
}
for (i = 1; i < n * 4;i+=4)
{
printf("%d/%d/%d %d\n", a, a, a, a);
}
return 0;
} 题目简单来说就是对一系统数据(年/月/日 大小)排序
考虑先后顺序是年、月、日、大小,都是按照从小到大的顺序排 swap(a,a); 你这个SWAP有点东西 领悟者的涂鸦笔 发表于 2020-12-18 00:54
你这个swap()函数简直惊讶到我了。
这题目说难倒也不难,先Mark,天亮了再做。
swap有问题吗。。。
对呀,是不难就是正确不了:'(weeqw 蓝色魅影 发表于 2020-12-18 08:39
swap(a,a);
我这个传入的参数只要告诉函数是数组里哪个下标的数要换就行了,不需要传实际的数。。。 肥皮 发表于 2020-12-18 09:02
你这个SWAP有点东西
之前用结构体指针运行不了,弄了半天还是用低端一点的互换函数了。。。:'(weeqw 实际上第3个if也没有起作用{:1_926:} 第3个if和第4个if里面的 a == a 应该是 (a == a unisong 发表于 2020-12-18 11:28
第3个if和第4个if里面的 a == a 应该是 (a == a
感谢大佬!!!!!:'(weeqw
页:
[1]
2