/*
1. 先调试,调试成功后抄写下列程序
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
printf("a[%d]=%d\n",i,a[i]);
}
2.将第⼀一题中的数组a反向输出
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
for (i=SIZE-1; i>=0; i--) {
printf("a[%d]=%d\n",i,a[i]);
}
3.对第一题中的数组进⾏行求和操作,打印计算结果
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
int sum=0;
for (int i=0; i<SIZE; i++) {
sum +=a[i];
}
printf("sum=%d",sum);
4.计算第⼀一题数组连减,打印计算结果
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
int sub=0;
for (int i=0; i<SIZE; i++) {
sub -=a[i];
}
printf("sub=%d",sub);
5.随机产⽣生20个10~50的正整数存放到数组中,并求数组中的 最⼤大值,最⼩小值,平均值及各个元素之和
int max=0,min=0,sum=0,array[20]={0};
float avg=0;
for (int i=0; i<20; i++) {
array[i]=arc4random()%(50-10+1)+10;
}
sum=min=max=array[0];
for (int i=1; i<20; i++) {
if (min>array[i]) {
min=array[i];
}
if (max<array[i]) {
max=array[i];
}
sum +=array[i];
}
avg = sum/20.0;
printf("max=%d,min=%d,avg=%.2f,sum=%d\n",max,min,avg,sum);
6.编写⼀一个程序,输⼊入两个包含5个元素的数组,先将两个数组 升序排列,然后将这两个数组合并成⼀一个升序数组
int array_a[5]={3,5,63,2,98};
int array_b[5]={54,7,6,32,78};
int array_c[10]={0};
for (int i=0; i<5-1; i++) {
for (int j=0; j<5-1-i; j++) {
if (array_a[j]>array_a[j+1]) {
int tmp=array_a[j];
array_a[j]=array_a[j+1];
array_a[j+1]=tmp;
}
}
}
for (int i=0; i<5; i++) {
printf("%3d",array_a[i]);
}
printf("\n");
for (int i=0; i<5-1; i++) {
for (int j=0; j<5-1-i; j++) {
if (array_b[j]>array_b[j+1]) {
int tmp=array_b[j];
array_b[j]=array_b[j+1];
array_b[j+1]=tmp;
}
}
}
for (int i=0; i<5; i++) {
printf("%3d",array_b[i]);
}
printf("\n");
//将a,b 中的数拷贝到c中
int k=0;
for (int i=0; i<5; i++) {
array_c[k++]=array_a[i];
array_c[k++]=array_b[i];
}
//排序
for (int i=0; i<10-1; i++) {
for (int j=0; j<10-1-i; j++) {
if (array_c[j]>array_c[j+1]) {
int tmp=array_c[j];
array_c[j]=array_c[j+1];
array_c[j+1]=tmp;
}
}
}
// 输出
for (int i=0; i<10; i++) {
printf("%3d",array_c[i]);
}
7.给定某年某⽉月某⽇日,输出其为这⼀一年的第⼏几天
// 平年common year 闰年leap year
int common_year[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int leap_year[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int year=0,month=0,day=0;
int sum_day=0;
printf("please input year month day:");
scanf("%d%d%d",&year,&month,&day);
//判断闰年
if (year %400==0 || (year %4==0 && year%100!=0)) {
for (int i=0; i<month-1; i++) {
sum_day +=leap_year[i];
}
}
else
{
for (int i=0; i<month-1; i++) {
sum_day +=common_year[i];
}
}
sum_day += day;
printf("%d年%d月%d日是这一年的第%d天!",year,month,day,sum_day);
8.编写整型数组排序程序(冒泡排序-升序)
for (int i=0; i<N-1; i++) {
for (int j=0; j<N-1-i; j++) {
if (array[j]>array[j+1]) {
int tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
9.找出下列整型数组中的最⼤大和最⼩小值及其所在位置的下标i
int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int k_max=0,k_min=0;
for (int i=1; i<10; i++) {
if (a[k_max]<a[i]) {
k_max=i;
}
if (a[k_min]>a[i]) {
k_min=i;
}
}
printf("max:%d,下标:%d;min:%d,下标:%d\n",a[k_max],k_max,a[k_min],k_min);
10.把 str1, str2, str3 合并到result数组中。
char result[50] = {0};
char str1[] = "Lanou ";
char str2[]="23_class";
char str3[]="is niu best!";
结果:"Lanou 23_class is niu best!"
char result[50] = {0};
char str1[] = "Lanou ";
char str2[]="23_class";
char str3[]="is niu best!";
strcpy(result, str1);
strcat(result, str2);
strcat(result, str3);
printf("结果:\"%s\"",result);
*/
1. 先调试,调试成功后抄写下列程序
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
printf("a[%d]=%d\n",i,a[i]);
}
2.将第⼀一题中的数组a反向输出
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
for (i=SIZE-1; i>=0; i--) {
printf("a[%d]=%d\n",i,a[i]);
}
3.对第一题中的数组进⾏行求和操作,打印计算结果
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
int sum=0;
for (int i=0; i<SIZE; i++) {
sum +=a[i];
}
printf("sum=%d",sum);
4.计算第⼀一题数组连减,打印计算结果
int a[SIZE]={0},i=0;
for (i=0; i<SIZE; i++) {
a[i]=i+10;
}
int sub=0;
for (int i=0; i<SIZE; i++) {
sub -=a[i];
}
printf("sub=%d",sub);
5.随机产⽣生20个10~50的正整数存放到数组中,并求数组中的 最⼤大值,最⼩小值,平均值及各个元素之和
int max=0,min=0,sum=0,array[20]={0};
float avg=0;
for (int i=0; i<20; i++) {
array[i]=arc4random()%(50-10+1)+10;
}
sum=min=max=array[0];
for (int i=1; i<20; i++) {
if (min>array[i]) {
min=array[i];
}
if (max<array[i]) {
max=array[i];
}
sum +=array[i];
}
avg = sum/20.0;
printf("max=%d,min=%d,avg=%.2f,sum=%d\n",max,min,avg,sum);
6.编写⼀一个程序,输⼊入两个包含5个元素的数组,先将两个数组 升序排列,然后将这两个数组合并成⼀一个升序数组
int array_a[5]={3,5,63,2,98};
int array_b[5]={54,7,6,32,78};
int array_c[10]={0};
for (int i=0; i<5-1; i++) {
for (int j=0; j<5-1-i; j++) {
if (array_a[j]>array_a[j+1]) {
int tmp=array_a[j];
array_a[j]=array_a[j+1];
array_a[j+1]=tmp;
}
}
}
for (int i=0; i<5; i++) {
printf("%3d",array_a[i]);
}
printf("\n");
for (int i=0; i<5-1; i++) {
for (int j=0; j<5-1-i; j++) {
if (array_b[j]>array_b[j+1]) {
int tmp=array_b[j];
array_b[j]=array_b[j+1];
array_b[j+1]=tmp;
}
}
}
for (int i=0; i<5; i++) {
printf("%3d",array_b[i]);
}
printf("\n");
//将a,b 中的数拷贝到c中
int k=0;
for (int i=0; i<5; i++) {
array_c[k++]=array_a[i];
array_c[k++]=array_b[i];
}
//排序
for (int i=0; i<10-1; i++) {
for (int j=0; j<10-1-i; j++) {
if (array_c[j]>array_c[j+1]) {
int tmp=array_c[j];
array_c[j]=array_c[j+1];
array_c[j+1]=tmp;
}
}
}
// 输出
for (int i=0; i<10; i++) {
printf("%3d",array_c[i]);
}
7.给定某年某⽉月某⽇日,输出其为这⼀一年的第⼏几天
// 平年common year 闰年leap year
int common_year[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int leap_year[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int year=0,month=0,day=0;
int sum_day=0;
printf("please input year month day:");
scanf("%d%d%d",&year,&month,&day);
//判断闰年
if (year %400==0 || (year %4==0 && year%100!=0)) {
for (int i=0; i<month-1; i++) {
sum_day +=leap_year[i];
}
}
else
{
for (int i=0; i<month-1; i++) {
sum_day +=common_year[i];
}
}
sum_day += day;
printf("%d年%d月%d日是这一年的第%d天!",year,month,day,sum_day);
8.编写整型数组排序程序(冒泡排序-升序)
for (int i=0; i<N-1; i++) {
for (int j=0; j<N-1-i; j++) {
if (array[j]>array[j+1]) {
int tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
9.找出下列整型数组中的最⼤大和最⼩小值及其所在位置的下标i
int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int k_max=0,k_min=0;
for (int i=1; i<10; i++) {
if (a[k_max]<a[i]) {
k_max=i;
}
if (a[k_min]>a[i]) {
k_min=i;
}
}
printf("max:%d,下标:%d;min:%d,下标:%d\n",a[k_max],k_max,a[k_min],k_min);
10.把 str1, str2, str3 合并到result数组中。
char result[50] = {0};
char str1[] = "Lanou ";
char str2[]="23_class";
char str3[]="is niu best!";
结果:"Lanou 23_class is niu best!"
char result[50] = {0};
char str1[] = "Lanou ";
char str2[]="23_class";
char str3[]="is niu best!";
strcpy(result, str1);
strcat(result, str2);
strcat(result, str3);
printf("结果:\"%s\"",result);
*/