#include <stdio.h>
#define sum 3+4//宏定义是原封不动的使用used for test4
#include <time.h>//used for test8~9
#include <stdlib.h>//used for test8~9
void test(){//数组输出
//int a[5]={1,2,3,4,5};
printf("array output,look,please...\n");
int a[10];
int i;//for(int i=0;i<10;i++)
printf("a[10]={");
for (i=0; i<10; i++){
a[i]=i;
printf("%d,",a[i]);
}
printf("}");
}
void test1(){//输入数组
int a[5];
printf("\narray input(just the number in the brackets),look please...\n");
scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);//可以无限输入但是只录入前五个,后面的作为一个整体。忽视掉。
for (int j=0; j<5; j++) {
printf("%d,",a[j]);
}
}
void test2(){//冒泡排序法
printf("\n冒泡排序法:\n");
int a[4]={34,45,12,53};
for (int k=0;k<4; k++) {
for (int l=k+1;l<4; l++) {
if (a[k]<a[l]) {
int temp=a[l];
a[l]=a[k];
a[k]=temp;
}
}printf("%d,",a[k]);
}
}
void test3(){//沉底排序法
printf("\n沉底排序法:\n");
int a[4]={34,45,12,53};
for (int k=0;k<4; k++) {
for (int l=k+1;l<4; l++) {
if (a[k]>a[l]) {
int temp=a[l];
a[l]=a[k];
a[k]=temp;
}
}printf("%d,",a[k]);
}
}
void test4(){
printf("\n宏定义使用:\n");
int b=3;
printf("%d\n",b*sum);
}
void test5(){//二维数组输出
printf("二维数组输出,look here,please...\n");
int a[2][5]={0,1,2,3,4,5,6,7,8,9};
// int c[2][5]={{0,1,2,3,4},{5,6,7,8,9}};
for (int i=0; i<2; i++) {
for (int j=0;j<5;j++) {
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}printf("\n");
}
}
void test6(){
printf("二维数组一维输出\n");
int a[4][4]={{32,3,454,56},{65,67,565,45},{423,343,34,27},{4,5,6,56}};
int i,j = 0;//在for内部定义的话,在外部不能用。
for ( i=0; i<4; i++) {
for ( j=0;j<4;j++) {
printf("a[%d]=%d ",i*4+j,a[i][j]);
}
}
printf("\na[%d]={",i*j);
for (int i=0; i<4; i++) {
for (int j=0;j<4;j++) {
if (i==3 && j==3) {//判断去除最后的逗号
printf("%d",a[i][j]);
}
else
printf("%d,",a[i][j]);//输出附带相邻逗号;
}
}
printf("\b ");
printf("}\n");
}
void test7(){//输出字母列长度;
char a[]="hello";
printf("%s\n",a);
printf("%d\n",(int)sizeof(a));
char b='A';
printf("%d\n",(int)sizeof(b));
}
void test8(){//已知一个数组int a[100],存放的数是1~99的数,里面有一个重复的数字,找出这个数字。
int a[10]={1,2,3,4,5,6,5,7,8,9};
for (int i; i<10; i++) {
for (int j=i+1; j<10; j++) {
if (a[i]==a[j]) {
printf("重复的数字为:%d\n",a[i]);
}
}
}
}
void test9(){//输入一个数字判断是不是重复过。
int a[10]={1,2,3,4,2,4,5,3,3,9};
int b;
while (1) {
printf("Insert the number you want to check,please...\n");
scanf("%d",&b);
int j=0;
for (int i=0; i<10; i++) {
if(a[i]==b){
j=j+1;
}
}
if (j>=2) {
printf("%d重复过,重复次数为%d\n",b,j);
}
else if (j==1)printf("%d只出现了一次\n",b);
else printf("%d一次都没出现过,亲",b);
}
}
void test10(){//随机产生100个数输出其中任何一对相同的数。
srand((unsigned int)time(0));
int a[100],i,j;
for(int i = 0; i < 100; i++){
a[i] = rand()%100 + 1;
printf("a[%d]=%d\n",i, a[i]);
}
printf("out over.\n");
for (i=0; i<100; i++) {
for (j=i+1; j<100; j++) {
if (a[i]==a[j]) {
printf("a[%d]=a[%d]=%d",i,j,a[i]);
}
}printf("\n");
}
}
int main(int argc, const char * argv[]) {
printf("Hello, World!\n");
test();
test1();
test2();
test3();
test4();
test5();
test6();
test7();
test8();
test9();
test10();
return 0;
}