求大神帮忙啊~C语言编程从键盘输入三个整数存入数组中,操作指针使数组中的数按从大到小的次序输出。

作者&投稿:锺朗 (若有异议请与网页底部的电邮联系)
C语言编程题,从键盘输入任意3个数,按从小到大的顺序输出~

代码1.
// 输入3个数,要求按从小到大顺序输出 #include 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 %d
",a,b,c); return 0; }代码2.
输入3个字符串,按从小到大顺序输出。 //先用程序对三个数进行从小到大排序,然后修改程序#include#includeint main(){void swap(char *pt1,char *pt2); char a[20],b[20],c[20]; char *p1,*p2,*p3; printf("请输入三个字符串:"); gets(a); gets(b); gets(c); //或用scanf("%s,%s,%s",a,b,c); p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组 if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b); //比较两个字符串的大小,为什么用前一句的时候会出现警告呢 if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3); if(strcmp(b,c)>0)swap(b,c);// if(strcmp(*p2,*p3)>0)swap(*p2,*p3); printf("由小到大排列:%s
%s
%s
",a,b,c); return 0;}void swap(char *pt1,char *pt2){ char t[20]; strcpy(t,pt1); strcpy(pt1,pt2); strcpy(pt2,t);//t=*pt1;*pt1=*pt2;*pt2=t;}代码3.
#include #include #define SIZE 3 #define LEN 50 int main(void) { char str[SIZE][LEN]; char (*pst)[LEN]=str; char temp[LEN]; int i,j; printf("Please enter 3 string.
"); for(i=0;i<SIZE;i++) { fgets(*(pst+i),LEN,stdin); } printf("Befor sort:
"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } for(i=0;i<SIZE-1;i++) for(j=i+1;j<SIZE;j++) { if(strcmp(*(pst+i),*(pst+j)) == 1) { strcpy(temp,*(pst+i)); strcpy(*(pst+i),*(pst+j)); strcpy(*(pst+j),temp); } } printf("After sort:
"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } }

我帮你下午写一个吧 很简单的
#include"stdio.h"
void main()
{
void exchange(int *pt1,int *pt2,int*pt3);
int a,b,c,*p1,*p2,*p3;
printf("input 3 numbers:
");
scanf("%d%d%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
printf("the result is:%d %d %d
",*p1,*p2,*p3);
}
void exchange(int *pt1,int *pt2,int *pt3)
{
void swap(int *q1,int *q2);
if(*pt1<*pt2) swap(pt1,pt2);
if(*pt1<*pt3) swap(pt1,pt3);
if(*pt2<*pt3) swap(pt2,pt3);
}
void swap(int *q1,int *q2)
{
int temp;
temp=*q1;
*q1=*q2;
*q2=temp;
}
运行过了,是正确的 结果:

首先,输入三个数,你的数组开才开了2,数组开小了!a[3]

其次,scanf ("%d", &a[i]);这里要使用取地址符号才能进行输入

再次,你加的else ;这些语句都没有用,直接删除

#include<stdio.h>
int main()
{
int *p,a[3],temp,i;
p=a;
printf("请输入三个数字");
for(i=0;i<=2;i++)
scanf("%d",&a[i]);
if(*p<*(p+1))
{
temp=*p;
*p=*(p+1);
*(p+1)=temp;
}
if(*p<*(p+2))
{
temp=*p;
*p=*(p+2);
*(p+2)=temp;
}
if(*(p+1)<*(p+2))
{
temp=*(p+1);
*(p+1)=*(p+2);
*(p+2)=temp;
}
printf("%d
",*p);
printf("%d
",*(p+1));
printf("%d
",*(p+2));
return 0;
}


求大神帮忙,编写一个C语言程序,从键盘输入两个整数,输出这两个数之和...
答:include<iostream> intmain(){ usingnamespacestd;inta,b;cout<<"Pleaseenterthetwonumber:\n";cin>>a>>b;doublesum=((double)(a+b)/2*(b-a+1));cout<<sum<<endl;return0;}

C语言编程题,各大神求助。从键盘输入直角三角形的两条直角边,计算它的...
答:声明两个浮点型变量a、b承载两条直角边的输入值,数据成功输入后调用库三角函数求出斜边,再与a、b相加求得周长;直接用三角形面积公式求得面积。代码如下:include "stdio.h"#include "math.h"//调用库三角函数需包含此文件int main(int argc,char *argv[]){double a,b;printf("Input a & b...

用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数...
答:解题思路:先键盘输入10个整数,假设数组的第1个是最大数max,同时设置最大值下标为0,接着for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和数组下标。参考代码:include<stdio.h> int main() { int i,a[10],max,maxi;//输入10个整数 for(i=0;...

C语言编程:从键盘输入一个正方形的边长,求出它的面积并输出。
答:1、首先打开DEV C++软件,在编辑页面输入以下代码,如下图所示。2、题目要求我们在定义变量时,基本类型要全部为float浮点型,所以在编辑源代码时,我们在编写输入代码时,一定要注意给定的类型是什么,根据类型来编写。3、在输入代码中,即“scanf”输入函数内,一定要在我们的变量前加一个地址符,否则...

用C语言编程:从键盘上输入10个整数,输出偶数的个数。求大神给过程啊,最...
答:include<cstdio>int a[20];int main(){printf("请输入十个整数\n");for(int i=0;i<=9;i++)scanf("%d",&a[i]);int sum=0;for(int i=0;i++;i<10){if(a[i]%2==0)sum++;}printf("偶数的个数是 %d\n",sum);return 0;} ...

急求C语言编程:从键盘输入n个实数(n的值由键盘输入),求其中的最大值...
答:return max;} main(){int n;float b[100];for(int i=0;i<n;i++)scanf("%f", &b[i]); //输入n个元素存入b数组中 printf("输入的数中,最大的数是:%f",&max(b));} //调用max函数,将最大值输出

C语言编程,从键盘输入四个整数,按照数值从小到大顺序输出
答:int main( ){ int num[4];for(int i = 0 ; i < 4 ; i++){ scanf("%d", num+i);} for(int i = 0 ; i < 4 ; i++){ int k = i;for(int j = i+1 ; j < 4 ; j++){ if(num[k] > num[j]){ k = j;} } if(k != i){ int temp = num[k];num[k...

...并对数组中的元素进行排序 用c语言编程,大神们!!求助啊
答:main(int argv,char *argc[]){int a[N],i,j,k;printf("Please enter the %d integers...\n",N);for(i=0;i<N;scanf("%d",a+i++));printf("Sorted:\n");for(i=0;i<N;i++){for(k=i,j=k+1;j<N;j++)if(a[k]...

c语言编程 从键盘输入一个数值,直到该数为正数为止,并求其平方根
答:1 循环输入整数。2 判断整数值,如为正数,则退出循环,否则继续输入;3 利用sqrt函数求平方根 4 输出。代码如下:int main(){ int n; double r; while(1) { scanf("%d",&n); if(n>0)break; } r = sqrt(n); printf("%lf",r);} ...

c语言编程从键盘输入一个任意正整数,求其各位数字立方和。
答:include<stdio.h> intmain(){ inta;scanf("%d",&a);intb[10]={0};intk=0;while(a){ b[k]=a%10;a=a/10;k++;} printf("%d\n",k);inti=0,sum=0;while(i<=k){ sum=sum+b[i]*b[i]*b[i];i++;} printf("%d\n",sum);} ...