首页 > 代码库 > 1-16作业
1-16作业
《第 04 讲:一维数组》
1. (*)先调试,调试成功后抄写下列程序: #include <stdio.h>
#define SIZE 10
int main(int argc, char *argv[])
{
int a[SIZE] = {0},i= 0;
for(i = 0; i < SIZE; i++){a[i] = i+10;
printf("a[%d] = %d\n", i, a[i]);}
return 0;}
2. (*)将第一题中的数组a反向输出。
3. (*)对第一题中的数组进行求和操作,打印计算结果。4. (**)计算第一题数组连减,打印计算结果。
5. (**)随机产生 20 个 10~50 的正整数存放到数组中,并求数组中的多有元素最大值、最小值、平均值及各元素之和。
6. 编写一个程序,输入两个包含 5 个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组。
7. (***)给定某年某月某日,输出其为这一年的第几天。
8. (**)编写整型值数组排序程序(冒泡排序、选择排序、快速排序--升序)
int a[] = {3,-9,32,77,63,-24,14,0,21,45};9、(***)找出下列整型数组中最大和最小值及其所在位置 i。
int a[] = {5,-9,32,77,64,-24,14,0,21,45};
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!”
11、(**)找出下面程序的错误:
int main(int argc, char *argv[]) {
char string[10], str1[10]; int i;
for(i = 0; i < 10; i++)
{
str1[i] = ‘a‘;}
strcpy(string, str1);}
12、(**)下面这个程序执行后会有什么错误或者效果:int main(int argc, char *argv[])
{
unsigned char str[10], i;for(i = 0; i < 256; i++)str[i] = i;
}
//
// main.m
// 第4讲:一维数组
//
// Created by lanouhn on 15/1/16.
// Copyright (c) 2015年 lanouhn. All rights reserved.
//
#import <Foundation/Foundation.h>
#define SIZE 10
int main(int argc, const char * argv[]) {
//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.
// int a[SIZE] = {0};
// for (int i = SIZE - 1; i >= 0; i--) {
// a[i] = i + 10;
// printf("a[%d] = %d\n", i, a[i]);
// }
// printf("\n");
//3.
// int a[SIZE] = {0}, i = 0, sum = 0;
// for (i = 0; i < SIZE; i++) {
// a[i] = i + 10;
// sum = sum + a[i];
// printf("a[%d] = %d\n", i, a[i]);
// }
// printf("sum = %d\n", sum);
//4.
// int a[SIZE] = {0}, i = 0, sub = 0;
// for (i = 0; i < SIZE; i++) {
// a[i] = i + 10;
// sub = sub - a[i];
// printf("a[%d] = %d\n", i, a[i]);
// }
// sub = sub + a[0];
// printf("sub = %d\n", sub);
//5.
// int a[20] = {0}, sum = 0, max = 0, min = 0;
// float avg = 0.0;
// for (int i = 0; i < 20; i++) {
// a[i] = arc4random() % 41 + 10;
// sum = sum + a[i];
// printf("a[%d] = %d ", i, a[i]);
// }
// avg = sum / 20;
// printf("\n");
// for (int i = 0; i < 20 - 1; i++) {
// for (int j = 0; j < 20 - 1 - i; j++) {
// if (a[j] > a[j + 1]) {
// int x = a[j];
// a[j] = a[j + 1];
// a[j + 1] = x;
// }
// }
// }
// printf("max = %d\nmin = %d\navg = %.2f\nsum = %d\n", a[20 - 1], a[0], avg, sum);
//6.
// int a[5] = {0}, b[5] = {0};
// printf("请输入a数组的五个数:"),
// scanf("%d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4]);
// printf("请输入b数组的五个数:");
// scanf("%d %d %d %d %d", &b[0], &b[1], &b[2], &b[3], &b[4]);
// for (int i = 0; i < 5 - 1; i++) {
// for (int j = 0; j < 5 - 1 - i; j++) {
// if (a[j] > a[j + 1]) {
// int x = a[j];
// a[j] = a[j + 1];
// a[j +1] = x;
// }
// if (b[j] > b[j + 1]) {
// int y = b[j];
// b[j] = b[j + 1];
// b[j + 1] = y;
// }
// }
// }
// for (int i = 0; i < 5; i++) {
// printf("a[%d] = %d b[%d] = %d\n", i, a[i], i, b[i]);
// }
// int c[10] = {0};
// for (int k = 0,i = 0,j = 0; k < 10; k++) {
// if(i == 5) { c[k] = b[j]; j++; }
// else if (j == 5) { c[k] = a[i]; i++; }
// else if (a[i] > b[j]) { c[k] = b[j]; j++; }
// else { c[k] = a[i]; i++; }
// }
//
// for (int o = 0; o < 10; o++) {
// printf("c[%d] = %d\n", o, c[o]);
// }
//7.
// int year = 0, mouth = 0,day = 0, days = 0, a = 0;
// printf("请输入日期:");
// scanf("%d %d %d", &year, &mouth, &day);
// if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
// a = 1;
// } else {
// a = 0;
// }
// if (a == 1) {
// int a[12] = {31, 29, 31, 30, 31,30, 31, 31,30, 31, 30, 31 };
// for (int i = 0;i < mouth - 1 ; i++) {
// days = days + a[i] + 1;
// }
// days = days + day;
// } else if (a == 0) {
// if (mouth > 2) {
// int a[12] = {31, 28, 31, 30, 31,30, 31, 31,30, 31, 30, 31 };
// for (int i = 0;i < mouth - 1 ; i++) {
// days = days + a[i] + 1;
// }
// }
// }
// printf("该年是这年的第%d天\n", days);
//
//
//
//8.
// int a[] ={3, -9, 32, 77, 63, -24, 14, 0, 21, 45};
// for (int i = 0; i < 10-1; i++) {
// for (int j = 0; j < 10-1 -i; j++) {
// if (a[j] > a[j + 1]) {
// int temp = a[j];
// a[j] = a[j + 1];
// a[j + 1] = temp;
// }
// }
// }
// for (int i = 0; i < 10; i++) {
// printf("a[%d] = %d ", i, a[i]);
// }
// printf("\n");
//9.
// int a[] ={3, -9, 32, 77, 63, -24, 14, 0, 21, 45};
// int b[10] = {0};
// for (int i = 0; i < 10; i++) {
// b[i] = a[i];
// printf("b[%d] = %d ", i, b[i]);
// }
// for (int i = 0; i < 10-1; i++) {
// for (int j = 0; j < 10-1 -i; j++) {
// if (a[j] > a[j + 1]) {
// int temp = a[j];
// a[j] = a[j + 1];
// a[j + 1] = temp;
// }
// }
// }
//
// printf("\n");
// for (int i = 0; i < 10; i++) {
// if (b[i] == a[0]) {
// printf("最小值为a[%d],在数组中是第%d个数\n", i, i + 1);
// }
// if (b[i] == a[9]) {
// printf("最大值为a[%d],在数组中是第%d个数\n", i, i + 1);
// }
// }
//10.
// char result[50] = {0};
// char str1[] = "Lanou";
// char str2[] = " 18_class";
// char str3[] = " is niu best";
// strcat(result, str1);
// strcat(result, str2);
// strcat(result, str3);
// printf("result[50] = %s\n",result);
//11.
// char string[10], str1[10];
// int i;
// for(i = 0; i < 10; i++)
// {
// str1[i] = ‘a‘; }
// strcpy(string, str1);
// printf("string[10] = %s\n",string);
// printf("str1[10] = %s\n",str1);
//
//12.
// unsigned char str[10];
// int i;
// for(i = 0; i < 256; i++) {
// str[i] = i;
// }
// printf("str[10] = %s", str);
//
//
return 0;
}
1-16作业