代码如下: #include <stdio.h> void main() { int a,b,c,d,t; printf("请输入四个数,并以逗号分割。\n"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); if(a>b) {a=t; a=b; b=t;} if(a>c) {a=t; a=c; c=t;} if(a>d) {a=t; a=d; d=t;} if(b>c) {b=t; b=c; c=t;} if(b>d) {b=t; b=d; d=t;} if(c>d) {c=t; c=d; d=t;} printf("%d>%d>%d>%d",d,c,b,a); } 调试时,中间两个数的输出都是好大的负数,求解
å¯ä»¥å°å个æ°å åå°æ°ç»ä¸ï¼ç¶åè¿è¡æå ¥æåºã
ä¸ãç®æ³è®¾è®¡ï¼
1ãè¾å ¥4个æ°ï¼
2ã使ç¨ä»»ææ¹æ³è¿è¡æåºï¼
3ãè¾åºç»æã
äºãç®æ³ä¼åï¼
å¦æéæ©æå ¥æåºï¼é£ä¹å¯ä»¥å¨è¾å ¥è¿ç¨ä¸ï¼åæ¶å®ææåºæä½ï¼åå°ä¸æ¬¡å¾ªç¯ï¼æé«æçã
ä¸ãåè代ç ï¼
#include <stdio.h>int main()
{
int i,j,a[4],n;
for(i = 0; i < 4; i++)//循ç¯å次
{
scanf("%d",&n);//è¾å ¥ä¸ä¸ªæ°ï¼å¹¶åå¨nä¸ã
for(j = i-1; j>=0; j--)//æå ¥æåºï¼æ¥æ¾è¦æå ¥çä½ç½®ã
{
if(a[j]>=n) break;
a[j+1]=a[j];
}
a[j+1]=n;//æå ¥nå¼ã
}
for(i = 0; i < 4; i ++)
printf("%d ", a[i]);//è¾åºç»æã
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-04-06
变量t没有初始化就赋值给a,第一个里面应该是t=a 而不是a=t
最好在定义变量的时候就初始化变量,否则就容易出现你说的那种好大的负数本回答被提问者采纳
最好在定义变量的时候就初始化变量,否则就容易出现你说的那种好大的负数本回答被提问者采纳
第2个回答 2014-04-06
t未初始化,值不确定,直接用肯定报错