第四次作业

#include<stdio.h>
#defineN4
intmain()
{
inta[N]={2,0,2,2};
charb[N]={'2','0','2','2'};
inti;
printf("sizeof(int)=%d\n",sizeof(int));
printf("sizeof(char)=%d\n",sizeof(char));
printf("\n");
//输出数组a中每个元素的地址、值
for(i=0;i<N;++i)
printf("%p:%d\n",&a[i],a[i]);
printf("\n");
//输出数组b中每个元素的地址、值
for(i=0;i<N;++i)
printf("%p:%c\n",&b[i],b[i]);
printf("\n");
//输出数组名a和b对应的值
printf("a=%p\n",a);
printf("b=%p\n",b);
return0;
}
连续 4
连续 1
不一样

#include<stdio.h>
#defineN2
#defineM3
intmain()
{
inta[N][M]={{1,2,3},{4,5,6}};
charb[N][M]={{'1','2','3'},{'4','5','6'}};
inti,j;
//输出二维数组a中每个元素的地址和值
for(i=0;i<N;++i)
for(j=0;j<M;++j)
printf("%p:%d\n",&a[i][j],a[i][j]);
printf("\n");
//输出二维数组a中每个元素的地址和值
for(i=0;i<N;++i)
for(j=0;j<M;++j)
printf("%p:%c\n",&b[i][j],b[i][j]);
return0;
}
不 不 4 1

#include <stdio.h>
int days_of_year(int year, int month, int day);
// 函数声明
int main()
{
    int year, month, day;
    int days;
    while(scanf("%d%d%d", &year, &month, &day) != EOF) // 按下Ctrl+Z终止
    {
        days = days_of_year(year, month, day); // 函数调用
        printf("%4d-%02d-%02d是这一年的第%d天.\n\n", year, month, day, days);
        }
        return 0;
        }
        // 函数定义 // 补足函数days_of_year的定义 // xxx 6
int days_of_year(int year,int month,int day)
{
    int i=8,da[12],m=0;
    da[1]=31;
    da[2]=28;
    da[3]=31;
    da[4]=30;
    da[5]=31;
    da[6]=30;
    da[7]=31;
    for(i;i<=12;i++)
    {
        if(i%2==0&&i>7)
            da[i]=31;
        else
            da[i]=30;
    }
    for(i=1;i<month;i++)
    {
        m=m+da[i];
    }
    m=m+day;
    if(year%4==0&&year%100!=0)
        m=m+1;
    return m;


}

#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 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);
sort(scores,N);
printf("\n输出课程均分:%.2f\n",ave);
printf("\n输出课程分数(高->低):\n");
output(scores,N);
return 0;
}
//函数定义
//输入n个整数保存到整型数组x中
void input(int x[],int n)
{
int i;
for(i=0;i<n;++i)
scanf("%d",&x[i]);
}
//输出整型数组x中n个元素
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 i,sum_=0;
    for(i=0;i<=5;i++)
        sum_=sum_+x[i];
    return sum_/5.0;
}
void sort(int x[],int n)
{
    int i,c,u;
    for(u=0;u<5;u++)

        for(i=1;i<5;i++)
        {
            if(x[i]>x[i-1])
            {
                c=x[i];
                x[i]=x[i-1];
                x[i-1]=c;
            }
        }

}
//计算整型数组x中n个元素均值,并返回
//补足函数average()实现
//×××
//对整型数组x中的n个元素降序排序
//补足函数sort()实现
//×××

#include <stdio.h>
void dec2n(int x, int n); // 函数声明
int main()
{
    int x;
    printf("输入一个十进制整数: ");
    scanf_s("%d", &x);
    dec2n(x, 2);
    dec2n(x, 8);
    dec2n(x, 16);
    return 0;
}

void dec2n(int x, int n)
{
    int i, j;
    int a[20];
    for (i = 0; i < 20; i++)
    {
        if (x / n != 0)
        {
            a[i] = x % n;
            x = x / n;
        }
        else
        {
            a[i] = x;
            break;
        }

    }
    for (j = i; j >= 0; j--)
    {
        if (n == 16 && a[j] >= 10)
        {

            switch (a[j] % 10)
            {
            case 0:printf("A"); break;
            case 1:printf("B"); break;
            case 2:printf("C"); break;
            case 3:printf("D"); break;
            case 4:printf("E"); break;
            case 5:printf("F"); break;
            }

        }

        else
            printf("%d", a[j]);
    }
    printf("\n");
}

#include<stdio.h>
int s[10][10];
int main()
{
    int p,i,m;
    while(scanf("%d/n",&p)!=EOF)
    {for(i=0;i<p;i++)
    {
        for(m=0;m<p;m++)
        {
            if(i<=m)
                {
                    s[i][m]=i+1;
                }
            else
                s[i][m]=m+1;

        }
    }
    for(i=0;i<p;i++)
    {
        for(m=0;m<p;m++)
        {
            printf("%d ",s[i][m]);
        }
        printf("\n");
    }
    }
    return 0;
}

#include <stdio.h>
#define N 80
int main()
{
    char views1[N] = "hey, c, i hate u.";
    char views2[N] = "hey, c, i love u.";
    char s[N];
    int i;
    printf("original views:\n");
    printf("views1:hey, c, i hate u.\n");
    printf("views2:hey, c, i love u.\n");
    printf("\n");
    printf("swapping...\n");
    for(i=0;i<N;i++)
    {
        s[i]=views1[i];
        views1[i]=views2[i];
        views2[i]=s[i];
    }
    printf("views1:");
    for(i=0;views1[i]!='\0';i++)
        printf("%c",views1[i]);

    printf("\n");
    printf("views2:");
    for(i=0;views2[i]!='\0';i++)
        printf("%c",views2[i]);

    printf("\n");
    return 0;
}

#include <stdio.h>
#include <string.h>
#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 l[100];
    for(i=0;i<N;i++)
    {
        for(j=0;j<N-1;j++)
        {
            if(strcmp(str[j],str[j+1])>0)
               {
                strcpy(l,str[j]);
                   strcpy(str[j],str[j+1]);
                   strcpy(str[j+1],l);

            }

          }
    }


}

 

posted @ 2022-05-03 20:13  清风不尽  阅读(48)  评论(0)    收藏  举报