5 c语言数组

扫码查看

其中包括:冒泡 高精度加法 统计不相同的数字个数(数组) 数组元素倒序输出 go~~~~

 #include <stdio.h>

 /*
功能:冒泡
时间:2016.11.15
*/ void InputArr(int a[],int n)
{
int i; for(i=;i<n;i++)
{
printf("请输入第一个%d元素",i+);
scanf("%d",&a[i]); }
if(i==n)
{
printf("输入完毕了哦\n");
} }
void OutArr(int a[],int n)
{
int i;
printf("-------排序后--------\n");
for(i=;i<n;i++)
{
printf("%d",a[i]);
}
}
void BubbleSort(int a[],int n)
{
int i ;
int j;
int temp;
for(i=;i<n;i++)
{
for(j=;j<n-i-;j++)//这里为什么会是n-i-1 冒泡就是相邻两者比较总有个大的在后面
//到所谓最后一次之前就确定下来了也就是n-2和n-1比较
{
if(a[j]>a[j+])
{
temp = a[j];
a[j] = a[j+];
a[j+] = temp;
}
}
}
}
void main()
{
int n = ;
int a[];//定义最大容量为20的数组
printf("请输入需要排序元素的个数\n",n);
scanf("%d",&n);
InputArr(a,n);
BubbleSort(a,n);
OutArr( a, n); system("pause"); }

5 c语言数组-LMLPHP

 #include <stdio.h>
#include <string.h>
#define M 100 /*
功能:高精度加法
时间:2016.11.15
*/
void main()
{
int a[M] = {};
int b[M] = {};
int c[M] = {};
char s[M+];
int i = ;
int n1 = ;
int n2 = ;
int max = ;
int e = ;
printf("请输入整数a\n");
gets(s);//从流中取一字符串
n1 = strlen(s);//注意 strlen()这个函数求长度不包括末尾的结束符'\0'
//printf("%d",n1);
for(i=n1-;i>=;i--)//数组元素是下标为0哦
{
a[n1--i] = s[i] - '';//数字字符的ASCII-字符0正好为其对应的整数
//比如字符9的ASCII为57 0字符为48相减为9 make it
}
printf("请输入整数b\n"); gets(s);
n2 = strlen(s);
for(i=n2-;i>=;i--)
{
b[n2--i] = s[i] - '';
}
if(n1>n2)
{
max = n1;
}else
{
max = n2;
}
for(i=;i<=max;i++)
{
c[i] = (a[i]+b[i]+e)%;
e = (a[i]+b[i]+e)/;
}
if(c[max]>)
printf("%d",c[max]);
for(i=max-;i>=;i--)
{
printf("%d",c[i]);
}
system("pause");
}

5 c语言数组-LMLPHP

 #include <stdio.h>

 //*
// 功能:数组存储数字 统计不同的数字个数
// 时间:2016.11.16
//*/ //统计
void Statistic(int a[],int n)
{
int i;
int j;
int count = ;//统计不同数字的个数
for(i=;i<n;i++)
{
for(j=;j<i;j++)
{
if(a[i]==a[j])
{
break;//退出本次循环
} }
if(j==i)//这里为什么是j=i 一旦break 增量j不会再变化 如果没有break即使要完成了循环 变量会增加1
{
count++;
}
}
printf("去掉重复的元素后个数为=%d",count);
}
void Input(int a[],int n)
{
int i;
printf("请输入%d个元素\n",n);
for(i=;i<n;i++)
{
scanf("%d",&a[i]); } }
void main()
{
int a[];
int n;
printf("需要录入的个数为\n");
scanf("%d",&n);
Input( a,n);
Statistic(a,n);
system("pause");
} //void main()
//{
// int a[20];
// int i,t,p=0;
// for(i=0;i<10;i++)
// {
// scanf("%d",&a[i]);
// for(t=0;t<i;t++)
// {
// if(a[t]==a[i])
// break;//退出本次循环
// }
// if(t==i)
// {
// p++;
// }
//
// }printf("\np=%d",p);
// system("pause");
//}

5 c语言数组-LMLPHP

 #include <stdio.h>

 /*
功能:数组元素倒序输出
时间:2016.11.16
*/
void rever(int a[],int n)
{ int i ;
printf("--------倒序输出为----------\n");
for(i=n-;i>=;i--)
{
printf("%x,%d\n",&a[i],a[i]);
}
}
void main1()
{
int a[]={,,,};//定义5个元素的数组
int i;
int count = ;
printf("----------正序为---------\n");
for(i=;i<sizeof(a[i]);i++)//int 4个字节 4个元素
{
printf("%x,%d\n",&a[i],a[i]);
count++;
}
printf("%d\n",count);//也就是17个内存单元
rever( a,count);
system("pause");
}
05-11 16:54
查看更多