输入三个数字,交换位置,从小到大输入。这个代码哪里有问题?运行不了。

作者&投稿:阙妻 (若有异议请与网页底部的电邮联系)
为什么不论输入什么数字,都输出Monday啊???难道if主体有问题。请详解,谢谢!~

if (DayOfWeek==0)
接下来的也全部改==
要知道=是赋值 肯定成功所以始终为真
==才是判断相等

1、参考2楼,修改两个语法错误:scanf("%d,%d,d%",&x,&y,&z);应该是:scanf("%d,%d,%d",&x,&y,&z);输出语句:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);2、算法太乱,应该先对x,y,z排序,排序的算法是两两相比较,如果前者大就交换,最后得到x,y,z是从小到大, 输出时反序z,y,x就行了,简洁完整并通过了调试的代码如下:#include
int main()
{
int x,y,z,t;
printf("请输入三个不同的数字,每输入一个数字用逗号隔开
");
scanf("%d,%d,%d",&x,&y,&z);
if(x>y) {t=x;x=y;y=t;}
if(x>z) {t=x;x=z;z=t;}
if(y>z) {t=y;y=z;z=t;}
printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);


}

代码小问题比较多,用//注释修改:

#include<stdio.h>
#include<math.h>
void main()
{
int a[3],max,i,j;
for(i=0;i<=2;i++)//去掉分号;  

scanf("%d",&a[i]); //需要传入的是变量的地址  scanf("%d",a[i]); 
}
for(j=0;j<=1;j++)//去掉分号;
{
for(i=0;i<=2;i++) //去掉分号; 
if(a[j]>a[j+1]) 
{
max=a[j]; 
a[j]=a[j+1]; 
a[j+1]=max;
}
}
for(i=0;i<=2;i++)  //去掉分号;
printf("%d ",a[i]);  //加个空格printf("%d",a[i]); 
 }



/*

36 25 52

25 36 52

Press any key to continue

*/

#include <stdio.h>

