实验4

#include <stdio.h> 
#define N 4 
int main() {
    int a[N] = { 1, 9, 8, 4 };
    char b[N] = { '1', '9', '8', '4' };
    int i; printf("sizeof(int) = %d\n", sizeof(int));
    printf("sizeof(char) = %d\n", sizeof(char)); printf("\n");
    for (i = 0; i < N; ++i) printf("%p: %d\n", &a[i], a[i]); printf("\n");

    for (i = 0; i < N; ++i)
        printf("%p: %c\n", &b[i], b[i]);
    printf("\n");

    printf("b = %p\n", b);
    return 0;
}

#include <stdio.h>
#define N 2 
#define M 4
int main() { 
    int a[N][M] = {{1, 9, 8, 4}, {2, 0, 2, 2}};
    char b[N][M] = {{'1', '9', '8', '4'}, {'2', '0', '2', '2'}};
    int i, j; 
for (i = 0; i < N; ++i)
    for (j = 0; j < M; ++j) 
        printf("%p: %d\n", &a[i][j], a[i][j]);
printf("\n"); 
for (i = 0; i < N; ++i) for (j = 0; j < M; ++j)
printf("%p: %c\n", &b[i][j], b[i][j]);
return 0; }

#include <stdio.h> 
#define N 13
int days_of_year(int year, int month, int day); 
int main() {
    int year, month, day;
    int days;
    while (scanf_s("%d%d%d", &year, &month, &day) != EOF)
    {
        days = days_of_year(year, month, day);
        printf("%4d-%02d-%02d是这一年的第%d天.\n\n", year, month, day, days);
    }
    return 0;
}
int days_of_year(int year, int mouth, int day)
{
    int a=0,i;
    if (year % 4 == 0)
    {
        int c[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };
        for (i = 1; i < mouth; i++)
            a = a + c[i];
        a += day;
        return a;

    }
    else {
        int b[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
        for (i = 1; i < mouth; i++)
            a = a + b[i];
        a += day;
        return a;
    }

}

#include <stdio.h>
#define N 5 

void input(int x[], int n);
void output(int x[], int n);
double average(int x[], int n);
void bubble_sort(int x[], int n);
int main() { int scores[N];
double ave; 
printf("录入%d个分数:\n", N); 
input(scores, N); printf("\n输出课程分数: \n"); 
output(scores, N); 
printf("\n课程分数处理: 计算均分、排序...\n"); 
ave = average(scores, N); 
bubble_sort(scores, N); 
printf("\n输出课程均分: %.2f\n", ave); 
printf("\n输出课程分数(高->低):\n");
output(scores, N); 
return 0;
}
void input(int x[], int n) 
{ int i;
for(i=0;i<n;i++)
    scanf_s("%d", &x[i]); }
void output(int x[], int n)
{
    int i;
    for (i = 0; i < n; ++i)
        printf("%d ", x[i]);
    printf("\n");
}
double average(int x[], int n) 
{
    int a=0,i,b;
    for (i = 0; i < n; i++)
        a += x[i];
    b = a / n;
    return b;

}
void bubble_sort(int x[], int n) {
    int i, j, t;
        for(i=0;i<n-1;i++)
            for(j=0;j<n-1-i;j++)
                if(x[j]<x[j+1])
                {
                    t = x[j];
                    x[j] = x[j + 1];
                    x[j + 1] = t;
                }
}

 

#include <stdio.h>
#define N 100
void dec2n(int x, int n); 
int main() {
    int x;
    printf("输入一个十进制整数: ");
    while (scanf_s("%d", &x) != EOF)
    {
        dec2n(x, 2);
        dec2n(x, 8);
        dec2n(x, 16);
        printf("\n输入一个十进制整数: ");
    }return 0;
}
void dec2n(int x, int n) {
    char a[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','F' };
    char b[N];
    int  i,t,j ;
    for (i = 0; x/n; i++)
    {
        t = x % n;
        b[i] = a[t];
        x = x / n;
    }
    b[i] = a[x];
    for(j=i;j>=0;j--)
    {
        printf("%c", b[j]);

    }
    
    printf("\n");
    

    

}

#include <stdio.h>
#define N 100

// 函数声明
void func(int x[][N], int n);   // 注意:两维数组作为形参的语法
void output(int x[][N], int n); // 注意:两维数组作为形参的语法

int main() {
    int x[N][N];
    int i, j, n;

    printf("Enter n: ");
    while (scanf_s("%d", &n) != EOF) {
        func(x, n);     // 注意:两维数组作为实参的语法
        output(x, n);   // 注意:两维数组作为实参的语法

        printf("\nEnter n: ");
    }

    return 0;
}

// 函数定义
// 功能:输出两维数组x中的数据,数据项n行、n列
void output(int x[][N], int n) {
    int i, j;

    for (i = 0; i < n; ++i) {
        for (j = 0; j < n; ++j)
            printf("%5d", x[i][j]);

        printf("\n");
    }
}

// 函数定义
// 功能:生成n行n列的左上拐矩阵,保存在两维数组x中
void func(int x[N][N], int n)
{
    int i, j,k;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j <= i; j++)


            x[i][j] = i + 1;

        for (k = j; k < n; k++) 
            x[i][k] = j;
        
    }
}


#include <stdio.h>
#include <string.h>

#define N 80

int main() {
    char views1[N] = "hey, C, I have not love u yet.";
    char views2[N] = "hey, C, how can I love u?";
    char t[N];

    printf("交换前: \n");
    printf("views1: %s\n", views1);
    printf("views2: %s\n", views2);

    // 交换
    strcpy_s(t, views1);
    strcpy_s(views1, views2);
    strcpy_s(views2, t);

    printf("交换后: \n");
    printf("views1: %s\n", views1);
    printf("views2: %s\n", views2);

    return 0;
}

#include <stdio.h>
#include <string.h>
#pragma warning(disable:4996)
#define N 80

int main() {
    char views[2][N] = { "hey, C, I have not love u yet.",
                         "hey, C, how can I love u?" };

    char t[N];

    printf("交换前: \n");
    printf("views1: %s\n", views[0]);
    printf("views2: %s\n", views[1]);

    // 交换
    strcpy_s(t, views[0]);
    strcpy_s(views[0], views[1]);
    strcpy_s(views[1], t);

    printf("交换后: \n");
    printf("views1: %s\n", views[0]);
    printf("views2: %s\n", views[1]);

    return 0;
}

#include <stdio.h>
#include <string.h>
#pragma warning(disable:4996)
#define N 5
#define M 20

void bubble_sort(char str[][M], int n); // 函数声明

int main() {
    char name[][M] = { "Bob", "Bill", "Joseph", "Taylor", "George" };
    int i;

    printf("输出初始名单:\n");
    for (i = 0; i < N; i++)
        printf("%s\n", name[i]);

    printf("\n排序中...\n");
    bubble_sort(name, N);  // 函数调用 

    printf("\n按字典序输出名单:\n");
    for (i = 0; i < N; i++)
        printf("%s\n", name[i]);

    return 0;
}
void bubble_sort(char str[][M], int n) {
    int i, j;
    char t[M];
    for (i = 0; i < n - 1; i++)
        for (j = 0; j < n - i - 1; j++) {
            if (strcmp(str[j], str[j + 1]) > 0)
            {
                strcpy(t, str[j]);
                strcpy(str[j], str[j + 1]);
                strcpy(str[j + 1], t);
            }
        }
}

 

posted @ 2022-11-27 20:40  build777  阅读(28)  评论(0)    收藏  举报