其中包括:冒泡 高精度加法 统计不相同的数字个数(数组) 数组元素倒序输出 go~~~~
1 #include <stdio.h> 2 3 4 /* 5 功能:冒泡 6 时间:2016.11.15 7 */ 8 9 void InputArr(int a[],int n) 10 { 11 int i; 12 13 for(i=0;i<n;i++) 14 { 15 printf("请输入第一个%d元素",i+1); 16 scanf("%d",&a[i]); 17 18 } 19 if(i==n) 20 { 21 printf("输入完毕了哦 "); 22 } 23 24 25 26 } 27 void OutArr(int a[],int n) 28 { 29 int i; 30 printf("-------排序后-------- "); 31 for(i=0;i<n;i++) 32 { 33 printf("%d",a[i]); 34 } 35 } 36 void BubbleSort(int a[],int n) 37 { 38 int i ; 39 int j; 40 int temp; 41 for(i=0;i<n;i++) 42 { 43 for(j=0;j<n-i-1;j++)//这里为什么会是n-i-1 冒泡就是相邻两者比较总有个大的在后面 44 //到所谓最后一次之前就确定下来了也就是n-2和n-1比较 45 { 46 if(a[j]>a[j+1]) 47 { 48 temp = a[j]; 49 a[j] = a[j+1]; 50 a[j+1] = temp; 51 } 52 } 53 } 54 } 55 void main() 56 { 57 int n = 0; 58 int a[20];//定义最大容量为20的数组 59 printf("请输入需要排序元素的个数 ",n); 60 scanf("%d",&n); 61 InputArr(a,n); 62 BubbleSort(a,n); 63 OutArr( a, n); 64 65 system("pause"); 66 67 }
1 #include <stdio.h> 2 #include <string.h> 3 #define M 100 4 5 /* 6 功能:高精度加法 7 时间:2016.11.15 8 */ 9 void main() 10 { 11 int a[M] = {0}; 12 int b[M] = {0}; 13 int c[M] = {0}; 14 char s[M+1]; 15 int i = 0; 16 int n1 = 0; 17 int n2 = 0; 18 int max = 0; 19 int e = 0; 20 printf("请输入整数a "); 21 gets(s);//从流中取一字符串 22 n1 = strlen(s);//注意 strlen()这个函数求长度不包括末尾的结束符' ' 23 //printf("%d",n1); 24 for(i=n1-1;i>=0;i--)//数组元素是下标为0哦 25 { 26 a[n1-1-i] = s[i] - '0';//数字字符的ASCII-字符0正好为其对应的整数 27 //比如字符9的ASCII为57 0字符为48相减为9 make it 28 } 29 printf("请输入整数b "); 30 31 gets(s); 32 n2 = strlen(s); 33 for(i=n2-1;i>=0;i--) 34 { 35 b[n2-1-i] = s[i] - '0'; 36 } 37 if(n1>n2) 38 { 39 max = n1; 40 }else 41 { 42 max = n2; 43 } 44 for(i=0;i<=max;i++) 45 { 46 c[i] = (a[i]+b[i]+e)%10; 47 e = (a[i]+b[i]+e)/10; 48 } 49 if(c[max]>0) 50 printf("%d",c[max]); 51 for(i=max-1;i>=0;i--) 52 { 53 printf("%d",c[i]); 54 } 55 system("pause"); 56 }
1 #include <stdio.h> 2 3 //* 4 // 功能:数组存储数字 统计不同的数字个数 5 // 时间:2016.11.16 6 //*/ 7 8 //统计 9 void Statistic(int a[],int n) 10 { 11 int i; 12 int j; 13 int count = 0;//统计不同数字的个数 14 for(i=0;i<n;i++) 15 { 16 for(j=0;j<i;j++) 17 { 18 if(a[i]==a[j]) 19 { 20 break;//退出本次循环 21 } 22 23 } 24 if(j==i)//这里为什么是j=i 一旦break 增量j不会再变化 如果没有break即使要完成了循环 变量会增加1 25 { 26 count++; 27 } 28 } 29 printf("去掉重复的元素后个数为=%d",count); 30 } 31 void Input(int a[],int n) 32 { 33 int i; 34 printf("请输入%d个元素 ",n); 35 for(i=0;i<n;i++) 36 { 37 scanf("%d",&a[i]); 38 39 } 40 41 } 42 void main() 43 { 44 int a[20]; 45 int n; 46 printf("需要录入的个数为 "); 47 scanf("%d",&n); 48 Input( a,n); 49 Statistic(a,n); 50 system("pause"); 51 } 52 53 //void main() 54 //{ 55 // int a[20]; 56 // int i,t,p=0; 57 // for(i=0;i<10;i++) 58 // { 59 // scanf("%d",&a[i]); 60 // for(t=0;t<i;t++) 61 // { 62 // if(a[t]==a[i]) 63 // break;//退出本次循环 64 // } 65 // if(t==i) 66 // { 67 // p++; 68 // } 69 // 70 // }printf(" p=%d",p); 71 // system("pause"); 72 //}
1 #include <stdio.h> 2 3 /* 4 功能:数组元素倒序输出 5 时间:2016.11.16 6 */ 7 void rever(int a[],int n) 8 { 9 10 int i ; 11 printf("--------倒序输出为---------- "); 12 for(i=n-1;i>=0;i--) 13 { 14 printf("%x,%d ",&a[i],a[i]); 15 } 16 } 17 void main1() 18 { 19 int a[4]={1,3,4,5};//定义5个元素的数组 20 int i; 21 int count = 0; 22 printf("----------正序为--------- "); 23 for(i=0;i<sizeof(a[i]);i++)//int 4个字节 4个元素 24 { 25 printf("%x,%d ",&a[i],a[i]); 26 count++; 27 } 28 printf("%d ",count);//也就是17个内存单元 29 rever( a,count); 30 system("pause"); 31 }