int main() {
int a[3],t,i,j;
for(i = 0;i < 3;i++) // 不能有分号,下同
scanf("%d",&a[i]);
for(i = 0;i < 3 - 1;i++) {
for(j = i + 1;j < 3;j++) {
if(a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(i = 0;i < 3;i++)
printf("%d ",a[i]);
printf("
");
return 0;
}


错误太多了,根据你的意思我改了一下

以后要注意 for循环后不能加分号

 #include<stdio.h>
#include<math.h>
void main()

 int a[3],max,i,j; 
 for(i=0;i<3;i++) //这里不应该有分号的,以下都是的
 { scanf("%d",&a[i]); }  //还有这里你也写错了。
 for(j=0;j<=1;j++) 
 {
  for(i=j;i<2;i++) //应该将i初始化为j 还有应该是 i<2
   if(a[j]>a[i+1])
   { 
    max=a[j]; 
    a[j]=a[i+1];  //这里应该是 a[i+1]
    a[i+1]=max;  //这里也应该是a[i+1]
   } 
 }  
 for(i=0;i<=2;i++)
  printf("%d",a[i]); 
}


#include<stdio.h>
#include<math.h>
main()

int a[3],max,i,j;
for(i=0;i<=2;i++)
scanf("%d",&a[i]);
for(i=0;i<=2;i++)
for(j=i+1;j<=2;j++)
    if(a[i]>a[j])
{  
max=a[j];
a[j]=a[i];
a[i]=max;

for(i=0;i<=2;i++)
printf("%d ",a[i]);
 }

 for语句外面没有逗号,scanf里面没加地址符,其实这个程序里面#include<math.h>是多余的。




紧急求解高一电脑编程~~~
8、 编写一个程序,输入一个年份(用inputbox输入),程序通过判断功能,输出该年是否是闰年(用msgbox输出)。 9、 编写一个程序,任意输入三位数(用文本框输入),实现百位与个位数字交换并输出。例如输入523,输出325。 10、 任意输入两个数a,b(用inputbox输入),通过程序实现这两个数的对调(用msgbox输出)考试完了 我...

华容道最后2个数字相反怎么弄
华容道最后2个数字相反的方法如下:一、先对第一排,将1、2、3-个个移到目标位置,这一步不需要什么技巧,只管将三个数字-个一个移就行,其它数字不用管。在移数字4时先移到目标位下面,这时发现4没办法往下移到目标位,这里教大家一个解法,将4同排左边的两个数字往右移一格,再将第一排的1、...

一个三位数,各位数字各不相同,交换各数字后仍为三位数...
无论怎么交换,中间 那个数永远摆在中间。根据题意还可以知道,这个数跟最小的 三位数 百位上都是最小的那个数 同样的数-同样的数必须=0,可是十位上的数-十位上的数,还是十位上的数,,说明 个位 借了十位上一个数,十位借了百位上一个数,那么只有9,10位上两个相同的数减,从百位上借...

任意写一个两位数,交换十位数字和个位数字,得到一个新数。求原数与新...
只要十位和个位的数字不一样,这两个数就相差9.,即使十位和个位的数字一样,这两个数的和能被11整除。

随意写1个3位数,交换它的百位数字与个位数字,得到一个3位数,求这2个...
同理,无论怎样打乱位置,相减时,所处位数不变的这一位数字,相减后为0 所处位数变了1位的,这数字相减后差了10X - X = 9X 所处位数变了2位的,这数字相减后差了100X - X = 99X 这些差都能被9整除(0是9的0倍),都能像上述步骤一样最终提取因数9。因此所得的差必是9的倍数。

...加密方法是对该数的每一位数字,将其加6后除以10取...
直接把该三位数对十取余,将每个余赋值给一个字母。也就是分解咯该三位数。然后对每个字母进行加6后对十取模,再重新赋值给该字母。最后就把它门按你说的换位组合起来就咯,

数字黑洞是什么意思
设定一个任意数字串,数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数, 例如:1234567890, 偶:数出该数数字中的偶数个数,在本例中为2,4,6,8,0,总共有 5 个。 奇:数出该数数字中的奇数个数,在本例中为1,3,5,7,9,总共有 5 个。 总:数出该数数字的总个数,本例中为 10 个...

美国手机号格式
一般全是001-347-446-XXXX,头三位数是城市区号,中间三位数字是交换码,再加上后四码。京东美国手机号注册格式京东美国手机号注册格式美国一般电话和手机号,和中国不一样,是使用同一个格式,也就是:三码的区域号+(3+4)码的电话或手机号(共十个数字)一般打电话时,前面再加个1。

...任意一个3行3列的数字,按照斜对角线交换位置的程序。。。_百度知...
for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ Console.Write(arrayA[i,j]+" ");} Console.WriteLine();} for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ arrayA[i, j] = arrayB[j, i];\/\/就是把横纵的下标换个...

把个位上的数字3和十位上的数字交换位置,结果差是16 正确的计算结果是多...
本题无解,正确的核算数据应该是十位上的数值为:11\/9或者是43\/9,不存在一个整数了 若是结果差为18,则这个十位上的数据可以是1或者5,即最后二位数为53或者是13 ……

易县19592749220: 输入3个数,按从小到大输出,该怎么做? -
仪虎卡铂: #include<stdio.h> void main() { int a[3],i,j,k; printf("请输入三个数:"); for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=0;i<3;i++) { for(j=i+1;j<3;j++) if(a[i]>a[j]) { k=a[i];a[i]=a[j];a[j]=k; } } for(i=0;i<3;i++) printf("%d ",a[i]); printf("\n"); }

易县19592749220: C语言,输入三数按照从小到大顺序输出 -
仪虎卡铂: scanf加取地址& #include <stdio.h> main() {int a,b,c,d;scanf("%d%d%d",&a,&b,&c);if(a>b){d=a;a=b;b=d;}if(b>c){d=b;b=c;c=d;}printf("%d %d %d",a,b,c); }

易县19592749220: 用C语言编程 : 从键盘输入3个数,按从小到大输出 -
仪虎卡铂: 如果只是3个数的话 一:如果是从大到小输出的话 #includevoid main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if (x>y) {t=x;x=y;y=t;} /*交换x,y的值*/ if(x>z) {t=z;z=x;x=t;}/*交换x,z的值*/ if(y>z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf("small to big: %...

易县19592749220: C语言:::::.对于输入的任意三个整数,将它们按从小到大的顺序输出. -
仪虎卡铂: 1 读入三个数. 2 循环比较大小,令三个数从小到大排序. 3 输出结果. 代码: #include int main() {int a,b,c,t;#define swap(m,n){t = m; m = n; n = t;}//交换值宏.scanf("%d%d%d",&a,&b,&c);//输入三个数.if(a>b) swap(a,b);if(a>c)swap(a,c);//经过以上两步,a为最小值.if(b>c)swap(b,c);//b比c小.printf("%d %d %d\n", a,b,c);//输出结果.return 0; }

易县19592749220: 对输入的任意三个数a、b和c,按从小到大的顺序输出,用流程图表示该算法 -
仪虎卡铂:[答案] 输入三个整数a,b,c,请把这三个数由小到大输出. 1.程序分析:我们想办法把最小的数放到a上,先将a与b进行比较,如果a>b则将a与b的值进行交换, 然后再用a与c进行比较,如果a>c则将a与c的值进行交换,这样能使a最小...

易县19592749220: 用C语言描述对于输入的任意三个整数,将它们按从小到大的顺序输出? -
仪虎卡铂: 1、输入三个整数x,y,z,请把这三个数由小到大输出. 2、所需要的开头代码,#include "stdio.h"#include "conio.h",预处理命令,表示程序包含conio.h库文件conio.h库文件定义了通过控制台进行数据输入和数据输出的函数. 3、下面...

易县19592749220: c语言,输入三个不同的数字,按从从大到小输出 -
仪虎卡铂: 你把每一个printf函数里面都加这么一段:%d,%d,%d\n,比如第一个:改成 printf("输入的三个数字由大到小排列为:%d,%d,%d\n",z,x,y); 后面的也这样改就可以了.

易县19592749220: 输入三个整数,按从小到大的顺序输出.
仪虎卡铂: #include "stdio.h" main() { int x,y,z,t; scanf("%d%d%d",&amp;x,&amp;y,&amp;z); if (x&gt;y) {t=x;x=y;y=t;} /*交换x,y的值*/ if(x&gt;z) {t=z;z=x;x=t;}/*交换x,z的值*/ if(y&gt;z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf("small to big: %d %d %d\n",x,y,z); }

易县19592749220: 3、输入3个数a,b,c,要求按由小到大的顺序输出.用c语言编写..求大神 -
仪虎卡铂: 只有三个数,直接进行比较、交换,最后输出的办法最为简单、高效.代码如下:#include "stdio.h" int main(int argc,char *argv[]){ int a,b,c; printf("Input 3 integers(int)...\n"); scanf("%d%d%d",&a,&b,&c); if(a>b) a^=b,b^=a,a^=b; if(a>c) a^=c,c^=a,a^=c; if(b>c) b^=c,c^=b,b^=c; printf("\nThe results are as follows:\n%d %d %d\n",a,b,c); return 0; }运行样例如下图:

易县19592749220: C语言程序题目:由键盘输入三个数a,b,c,按从小到大的顺序输出这三个数. -
仪虎卡铂: C语言程序如下: #include <stdio.h> int main() { int a,b,c,t; printf("请输入三个数:"); scanf("%d%d%d",&a,&b,&c); if(a > b) { t = a; a = b; b = t; } if(a > c) { t = a; a = c; c = t; } if(b > c) { t = b; b = c; c = t; } printf("从小到大的顺序是:%d %d ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网