高级语言程序设计:运用函数和数组进行程序设计实验

一、实验题目:

  1. 编写一个函数,求x的y次方,用主程序调用这个函数,并输出结果。

  2. 使用函数统计指定数字的个数:读入一个整数,统计并输出该数中"2"的个数。要求定义并调用函数countdigit (number, digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(12292, 2) 的返回值是3。试编写相应程序。

  3. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。(不妨假设为升序排序)。

  4. 编写程序要求将一个一维数组逆序存放并输出。

  5. 扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。
    现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。
    注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。
    输入格式
    第一行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。
    接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符‘’表示相应格子是地雷格,字符‘?’表示相应格子是非地雷格。相邻字符之间无分隔符。
    输出格式
    输出文件包含n行,每行m个字符,描述整个雷区。用‘
    ’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。
    输入输出样例
    输入 #1
    3 3
    ??
    ???
    ?
    ?
    输出 #1
    10
    221
    1
    1
    输入 #2
    2 3
    ?*?
    ??
    输出 #2
    2
    1
    *21

二、实验代码:
1

#include<stdio.h>
int mi(int x,int y);
int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d",mi(a,b));
	return 0;
}
int mi(int x,int y)
{
	int i,n=1;
	for(i=1;i<=y;i++)
	{
		n=n*x;
	}
	return n;
}

2

#include<stdio.h>
int countdight(int n,int d);
int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d",countdight(a,b));
	return 0;
}
int countdight(int n,int d)
{
	int i=0;
	while(n!=0){
		if(n%10==d){
			i++;
		}
		n=n/10;
	}
	return i;
}

3

#include<stdio.h>
int main()
{
	int a[7]={1,10,100,1000,10000,100000};
	int t,i;
	for(i=0;i<6;i++){
		printf("a[%d] = %d\n",i+1,a[i]);
	}
	
	scanf("%d",&a[6]);
		for(i=6;i>0;i--){
		if(a[i]<a[i-1]){
			t=a[i];
			a[i]=a[i-1];
			a[i-1]=t;
		}
	}
	
	for(i=0;i<7;i++){
		printf("a[%d] = %d\n",i+1,a[i]);
	}
	
	return 0;
}

4

#include<stdio.h>
int main()
{
	int n,i,k,t;
	printf("Enter n:");
	scanf("%d",&n);
	int a[n];
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	
	for(i=0,k=n-1;i<k;i++,k--){
		t=a[i];
		a[i]=a[k];
		a[k]=t;
	}
	
	for(i=0;i<n;i++){
		printf("%d",a[i]);
		if(i<n-1){
			printf("\n");
		}
	}
	
	return 0;
}

5

#include<stdio.h>
int main()
{
	int m,n,h,s,i,x,y;
	printf("enter n,m :");
	scanf("%d%d",&n,&m);
	char a[n+2][m+2];
	int b[n+2][m+2];
	s=1;
	getchar();
	for(h=1;h<n+1;h++){
		while ((a[h][s]=getchar())!='\n')
		s++;
		a[h][s]='\0';
		s=1;	
	}
	for(x=1;x<n+2;x++){
		for(y=1;y<m+2;y++){
			b[x][y]=0;
			if(a[x][y]=='*')
			b[x][y]=-1;
			else{
				b[x][y]=0;
				if(a[x-1][y-1]=='*')
				b[x][y]++;
					
				if(a[x-1][y]=='*')
				b[x][y]++;
				
				if(a[x-1][y+1]=='*')
				b[x][y]++;
				
				if(a[x][y-1]=='*')
				b[x][y]++;
			
				if(a[x][y+1]=='*')
				b[x][y]++;
							
				if(a[x+1][y-1]=='*')
				b[x][y]++;
					
				if(a[x+1][y]=='*')
				b[x][y]++;
				
				if(a[x+1][y+1]=='*')
				b[x][y]++;
			}
		}
	}	
	for(x=1;x<n+1;x++){
		for(y=1;y<m+1;y++){
			if(b[x][y]==-1)
				printf("*");
			else
				printf("%d",b[x][y]);
		}
		printf("\n");
	}
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高级语言C 程序设计》是一本介绍C语言程序设计的教材。C语言作为一种高级编程语言,在计算机科学领域具有广泛的应用。本教材通过系统而全面的介绍,帮助读者掌握C语言的基本语法和编程技巧,培养编写高质量C程序的能力。 该教材首先介绍了C语言的基本概念和C程序的结构,包括变量、常量、运算符、控制结构等。然后详细介绍了C语言的数据类型和数组,包括整型、浮点型、字符型等,以及一维和二维数组的定义和使用。接着,教材讲解了C语言函数和指针,包括函数的定义和调用、参数传递、递归等,以及指针的基本概念和使用方法。 随后,教材介绍了C语言的文件操作和结构体,包括文件的打开和关闭、读写文件、指针与文件的结合使用,以及结构体的定义和操作。此外,教材还涉及C语言的动态内存分配和预处理器等内容,为读者提供了更为全面的知识体系。 通过本教材的学习,读者可以掌握C语言的基本语法和编程思想,了解C程序的运行机制,掌握C语言程序设计的基本技巧。同时,教材中配有大量的例题和编程实例,帮助读者将理论知识应用到实际问题中,提高解决问题的能力。 总之,《高级语言C 程序设计》是一本全面而系统的教材,适合初学者学习C语言程序设计。通过学习该教材,读者可以掌握C语言的基本知识和编程技巧,为今后在计算机科学领域的学习和应用奠定坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值