从键盘上输入三个数,使用数组的形式,并让他们从大到小输出,怎么做
#include int _tmain(int argc, _TCHAR* argv[]){int a[3] = {0};int nTemp = 0;// 输入scanf("%d %d %d",&a[0],&a[1],&a[2]);// 冒泡排序for (int i = 0; i a[j]){nTemp = a[i];a[i] = a[j];a[j] = nTemp;}}}// 输出printf("a[0]=%d, a[1]=%d, a[2]=%d
",a[0],a[1],a[2]);system("pause");return 0;}
请将int *p1=&word1,*p2=&word2,*p3=word3;改成int *p1=&word1,*p2=&word2,*p3=&word3;
将cin>>word1>>word2>>word3>>endl;改成cin>>word1>>word2>>word3;
这个程序还有种写法:
void main()
{ int word1,word2,word3,*p1,*p2,*p3,*temp;
cin>>word1>>word2>>word3; p1=&word1; p2=&word2; p3=&word3;
if ( *p1 < *p2 ) { temp=p1; p1=p2; p2=temp; }
if ( *p1 < *p3 ) { temp=p1; p1=p3; p3=temp; }
if ( *p2 < *p3 ) { temp=p2; p2=p3; p3=temp; }
cout<<(*p1)<<(*p2)<<(*p3)<<endl;
}
还要说的是,你如果吧a[i]改成a[i-1],也只是让a[0]跟a[2]比较了,没有涉及到a[1]。更直观来说,你就调用了一次max函数,这个函数里一共就输出了两个数,不管你穿进去的是哪两个,都不可能把三个数从小打到输出啊~
声明一个中间值Temp
给你看个例子吧
#include<stdio.h>
void main()
{
int a=3;
int b=2;
int c=5;
int temp=0;
if(a<c)
{
temp=c;
c=a;
a=temp;
}
if(b<a)
{
temp=a;
a=b;
b=temp;
}
if(b<c)
{
temp=c;
c=b;
b=temp;
}
printf("%d\n%d\n%d",a,b,c);
getchar();
用C++编个程序,使用数组从键盘输入若干正数,输入一个负数结束输入,然后...
答://源码如下:include <iostream> using namespace std;int main(){ int num[100];int i=0,j,count=0;while (1){ cin>>num[i];if (num[i]<0)break;i++;count++;} for (i=0;i<=count-1;i++)for (j=i+1;j<=count-1;j++)if(num[i]>num[j]){ int temp = num[i];n...
定义一个数组,用循环实现从键盘上输入10个正整数并放入数组。怎么做...
答:2、使用int[] i=new int[6],定义一个长度为6的整型数组,其它类型类似,如下图所示。3、也可以在定义数组的时候,直接对数组进行赋值,使用String[] str=new String[]{"a","b","c"}定义一个长度为3的字符串数组,如下图所示。4、使用int[] ii=new int[]{0,1,2,3}定义一个长度为4...
键盘输入5个浮点数送入数组+把第一个数移到最后,后面的数都往前移动一...
答:代码分析:1,数据结构 定义一个数组保存输入的浮点数,并同时用于输出 float arr[5];2,数据输入 使用for循环输入5个浮点数 for(i=0; i<5; i++)scanf("%f",arr+i);3, 实现数组的循环移位 两种方法:一种使用中间变量保存第一个被移入的数据,最后放入需要移入的空位 第二种,数组本身多...
c语言程序设计,先从键盘上输入一个3行3列数组的各元素的值,然后按主
答:j<N;j++)a[i][j]=i+j;mPrint(a);for(i=0,m=N-1;i<N;i++,m--)for(j=0,k=N-1;i<k;j++,k--){ temp=a[i][j];a[i][j]=a[k][m];a[k][m]=temp;} mPrint(a);} main(){ mArray();} 输入的那个函数你自己写。我懒得输入... N=3,N=5的两张结果图 ...
C程序,从键盘上输入任意整型数组3x3型,从中找出所在行是最大,所在列...
答:printf("请任意输入一个3*3的整型数组:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]); //输入数字,对数组进行初始化 for(i=0;i<3;i++){ row=i; //先假定row的值等于当前行 flag=1;for(j=1;j<3;j++){ //从当前行中找出该行的最小值,即要...
c语言,求助大神! 从键盘上输入三个字符串,将这三个串从小到大排序。
答:C的字符串是用字符数组操作的,所以排序应该用指针数组完成,以避免字符串拷贝。由于只有3个字符串,用直接操作的办法而不用循环以避免不必要的开销;输入函数选用fgets,既可以方便地控制输入长度不越界,又能允许字符串中存在空格。代码如下:include "stdio.h"#include "string.h"int main(int argc,...
...运用数组实现此程序,从键盘上输入不超过50个数字,统计其中的英文字符...
答:include<stdio.h> void main(){ int i,blank=0,letter=0,figure=0;char a[50];printf("pleass input array!\n");gets(a);for(i=0;a[i]!='\0';i++){ if(a[i]==' ')blank++;if(a[i]>'a'&&a[i]<'z'||a[i]>'A'&&a[i]<'Z')letter++;if(a[i]>'0'&&a[i]<...
从键盘上输入十个整数放入数组,找出最小数和它的下标,然后将最小数移动...
答:// 输出移动后的数组 printf("移动后的数组为:\n");for(int i = 0; i < 10; i++) { printf("%d ", arr[i]);} printf("\n");return 0;} ```这个程序使用循环实现从键盘上读入十个整数,并在读入过程中找出最小数及其下标。随后,使用另一个循环将最小数移动到数组的第一个位置...
c语言:输入5个整数,放入数组中,输出最大元素和最小元素的值
答:思路:先定义一个数组,并键盘输入一个数赋值给数组的第一个数,且把该数赋值给最大值和最小数,接着for循环输出剩下4个数,并判断该数和最大值最小值的大小关系,更新最大值和最小值,最后输出最大值和最小值。参考代码:include "stdio.h"int main(){int a[5],max,min,i;scanf("%d",...
...键盘上任意输入10个2位或3位整数存放在array数组中,找出array数组中...
答:程序:include<stdio.h> int sort(int word,int a[]){ int j,h,t;for(h=0;h<word;h++){ for(t=0;t<word-h;t++){ if(a[h]<a[h+1]){ t=a[h];a[h]=a[h+1];a[h+1]=t;} } } } main(){ int i,k,array[9],b[9];printf("please enter nine numbers:\n")...