C语言:从键盘输入n个整数并放到数组x中,编写一个函数,它将数组x中的元素颠倒后仍然存放在原数组中。
#include
#include
void sw(int *x,int n)
{
int i,t;
for(i=0;i<n/2;i++)
{
t=x[i];
x[i]=x[n-1-i];
x[n-1-i]=t;
}
printf("
逆序后的数组为:
");
for(i=0;i<n;i++)
printf("%d ",x[i]);
}
int main()
{
int n,i,t;
int *x;
printf("输入数组个数:");
scanf("%d",&n);
x=(int *)malloc(n*4);
printf("输入%d个数:",n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
sw(x,n);
printf("
");
return 0;
}
//如果会的话最好自己写啊,这样才会有提高
#include"stdio.h"
intmain()
{
inti;
floatmax,min,num[10];
printf("请输入10个数,每输入一个数按回车键结束:\n");
for(i=0;i<10;i++)
{
scanf("%f",&num[i]);
}
max=min=num[0];
for(i=1;i<10;i++)
{
if(max<num[i])
max=num[i];
elseif(min>num[i])
min=num[i];
}
printf("最大为:%f\n最小为:%f\n",max,min);
return0;
}
运行效果:
扩展资料:return用法:
在C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值.
1、C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:
int main(void)
int main(int argc,char*argv[])
当然,我也可以做一点小小的改动。例如:char*argv[]可以写成char**argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv[])。
main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如操作系统)。
如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。
注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc3.2(Linux下的C编译器)会在生成的目标文件中加入return 0;。
2、C++
C++98中定义了如下两种main函数的定义方式:
int main()
int main(int argc,char*argv[])
int main()等同于C99中的int main(void);int main(int argc,char*argv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。
如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++3.2(Linux下的C++编译器)支持。
这个可以用指针来完成,具体的代码如下:
#include<stdio.h>
void reversal( int *p, int n)
{
/*
用来将一个长度为n的数组中的元素颠倒
*/
int i,j,tmp;
i = 0;
j = n - 1;
while(i < j)
{
tmp = p[j];
p[j--] = p[i];
p[i++] = tmp;
}
}
int main(void)
{
int x[1000];
int n;
int i;
printf("请输入n(n < 1000):");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i = 0; i < n; i++)
scanf("%d",&x[i]);
reversal(x,n);
printf("颠倒后的数组为:");
for(i = 0; i < n; i++)
printf("%d ",x[i]);
putchar('
');
}
reversal即用来执行将数组颠倒的功能。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void myfun(int *p,int n){
int i,j;
for(j=n-1,i=0;i<j;i++,j--){
p[i]^=p[j];
p[j]^=p[i];
p[i]^=p[j];
}
}
int main(void){
int N,n,x[100],i;
scanf("%d",&N);
while(N--){
scanf("%d",&n);
for(i=0;i<n;scanf("%d",x+i++));
myfun(x,n);
for(i=0;i<n;printf("%d ",x[i++]));
printf("
");
}
return 0;
}
答:1、可以预先定义足够大的数组(浪费在所难免),然后将键盘输入的整数存入数组,并累计数据个数。...int i,n = 0,a[1024]while(1) { printf("输入整数(q: 结束输入过程)%d : ", n + 1);if(scanf("",&a[n]) != 1) break;++n;} for(i = 0; i < n; ++i) printf("%d ",a...
答:你要是写过书本上的那一个输入三个数,排序并输出就好办了 注:C语言中可以将数组长度定义为变量,只是这种方法在vs中编译不能通过,但在更为标准的dev中以及gcc中完全可以编译通过!include"stdio.h"include"conio.h"{int main()int length;printf("请输入要排序的数字个数:\n");scanf("%d",...
答:include <stdio.h> void sort(float a[], int n){ int i, j;float t;for (i = 0; i < n; i++)for (j = 0; j < n - 1 - i; j++)if (a[j] > a[j + 1]){ t = a[j];a[j] = a[j + 1];a[j + 1] = t;} } int main(void){ int i, n;float a...
答:得到如下代码:include <stdio.h>int main(){ int n, a[256], imax, i; scanf ("%d", &n); for (i = 0; i < n; ++i){ scanf ("%d", &a[i]); } imax = a[0]; for (i = 1; i < n; ++i){ if (imax < a[i]) imax = a[i]; ...
答:c语言程式设计:阵列:输入一个正整数n,再输入n个正整数并从大到小排序输出。 采用冒泡法,C语言书上应该有这样的例子的。原理其实很简单,就是将每个数依次比较,每次取最大的数,全部比较完成,就输出来,然后再比较剩下的。C语言 从键盘输入10个整数,将这10个整数按从小到大的顺序输出。 #...
答:#include\x0d\x0avoid main()\x0d\x0a{\x0d\x0aint n,i,j,t,a[10000];\x0d\x0aprintf("请输入正整数N:");\x0d\x0ascanf("%d",&n);\x0d\x0aprintf("请依次输入%d个数",n);\x0d\x0afor(i=0;ia[i+1])\x0d\x0a{\x0d\x0at=a[i];\x0d\x0...
答:scanf("%d", &n); for(i = 0;i < n;i++) { int tmp; scanf("%d", &tmp); if(max == 0 || tmp > max) { max = tmp; } } printf("输入%d 个数中最大的数为:%d\n", n, max);} ...
答:void printArray(int a[],int n){ int i;for(i=0;i<n;i++){ printf("%2d ",a[i]);} } void swap(int *a,int *b){ int temp;temp=*a;a=*b;b=temp;} void selectSort(int a[],int n){ int i,j,k;for(i=0;i<n-1;i++){ k=i;for(j=i+1;j<n;j++){ if...
答:#include<stdio.h> intmain(){ intn,i,j,t;inta[11];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ for(j=0;j<n-i;j++){ if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1...
答:void MAX(int *a,int);//求最大数 void MIN(int *a,int);//求最小数 void Ping_Jun_Shu(int *a,int);//求输入n个数中的偶数平均数和 int n,int a[N];//存放输入的n个数 printf("请输入要输入的正数个数n=");scanf("%d",n);for(int i=0;i<n;i++)//for循环输入整数 ...