⑴ c语言题:在键盘输入10个整数 逆序存放并输出
比较简单的方法是创建一个数组
从下标为9开始递减进行输入至下标为0
这样存储就会是倒序的了
然后再从下标为0开始递增输出到下标为9
另一种方法是创建两个数组
比如a和b,先顺序地将10个数据存储在a里
然后通过一个循环来将数据逆序存储在数组b里
这样数组b里就是逆序存储的了
最后顺序输出数组b
当然还有一种方法
可以使用一个链表(或者数组也可以)
然后使用栈的方式存储数据
题目中要求数据的存放是逆序的
这其实要具体地看存储的方式了
以栈来说,栈是一种先进后出的数据结构
从这种层面上来看的话它存储的数据就是“逆序”的
但如果使用一个数组来实现的话存储在数组里的数据就可能是顺序的(不使用逆序有方式将数据存储在数组里)
一个简单的例子
#include<stdio.h>
#definePUSH(i)(*p=i,++p)
#definePOP(i)(--p,i=*p)
intmain(intargc,char**argv)
{
inta[10];
inti,r;
int*p=a;
for(i=0;i<10;++i)
{
scanf("%d",&r);
PUSH(r);
}
for(i=0;i<10;++i)
{
POP(r);
printf("%d",r);
}
printf(" ");
return0;
}
该例子,如果从栈这种数据结构的方式来看
先输入的数据会被压入到栈底
最后的数据在栈顶,从栈顶到栈底来看的话
数据的存储就是逆序的
如果从数组下标来看的话就是顺序的
这里我们可以将指针反转过来
#include<stdio.h>
#definePUSH(i)(*p=i,--p)
#definePOP(i)(++p,i=*p)
intmain(intargc,char**argv)
{
inta[11];
inti,r;
int*p=a+10;
for(i=0;i<10;++i)
{
scanf("%d",&r);
PUSH(r);
}
for(i=0;i<10;++i)
{
POP(r);
printf("%d",r);
}
printf(" ",a[0]);
return0;
}
那么在数组的层面上来说也会是逆序的了
而以数组的顺序或逆序方式来说的话
使用链表的方式则已经没有相对明确的“顺序”或者“逆序”了
当然我们也可以使用逆序链表的方法业创建栈数据结构
由于栈数据结构的性质决定了这种数据存储的方式
⑵ C语言程序:用数组将输入的10个数字反向输出。请高手帮忙,初学者请教!
#include<stdio.h>
#include<stdlib.h>
#define N 10
main()
{
int a[N],i,temp;
for(i=0;i<=N-1;i++)
scanf("%d",&a[i]);//存一个十个数的数组
for(i=0;i<=N-1;i++)//打印 输入的数组
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<=N/2-1;i++)
{
temp=a[N-i-1];//把头和尾的交换。主要是下之间的关系要找对
a[N-1-i]=a[i];
a[i]=temp;
}
for(i=0;i<=N-1;i++)//打印处理后的数组
printf("%d\t",a[i]);
printf("\n");
system("pause");
}
⑶ c语言怎么正向反向输出字符
这里分享下c语言正向反向输出字符的方法。
设备:联想h430
系统:win1064位
软件:c语言c99
1、打开Dev-C++软件,新建一个空白文件。
7、最后,输出宽字符变量,用wprintf命令实现输出。
⑷ C语言:输入10个数,将这十个数以逆序形式输出
授人以鱼不如授人以渔!虽然我也是复制的,希望对你有帮助!
这个程序是谭浩强书上的经典程序:
for
(i=0;i<N/2;i++)
(一)
关于N/2:
从零开始循环,一直到某个数的一般,比如N=15,则是0--7;
若N=16,则是0--8
为啥?
因为奇数是关于中间对称:比如15,中间是8,两边的是:1--7和
9--15,两边是7个,中间一个
所以中间的不用循环,即是中间的8不用调换,两边的调换
而偶数16,1--8和9--16都是8
个,直接调换即可
{
(二)
t=a[i];
把第i个赋给t
a[i]=a[N-1-i];
把与第i个对称的赋值给第i个
a[N-1-i]=t;
然后t(即刚才的第i个赋给与i对称的)
完成了对调
}
(三)
关于N-1-i
例如15:因为第一个是0(i=0,所以a【i】=a【0】),所以与0对称的是14(因为是15个数,所以是标号0----14),即a【0】----a【14】、
a[1]----a[13],a[2]---a[12],………………
所以是
0-----15-1-0
1-----15-1-1
2-----15-1-2
………………
即i与N-1-i对调
⑸ C语言:键盘输入10个数存入数组中,将这10个数逆序输出
这是你要求的程序,我已经通过vc调试运行通过了
#include<stdio.h>
void main()
{
int i=0,array[10];
for(i=0;i<10;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&array[i]);
flushall();
}
printf("逆序输出为:\n");
for(i=9;i>=0;i--)
printf("%d\t",array[i]);
printf("\n");
}
⑹ C语言:键盘输入10个数存入数组中,将这10个数逆序输出
通过循环即可实现该功能
1 顺序循环,输入10个数值;
2 逆序循环,输出10个数。
代码
intmain()
{
inti,a[10];
for(i=0;i<10;i++)
scanf("%d",a+i);
for(i=9;i>=0;i--)
printf("%d",a[i]);
return0;
}
⑺ C语言 10个连续的数字反向输出,这个程序那里错误了
定义的时候就直接赋值就好了
就是int a[10]={1,2,3,4,5,6,7,8,9,10} ;
这样就OK了
⑻ C语言,输入十个数,逆序输出(数组实现)
#include<stdio.h>
#define N 10
int main()
{
int a[N]={0,1,2,3,4,5,6,7,8,9};
int i,t;
printf("原始数组是: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
for(i=0;i<N/2;i++)
{
t=a[i];
a[i]=a[N-1-i];
a[N-1-i]=t;
}
printf(" 排序后的数组: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf(" ");
return 0;
}
(8)c语言10个反向输出扩展阅读:
数组中的元素:
与结构或类中的字段的区别
数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。
数组元素并非只能是基元数据类型,还可以是结构、枚举或类。
参考资料:网络——数组
⑼ C语言编程,输入10个整数,分别按顺序和逆序输出
C语言通过输入十个整数然后分别顺序和逆序输出的编程思想和方法如下:
1.首先需要定义一个整型数组用于存储输入的10个整数。这里定义一个数组a。
⑽ C语言:输入十个数再把这十个数逆序输出怎么弄啊
思路是:这十个数用数组a[10]存储,然后以a[9]-a[0]逆序输出,这是很简单的事情