计算机二级考试备考

程序设计题
【题一】
在这里插入图片描述

#include<stdio.h>
#define N 80
void fun(int *w,int p,int n)
{
    
    
	int x, j, ch;
	for (x = 0; x <= p; x++)
	{
    
    
		ch = w[0];
		for (j = 1; j < n; j++)
		{
    
    
			w[j - 1] = w[j];
		}
		w[n - 1] = ch;
	}
}
int main()
{
    
    
	int a[N] = {
    
     1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
	int i, p, n = 15;
	printf("The oriqinal data:\n");
	for (i = 0; i < n; i++)
	{
    
    
		printf("%3d", a[i]);
	}
	printf("\n\nEnter p:");
	scanf("%d", &p);
	fun(a, p, n);
	printf("\nThe data after moving:\n");
	for (i = 0; i < n; i++)
	{
    
    
		printf("%3d", a[i]);
	}
	printf("\n\n");
}

【题二】
在这里插入图片描述

void fun(char* a)
{
    
    
	while (*a != '\0')
	{
    
    
		a++;
	}
	a--;
	while (*a == '*')
	{
    
    
		a--;
	}
	*(a + 1) = '\0';
}

【题三】
在这里插入图片描述

void fun(int m,int k,int xx[])
{
    
    
	int i, j, n;
	for (i = m + 1, n = 0; n < k; i++)
	{
    
    
		for (j = 2; j < i; j++)//判断i是否是素数
		{
    
    
			if (i%j == 0)break;//不是跳出判断,判断下一个数
		}
		if (j >= i)//若是素数,存入xx[]数组中
		{
    
    
			xx[n++] = i;
		}
	}
}

【题四】
在这里插入图片描述

#include<stdio.h>
int fun(char *s)
{
    
    
	int i, j=0;
	for (i = 0; s[i] != '\0'; i++)
	{
    
    
		if (s[i] != ' '&&s[i + 1] == ' ' || s[i + 1] == '\0')
			j++;
	}
	return j;
}
int main()
{
    
    
	int a;
	char *s = "i love you";
	a = fun(s);
	printf("%d", a);
	return 0;
}

【题五】
在这里插入图片描述

#include<stdio.h>
#define N 3
void fun(int a[][N],int m)
{
    
    
	for (int i = 0; i < N; i++)
	{
    
    
		for (int j = i; j < N; j++)
		{
    
    
			a[i][j] = a[i][j] * m;
		}
	}
}
int main()
{
    
    
	int a[][N] = {
    
     {
    
    1,9,7},{
    
    2,3,8},{
    
    4,5,6} };
	int m = 2;
	fun(a, m);
	for (int i = 0; i < N; i++)
	{
    
    
		for (int j = 0; j < N; j++)
		{
    
    
			printf("%d ", a[i][j]);
			if (j == N - 1)printf("\n");
		}
	}
	return 0;
}

【题六】
在这里插入图片描述

#include<stdio.h>
#define N 5
float fun(int a[][N])
{
    
    
	float sum = 0;
	int k = 0;
	for (int i = 0; i < N; i++)
	{
    
    
		if (i == 0)  //处理第一行
		{
    
    
			for (int j = 0; j < N; j++)
			{
    
    
				sum = sum + a[i][j];
				k++;
			}
		}
		else if (i == N - 1)  //处理最后一行
		{
    
    
			for (int j = 0; j < N; j++)
			{
    
    
				sum = sum + a[i][j];
				k++;
			}
		}
		else    //处理中间的行
		{
    
    
			sum = sum + a[i][0] + a[i][N - 1];
			k = k + 2;
		}
	}
	return sum / k;
}
int main()
{
    
    
	float prem;
	int a[][N] = {
    
     {
    
    0,1,2,7,9},{
    
    1,9,7,4,5},{
    
    2,3,8,3,1},{
    
    4,5,6,8,2},{
    
    5,9,1,4,1} };
	prem = fun(a);
	printf("%.3f", prem);
	return 0;
}

【题七】
在这里插入图片描述

#include<stdio.h>
#define M 4
#define N 5
int fun(int a[M][N])
{
    
    
	int sum = 0;
	for (int i = 0; i < M; i++)
	{
    
    
		if (i == 0)  //处理第一行
		{
    
    
			for (int j = 0; j < N; j++)
			{
    
    
				sum = sum + a[i][j];
			}
		}
		else if (i == M - 1)  //处理最后一行
		{
    
    
			for (int j = 0; j < N; j++)
			{
    
    
				sum = sum + a[i][j];
			}
		}
		else sum = sum + a[i][0] + a[i][N - 1];//处理中间的行
	}
	return sum;
}
int main()
{
    
    
	int prem;
	int a[M][N] = {
    
     {
    
    1,3,5,7,9},{
    
    2,9,9,9,4},{
    
    6,9,9,9,8},{
    
    1,3,5,7,0}};
	prem = fun(a);
	printf("%d", prem);
	return 0;
}

【题八】
在这里插入图片描述

#include<stdio.h>
float fun(float h)
{
    
    
	int tmp = (int)(h * 1000 + 5) / 10;
	return (float)tmp / 100;
}

int main()
{
    
    
	float h = 1234.564;
	printf("%7.2f",fun(h));
    return 0;
}

【题九】
在这里插入图片描述

#include<stdio.h>
void fun(int array[3][3])
{
    
    
	int i, j, t;
	for (i = 0; i < 3; i++)
	{
    
    
		for (j = i + 1; j < 3; j++)
		{
    
    
			t = array[i][j];
			array[i][j] = array[j][i];
			array[j][i] = t;
		}
	}
}

int main()
{
    
    
	int array[3][3] = {
    
     {
    
    100,200,300},{
    
    400,500,600},{
    
    700,800,900} };
	fun(array);
	for (int i = 0; i < 3; i++)
	{
    
    
		for (int j = 0; j < 3; j++)
		{
    
    
			printf("%d ", array[i][j]);
			if (j == 2)printf("\n");
		}
	}
    return 0;
}

【题十】
在这里插入图片描述

#include<stdio.h>
#define MAX 100
int fun(int lim, int aa[MAX])
{
    
    
	int i, j, k = 0;
	for (i = 2; i <= lim; i++)
	{
    
    
		for (j = 2; j < i; j++)
		{
    
    
			if (i%j == 0)break;	
		}
		if (j >= i)aa[k++] = i;
	}
	return k;
}

int main()
{
    
    
	int sum,lim = 20;
	int aa[MAX];
	sum = fun(lim, aa);
	printf("%d\n", sum);
	for (int i = 0; i < sum; i++)
	{
    
    
		printf("%d ", aa[i]);
	}
	return 0;
}

【题11】
在这里插入图片描述

char *fun(char(*a)[81], int num, char *max)
{
    
    
	int i = 0;
	max = a[0];
	for (i = 0; i < num; i++)
	{
    
    
		if (strlen(max) < strlen(a[i]))
			max = a[i];
	}
	return max;
}

猜你喜欢

转载自blog.csdn.net/gets_s/article/details/108400130
今日推荐