实验四
实验一
#include <stdio.h>
const int N = 4;
int main() {
int a[N] = { 2,0,2,1 };
char b[N] = { '2','0','2','1' };
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("%x:%d\n", &a[i], a[i]);
}
printf("\n");
for (i = 0; i < N; i++)
{
printf("%x:%c\n", &b[i], b[i]);
}
return 0;
}
是,占用4个
是,占用1个
#include <stdio.h>
const int N = 4;
int main() {
int a[2][3] = { {1,2,3},{4,5,6} };
char b[2][3] = { {'1','2','3'},{'4','5','6'} };
int i, j;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("%x:%d\n", &a[i][j], a[i][j]);
}
}
printf("\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("%x:%c\n", &b[i][j], b[i][j]);
}
}
return 0;
}
是,4个
是,1个
实验二
#include <stdio.h>
#define N 1000;
int fun(int n, int m, int bb[1000]);
int main() {
int n = 0, m = 0, i, k;
int bb[1000];
scanf("%d", &n);
scanf("%d", &m);
for ( i = 0; i < m-n; i++)
{
bb[n] = 0;
}
k = fun(n,m,bb);
for ( i = 0; i < k; i++)
{
printf("%4d", bb[i]);
}
return 0;
}
int fun(int n, int m, int bb[1000]) {
int i, j, k = 0, flag;
for ( j = n; j <= m; j++)
{
if (j==2)
{
bb[k++] = j;
}
for ( i = 2; i < j; i++)
{
if (j%i==0)
{
flag = 0;
break;
}
if (i==j-1&&j%2!=0)
{
bb[k++] = j;
}
}
}
return k;
}
实验三
#include <stdio.h>
const int N = 5;
int find_max(int x[], int n);
void input(int x[], int n);
void output(int x[], int n);
int main() {
int a[N];
int max;
input(a, N);
output(a, N);
max = find_max(a, N);
printf("max=%d", max);
return 0;
}
int find_max(int x[], int n) {
int i,max=x[0];
for ( i = 0; i < N; i++)
{
if (max<x[i])
{
max = x[i];
}
}
return max;
}
void input(int x[], int n) {
int i;
for ( i = 0; i < N; i++)
{
scanf("%d",&x[i]);
}
}
void output(int x[], int n) {
int i;
for ( i = 0; i < N; i++)
{
printf("%d ", x[i]);
}
printf("\n");
}
实验五
#include <stdio.h>
int main() {
int n,line,col;
while (scanf("%d", &n) != EOF)
{
for (line = 1; line <= n; line++)
{
for (col = 1; col <= n; col++)
{
if (col >= line)
{
printf("%d ", line);
}
else
{
printf("%d ", col);
}
}
printf("\n");
}
}
return 0;
}
实验四
#include <stdio.h>
void dec2n(int x, int n);
int main() {
int x;
printf("输入一个十进制整数:");
scanf("%d", &x);
dec2n(x, 2);
printf("\n");
dec2n(x, 8);
printf("\n");
dec2n(x, 16);
return 0;
}
void dec2n(int x, int n) {
if (n==2)
{
int r;
r = x % 2;
if (x>=2)
{
dec2n(x / 2, 2);
}
printf("%d", r);
}
if (n==8)
{
int r;
r = x % 8;
if (x >= 8)
{
dec2n(x / 8, 8);
}
printf("%d", r);
}
if (n == 16)
{
int r;
r = x % 16;
if (x >= 16)
{
dec2n(x / 16, 16);
}
if (r>9)
{
switch (r)
{
case 10:putchar('A'); break;
case 11:putchar('B'); break;
case 12:putchar('C'); break;
case 13:putchar('D'); break;
case 14:putchar('E'); break;
case 15:putchar('F'); break;
default:printf("错误");
break;
}
}
else
{
printf("%d", r);
}
}
}