大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
从最后一个元素,逆向遍历到数组的0元素,逐一输出即可实现。
创新互联主要从事成都网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务永兴,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
1、创建数组;
2、输入值;
3、逆序遍历输出数组。
代码:int main(){ int a[10]; int i;
for(i = 0; i 10; i ++)
scanf("%d",a+i);
for(i = 9; i = 0; i --)
printf("%d ", a[i]);}
扩展资料:
将一个数组逆序输出。
1、程序分析:用第一个与最后一个交换。
2、程序源代码:
#define N 5
main()
{ int a[N]={9,6,5,4,1},i,temp;
printf(" original array: ");
for(i=0;i printf("%4d",a[i]);
for(i=0;i {temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf(" sorted array: ");
for(i=0;i printf("%4d",a[i]);}
参考资料:百度百科 c语言
int size=10 //定义数组长度
int aa[size];
for(int i=0;isize;i++)
{
scanf("%d",aa[i]);
}
for(int i=size-1;i=0;i--)
{
printf("%d",aa[i]);
}
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
#includelt;stdio.hgt;
main()
{
int a[10],b[10],i,j,n,count=0;
scanf("%d",n);
for(i=0;ilt;n;i++)
{
scanf("%d",alt;igt;);
}
for(j=n-1;jgt;=0;j--)
{
b[count]=a[j];
count++;
}
printf("%d",b[0]);
for(i=1;ilt;n;i++)
{
printf("%d",blt;igt;);
}
}
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
数组逆序输出,只要从数组最后一位向前循环输出即可。
实现代码如下:
#include"stdio.h"
void main()
{
int a[100],n,m;
printf("请输入元素的个数:");
scanf("%d",n);
printf("请依次输入%d个数:",n);
for(m=0;mn;m++)
scanf("%d",a[m]);
printf("按逆序输出为:");
for(m=n-1;m=0;m--)
printf("%d ",a[m]);
}
执行结果
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
1、打开c语言编辑器,新建一个空白的文件:
2、这里可以开始写代码了,主函数的前面定义了数组和一些变量,倒置操作在for循环中完成,这里只需要第一个元素和最后一个元素交换、第二个元素和倒数第二个元素交换、以此类推……不管数组元素的个数是奇数还是偶数,这个算法都是成立的,最后则是打印输出结果:
3、最后程序编写完成需要验证一下结果,按下crtl+F5运行程序,弹出的窗口中就能看见逆序输出的数组元素了:
#includestdio.h
void main()
{
int a[32],x,i,m;
int change(int x,int a[]);//函数声明
scanf("%d",x);
m=change(x,a);
for(i=0;im;i++)
printf("%d",a[i]);
}
int change(int x,int a[])//要和函数声明一致,所以后面也要填int x,int a[]
{
int n=0,t,k;
do { a[n]=x%2;
x=(unsigned int)x1;//要考虑到参数int x有可能为负数所以填x=x/2是不行的。
//如果x=0的话填x=x/2没有问题,实际上我估计这里出题者的本意希望填x/2,但是如果当x为负数的时候
//会出错的,要么填 x=(unsigned int)x/2也是可以的,不过 x=(unsigned int)x/2的运行效率远远低于x=(unsigned int)x1。这里牵涉的东西比较多,三言两语说不清
//如果想了解原因,建议回去看谭浩强的强制类型转换、正数和负数的2进制表示、移位3个知识点
n++;
}while(x!=0);
//do...while()这个功能就是把这个数的二进制的位存入这个数组中
for(k=0;kn/2;k++){
t=a[k];
a[k]=a[n-k-1];//实现数组中2个数交换
a[n-k-1]=t;
//for循环是为了交换顺序,比如x=11是的二进制码是1011这4个码一次存在a[3] a[2] a[1] a[0]中,而输出的时候是按a[0] a[1] a[2] a[3]这样输出的如果没有这个交换屏幕上看到的会是1101
}
return n;//返回值是数组中有用数据的个数
}
这个代码是经计算机运行验证的,绝对没有问题的,如果觉得好,请采纳,谢谢