1. 用c语言将一个数组中的值按逆序重新存放,怎么编辑
你这个逆序是指大小逆序还是说整个数组倒置?
如果是大小逆序很简单,使用一个冒泡排序法就可以搞定
至于数组倒置的话,就声明一个同样大小的新数组,让新数组的第一个元素等于原数组的最后一个,第二个元素等于原数组的倒数第二个,以此类推很好写的void reverse(int* m,int n)//其中m表示数组,n表示数组元素个数{ int i=0; int k=(n+1)/2; int* ptStart=m; int* ptEnd=m+n-1; while(i<k) { if(ptStart==ptEnd) break; int
这题目书上有例子的,你还是自己把书多看几遍吧,我开始跟你一样,一看到不懂就想问别人, 先把书上想关例子思路想清楚了,过段时间自己再根据那思路方法自己慢慢编吧.
2. 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;
}
那么在数组的层面上来说也会是逆序的了
而以数组的顺序或逆序方式来说的话
使用链表的方式则已经没有相对明确的“顺序”或者“逆序”了
当然我们也可以使用逆序链表的方法业创建栈数据结构
由于栈数据结构的性质决定了这种数据存储的方式
3. C语言编程 输入10个整数为数组,逆序储存这10个数并输出(用printf)
#include<stdio.h>
intmain()
{
inta[10];
inti;
intt;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
t=a[i];
a[i]=a[9-i];
a[9-i]=t;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
printf(" ");
}
4. 用C语言将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.
#include<stdio.h>
int main()
{
int a[20]={1,0},i,n,j;
printf("请输入数组元素的个数:");
scanf("%d",&n);
printf("请输入数组元素: ");
for(i=0;i<n;i++)
scanf("%d",&a<i>);
for(i=0;i<n/2;i++)
a<i>=a[n-1-i];
printf("逆序存放后的数组: ");
for(i=0;i<n;i++)
printf("%d",a<i>);
return 0;
}
(4)批量数据逆序存储c语言扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
5. 用C语言将一个数组中的值按逆序重新存放怎么操作
#include <stdio.h>
#define N 5
int main()
{ int a[N],i,temp;
printf("enter array a: ");
for (i=0;i<N;i++)
scanf("%d",&a[i]);
printf("array a: ");
for (i=0;i<N;i++)
printf("%4d",a[i]);
for (i=0;i<N/2;i++) //循环的作用是将对称的元素的值互换
{ temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf(" Now,array a: ");
for (i=0;i<N;i++)
printf("%4d",a[i]);
printf(" ");
return 0;
}
6. C语言,将一个数组中的值按逆序重新存放
#include "stdio.h"
void Swap(int *a, int *b) /*交换a、b两个数*/
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void Turn(int a[], int left, int right) /*对数组a从left到right区域实现逆置(翻转)*/
{
int i, j;
for(i = left, j = right; i < j; i++, j--)
Swap(&a[i], &a[j]);
}
void main( )
{
int n, i, a[100];
scanf("%d", &n); /*输入数组中数据元素的个数*/
for(i = 0; i < n; i++) /*输入数组中各个数据元素*/
scanf("%d", &a[i]);
Turn(a, 0, n - 1); /*翻转*/
for(i = 0; i < n; i++) /*输出翻转结果*/
printf("%d\t", a[i]);
}
7. 编写一个C语言程序:将一个数组中的值按逆序重新存放
#include<stdio.h>
int main()
{int n,i,j,t,a[200];
printf("数组中数的个数:");
scanf("%d",&n);
printf("数组中的数: ");
for(i=0;i<n;i++)
{
a[i]=i+1;
printf("%d ",a[i]);
}
for(i=0,j=n-1;i<j;i++,j--)
{t=a[i];a[i]=a[j];a[j]=t;}
printf(" 逆序后的数组: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" ");
getch();
return 0;
}
8. C语言中,将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求 改为:1,4,
#include<stdio.h>
int main()
{
int a[5]={8,6,5,4,1};
int temp,i=0,j=0;
for(i=0;i<2;i++)
{
temp=a[i];
a[i]=a[4-i];
a[4-i]=temp;
} //将第一个和最后一个值交换,思路就是这样
for(i=0;i<5;i++){
printf("%d ",a[i]);
}
return 0;
}
(8)批量数据逆序存储c语言扩展阅读:
数组的使用规则
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1},而不能写为:static int a[10]=1。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
网络-数组
9. c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5,4,3,要求改为3,4,5
1、首先以一个数组变量和一个数组长度变量。
10. c语言将数组中的数逆序存放
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
#include<stdio.h>
main()
{
int a[10],b[10],i,j,n,count=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a<i>);
}
for(j=n-1;j>=0;j--)
{
b[count]=a[j];
count++;
}
printf("%d",b[0]);
for(i=1;i<n;i++)
{
printf("%d",b<i>);
}
}
(10)批量数据逆序存储c语言扩展阅读:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。