求c语言编程:1~声明有n个元素的一维数组,随机输入n个元素的值,输出n个元素 2~对数组进行排序(
#include
#include
#include
int main()
{
int a[10];
int i,j,t;
srand(time(NULL));
for(i = 0; i < 10; i ++)
a[i] = rand()%100;
for(i = 0; i < 9; i ++)
for(j = i+1; j < 10; j ++)
if(a[i]<a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
for(i = 0; i < 10; i ++)
printf("%d ", a[i]);
}
#include
printf("请输入10个整数:
");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("
输入的10个数是:
");
printf("输出你输入的元素:
");
for(int i=0;i<10;i++){
printf("arr[%d]=%d
",i,arr[i]);
}
printf("数组总和为:%d
",sum);
}
与结构或类中的字段
数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。
数组元素并非只能是基元数据类型,还可以是结构、枚举或类。
以上内容参考:百度百科-数组
想起了8年前我苦心学C语言的艰难,没有电脑,没有师傅,代码都写在草稿纸上的。
希望你能好好学习编程,代码写的很详细了。
多读,多看,多写,多调试。
先贴效果:
1---------随机数组初始化为:
28 95 15 42 43 25 5 10 76 35
2---------数组排序后的结果为:
5 10 15 25 28 35 42 43 76 95
3---------请输入X值,查找是否存在
25
存在第 4 个位置
4---------输入X值,插入数组中。
35
插入后的数组为
5 10 15 25 28 35 35 42 43 76
5---------输入您要删除的元素X
35
5 10 15 25 28 42 43 76 -1 -1
请按任意键继续. . .
再贴源代码:
#include "stdio.h"
#include "conio.h"
#include <time.h>
#include <math.h>
#include<stdlib.h>
//给定数组,打印出来
void printArray(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
printf("\n");
}
//给定数组 冒泡排序
void bubblesort(int a[],int n)
{
int i,j,temp=0;
for(i=0;i<n;i++)
{
for(j=n-1;j>i;j--)
{
if(a[j]<a[j-1])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
//给定数组和要查找的元素,查找是否存在
int isExist(int a[],int key,int n)
{
int pos=-1;
for(int i=0;i<n;i++)
{
if(a[i]==key)
{
pos=i;
break;
}
}
return pos;
}
//给定数组和要插入的元素
void insertArray(int a[],int key ,int n)
{
int pos=-1;//记录要插入的位置
for(int i=0;i<n;i++)
{
if(a[i]>key)
{
pos=i;
break;
}
}
//从最后一个开始,元素后移动,数组长度不够,最后一个会丢失的
if(pos>=0&&pos<n)
{
for(int i=n;i>pos;i--)
{
a[i]=a[i-1];
}
a[pos]=key;
}
}
//给定数组和要删除的值key 删除所有和key相等的值
void deleteArray(int a[],int key,int n)
{
int k=-1;
for(int i=0;i<n;i++)
{
if(a[i]==key)
{
//找到要删除的元素 从后往前覆盖
for(k=i;k<n-1;k++)
{
a[k]=a[k+1];
}
a[k]=-1;//最后用-1 替换掉
i=i-1;//推回一格,重复的元素也要删除掉
}
}
}
main()
{
int a[10]={0};
int x=0,pos=-1;
time_t t;
srand((unsigned)time(&t));
//随机初始化数组
for(int i=0;i<10;i++)
{
a[i]=rand()%100+1;
}
printf("\n1---------随机数组初始化为:\n");
printArray(a,10);
printf("\n2---------数组排序后的结果为:\n");
bubblesort(a,10);
printArray(a,10);
printf("\n3---------请输入X值,查找是否存在\n");
scanf("%d",&x);
pos=isExist(a,x,10);
if(pos==-1)
printf("不存在!\n");
else
printf("存在第 %d 个位置\n",pos+1);
printf("\n4---------输入X值,插入数组中。\n");
scanf("%d",&x);
insertArray(a,x,10);
printf("插入后的数组为\n");
printArray(a,10);
printf("\n5---------输入您要删除的元素X\n");
scanf("%d",&x);
deleteArray(a,x,10);
printArray(a,10);
system("pause");
}
给你写好了,明天发上来,现在电脑断网了
用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其...
楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)include <stdio.h> int max(int * a, int n){ int i;int * p = a;for ( i = 0; i < n; i++ ...
C语言:给定一数组,包涵n个元素,设计功能函数,使用选择排序法,对其进 ...
则更新记录最小元素的下标k k=j; }\/\/如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置 if(k != i) { tmp=arr[k]; arr[k]=arr[i]; arr[i]=tmp; } }} ...
输入n,m和数组元素的c语言是什么?
在C语言中,如果你想输入整数n和m,以及一个包含n个元素的数组,可以使用以下代码:```c include <stdio.h> int main() { int n, m;printf("Enter the value of n: ");scanf("%d", &n);printf("Enter the value of m: ");scanf("%d", &m);int arr[n];printf("Enter %d ...
C语言编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回...
include<stdio.h>double fun(int a[],int n,int *max,int *min){int i,s; *max=*min=s=a[0]; for(i=1;i<n;i++) {if(a[i]>*max)*max=a[i]; if(a[i]<*min)*min=a[i]; s+=a[i]; } return (float)s\/n; }int main(){int n,max,min,i,a[100...
C语言编程,设a是一个有十个元素的整型数组,统计奇数和偶数个数
参考代码:include<stdio.h>#include<math.h>int main() { int i,j=0,o=0,a[10]={0,1,2,3,4,5,6,7,8,9}; for(i=0;i<10;i++) if(a[i]%2) j++; else o++; printf("奇数有%d个,偶数有%d个。\\n",j,o);return 0; }\/*运行结果:奇数有5个,偶数有5个。*\/ ...
C语言编程:从一个有n个元素的整型数组中,寻找一个指定的数,若找到返...
include<stdio.h> int findnum(int *pint,int n,int num){ int i;for(i=0;i<n;i++){ if(*(pint+i)==num) return i;} return -1;} void main(){ int a[10]={1,2,10,7};int b=10;int c=findnum(a,10,b);printf("%d",c);} ...
...C语言:1,编写函数int *min(int array[],int n),返回n个元素的...
不知道你要的 “最小元素的地址” 是计算机存放地址 还是数组下标。计算机存放地址 需要 unsigned int, 而不能是 int.猜想,是要数组下标,int min() 就可以。程序如下:include<stdio.h> int min(int array[], int n){ int i, s, k;s=array[0];for (i=0;i<n;i++) if (array[...
C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?
A[n]—表示定义了一个含有n个元素的一维数组,数组元素的范围:A[0]~A[n-1],没有A[n]这个元素的。
用C语言编程求从1、2到n中取k个元素的全排列,
include<stdio.h> define MAXN 100 int a[MAXN] = {0};int flag[MAXN] = {0};void comb(int m,int s){ int i;if (s>=m){ for (i=0;i<m;i++)printf("%d",a[i]);printf("\\n");} else { for (i=1;i<=m;i++)if ...
声明一个包含10个元素的整形数组,使用随机数为数组成员进行初始化,并...
4、二维数组可以用大括号括起来的数字直接赋值,内层大括号中每对表示一行,每对内层大括号中的值表示一行中的各数值。5、运行程序,可以看到二维数组中的值,成功输出了。6、只给二维数组中的部分元素赋值,例如只给一行赋初值。7、运行程序,可以看到数组中,只有第一行有设置的初值,其他行的值都为...