C语言,从键盘输入10个浮点数保存到数组中,将这10个数逆序存放后输出。
比较简单的方法是创建一个数组
从下标为9开始递减进行输入至下标为0
这样存储就会是倒序的了
然后再从下标为0开始递增输出到下标为9
另一种方法是创建两个数组
比如a和b,先顺序地将10个数据存储在a里
然后通过一个循环来将数据逆序存储在数组b里
这样数组b里就是逆序存储的了
最后顺序输出数组b
当然还有一种方法
可以使用一个链表(或者数组也可以)
然后使用栈的方式存储数据
题目中要求数据的存放是逆序的
这其实要具体地看存储的方式了
以栈来说,栈是一种先进后出的数据结构
从这种层面上来看的话它存储的数据就是“逆序”的
但如果使用一个数组来实现的话存储在数组里的数据就可能是顺序的(不使用逆序有方式将数据存储在数组里)
一个简单的例子
#include #define PUSH(i) (*p=i,++p)#define POP(i) (--p,i=*p)int main(int argc,char **argv){ int a[10]; int i,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("
"); return 0;}该例子,如果从栈这种数据结构的方式来看
先输入的数据会被压入到栈底
最后的数据在栈顶,从栈顶到栈底来看的话
数据的存储就是逆序的
如果从数组下标来看的话就是顺序的
这里我们可以将指针反转过来
#include #define PUSH(i) (*p=i,--p)#define POP(i) (++p,i=*p)int main(int argc,char **argv){ int a[11]; int i,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]); return 0;}那么在数组的层面上来说也会是逆序的了
而以数组的顺序或逆序方式来说的话
使用链表的方式则已经没有相对明确的“顺序”或者“逆序”了
当然我们也可以使用逆序链表的方法业创建栈数据结构
由于栈数据结构的性质决定了这种数据存储的方式
#include "stdio.h"
main()
{
int a[10],i,temp;
printf("请输入10个整数,以空格隔开:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
temp=a[i];
a[i]=a[9-i];
a[9-i]=temp;
}
printf("
反序输出为:");
for(i=0;i<10;i++)
printf("%d",a[i]);
}
#include "stdio.h"
int main(int argv,char *argc[]){
double x[10];
int i;
printf("Please enter the 10 floating point number:
");
for(i=9;i>=0;scanf("%lf",x+i--));
for(i=0;i<10;printf("%.6f ",x[i++]));
printf("
");
return 0;
}
运行样例:
//希望我的回答对你的学习有帮助
#include <stdio.h>
int main()
{
float a[10];
for (int i = 9; i >= 0; i--)
{
scanf("%f", &a[i]);
}
for (int i = 0; i < 10; i++)
{
printf("%4.1f", a[i]);
}
return 0;
}
你是不是做acm啊,这种错误是表示错误,答案已经对了,你在仔细找找吧,普通的编译器上面是没问题的。
C语言编程题:从键盘输入一个小写字母,在屏幕上显示其对应的大写字母_百 ...
【C语言输入小写字母,输出显示为大写字母主要用到字符】例子如下:直接编译,程序输出结果中输入任意小写字母,按回车,得到结果如下图所示:
C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母...
1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...
求汇编语言程序:从键盘输入一字符串(>1)在下一行以相反次序显示出来...
CODE SEGMENT ASSUME CS:CODE STR1 DB 254,?,254 DUP(?) START: PUSH CS POP DS PUSH CS POP ES LEA DX,STR1 MOV AH,10 INT 21H MOV AH,2
如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并...
以一个8为字符串为例:代码如下 include<stdio.h> int main(){ int i,j;char ch1[8],ch2[8];for(i=0;i<8;i++){ printf("请输入第%d个字符",i);scanf("%c",&ch1[i]);fflush(stdin);} for(j=0;j<8;j++){ ch2[j]=ch1[7-j];printf("%c",ch2[j]);} } ...
1。从键盘输入一个小写字母,要求用大写字母形式输出该字母及对应的ASCI...
若输入a, 其前一个字母用 Z, 若输入z, 其后一个字母用 A 输入其它字符,则输出其前后字符。include<stdio.h> int main(){ char a,b,c;float F,C;printf("input a lower case char\\n");c=getchar();if (c >='a' && c <= 'z') { c = c -'a'+'A';if (c == 'A')...
怎么打出圆圈1
1、打开一个word文档,输入一个数字1。 2、选中数字1,点击菜单栏的字,然后选择带圈字符。 3、样式选择增大圈号,然后圈号选择圆圈,然后点击确定。 4、然后就可以得到圆圈1了。 手机端: (手机型号:一加11,软件及版本号:讯飞输入法 12.1.6) 1、打开任意输入位置,调出手机的输入法,然后点击键盘上的符。 2、找...
C语言从键盘输入一个字符串,然后输出一个新字符串,如原串为abcd,则新...
include<stdio.h> void fun(char *s){ char t[30];int k=0,i=0,j=0;while(s[i])t[k++]=s[i++];i=0;while(i<2*k-1){ if(i%2==0)s[i]=t[j++];else s[i]='*';\/\/这里的*改为空格;i++;\/\/用*(星号)为了看着更直观 } s[i]='\\0';} int main(){ char ...
C语言程序代码哪错了:要求是从键盘输入一个数,将每一位数字转换为英文单...
include <stdio.h>#include <math.h>void main(){int n,i=0,j,a;scanf("%d",&n);a=n ; \/\/n不能变为0,换成a去处理,这样,才能保证后面 j=n\/a;时n是正确的值!!while(a) \/\/{a\/=10; \/\/i++;}printf("n是一个%d位数\\n",i);for( i--;i>=0;--i) \/\/这里应该先减...
C语言编程:从键盘输入一个字符串,查找指定子串第一次出现的位置。求问题...
flag;\/\/输入一串字符printf("Input a string:");gets(s);\/\/输入想要查找的字符printf("Input another string:");gets(d);\/\/调用函数,输出结果flag=SearchString(s,d);if(flag==-1)printf("Not found!\\n");elseprintf("Searching results:%d\\n",flag);system("pause");...
C语言,从键盘输入一个三位正整数,如果各位数字之和等于10,则输出yes...
; b=a%10;\/\/ 个位上的数值 c=a%100\/10;\/\/十位上的数值 d=a\/100;\/\/百位上的数值 e=b+c+d; printf("%d %d %d\\n",b,c,d); if(e==10) printf("yes\\n"); else printf("no\\n");} 输出 input the number1455 4 1yes ...
戈奚重组: 程序如下 供参考1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19#include <stdio.h> #include <math.h> voidarrSqrt(float* a) {inti;for(i = 0; i < 10; i ++)a[i] = sqrt(fabs(a[i])); } intmain() {floata[10];inti;for(i = 0; i < 10; i ++)scanf("%f", &a[i]);...
图木舒克市17118097805: 编写一个程序,从键盘输入10个浮点数,算出这10个浮点数的和以及平均值用c语言 - ?
戈奚重组: #include <stdio.h> int main() {float total=0,average=0,myfloat=0;for(int i=1;i<11;i++){scanf("%f",&myfloat);total=total+myfloat;}average=total/10;printf("The Total is %f",total);printf("The average is %f",average);return 0; }
图木舒克市17118097805: C语言从键盘上输入10个float型数据存储于某一维数组,用指针的形式对数组元素进行访问输出. - ?
戈奚重组: #include<stdio.h> int main() { int i; float a[10]; float *p; for(i=0;i<10;i++) scanf("%f",&a[i]); p=a; for(i=0;i<10;i++) printf("%f",*p++); return 0; }
图木舒克市17118097805: C语言题目:要求用户从键盘输入10个浮点数,程序计算这10个数的和与平均值并显示出来,要求用for循环语句 - ?
戈奚重组: a是float类型,输入要%f...sum是整型,也不对输出也是相似
图木舒克市17118097805: 从键盘输入10个浮点数,求其平均值用数组来实现结果保留一位小数 - ?
戈奚重组: 下面的程序可以实现求平均值.先把源程序复制在下面吧.#include<stdio.h>#include<stdlib.h> int main() { float num[10]; float sum=0.0; float ave; int i; for(i=0;i<10;i++) { printf("please input %d number:",i+1); scanf("%f",&num[i]); sum+=num[i]; ...
图木舒克市17118097805: 编写程序,从键盘接收10个浮点数,输出其中最大的数. - ?
戈奚重组: 参看:http://zhidao.baidu.com/question/233077787.html#include<stdio.h> void main() { int a,i=1,max,min; printf("请输入浮点数:\n"); scanf("%f",&a); //整数"%d", 浮点数%f max=min=a; while(i<10) { i++; scanf("%f",&a); if(max<a)...
图木舒克市17118097805: 谁会编程帮忙做下从键盘接收10个浮点数,输出其中最大的数?
戈奚重组: #include "stdio.h" #define N 10 main() {int i,j,min,temp,a[N];printf("请输入十个数:\n");for(i=0;i<N;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");for(i=0;i<N-1;i++){...
图木舒克市17118097805: 编写C语言程序,从键盘输入10个整数保存到数组中,从大到小排序写入到C盘根目录date.txt文件 - ?
戈奚重组: #include<stdio.h>#define N 10 void main() { int a[N],i,j,k; FILE *fp;for ( i=0;i<N;i++ ) scanf("%d",&a[i]);for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) { k=a[i];a[i]=a[j];a[j]=k; }if ( fp=fopen("c:\\data.txt","w+") ){ for ( i=0;i<N;i++ ) fprintf(fp,...
图木舒克市17118097805: C程序,先从键盘输入10个数存放在数组a中,再将a的元素中所有偶数值存放到数组b中. - ?
戈奚重组: 可以参考下面的代码://#include "stdafx.h"//vc++6.0加上这一行#include "stdio.h" int main(void){ int i,j,a[10],b[10]; printf("Input 10 integers...\n"); for(j=i=0;i<10;i++){ scanf("%d",a+i); if(a[i]&1) continue; b[j++]=a[i]; } printf("\na: ");//打出...
图木舒克市17118097805: C语言:从键盘输入10个整数,存入数组中,再将该数组中数在同一数组中反向存放,然后输出. - ?
戈奚重组: #include "stdio.h" main() {int a[10],i,temp;printf("请输入10个整数,以空格隔开:");for(i=0;i<10;i++){scanf("%d",&a[i]);} for(i=0;i<5;i++){temp=a[i];a[i]=a[9-i];a[9-i]=temp;}printf("\n反序输出为:");for(i=0;i<10;i++)printf("%d\t",a[i]); }