首页 > 其他分享 >C基础0613作业

C基础0613作业

时间:2024-06-18 17:31:16浏览次数:9  
标签:arr 练习 Please int 作业 enter 基础 printf 0613

练习一

使用二维数组计算杨辉三角

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

.....

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int n;
	printf("Please enter the rank : ");
	scanf("%d", &n);
	int arr[n][n], i, j;
	for(i=0; i<n; i++)
	{
		for(j=0; j<=i; j++)
		{
			if(i==j || j==0)
				arr[i][j] = 1;
			else
				arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
			printf("%-4d", arr[i][j]);
		}
		putchar(10);
	}

	return 0;
}

练习二

输入一个n个元素的一维数组,计算最大的和,最大差(不允许使用排序)

最大和:第一大值+第二大值

最大差:第一大值-最小值

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int n, i;
	printf("Please enter n :\n");
	scanf("%d",&n);
	int arr[n];
	for(i=0; i<n; i++)
	{
		scanf("%d", &arr[i]);
	}
	int max = arr[0], min = arr[0], max_i;
	for(i=0; i<n; i++)
	{
		if(max < arr[i])
		{
			max = arr[i];
			max_i = i;
		}
		if(min > arr[i])
			min = arr[i];
	}
	int second = min;
	for(i=0; i<n; i++)
	{
		if(i = max_i)
			continue;
		if(second < arr[i])
			second = arr[i];
	}
	printf("The largest sum: %d\tThe largest dif: %d\n", max+second, max-min);

	return 0;
}

练习三

输入一个m行n列的二维数组,计算第二小值

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int m, n;
	printf("Please enter m n : ");
	scanf("%d %d", &m, &n);
	int i, j;
	int arr[m][n];
	printf("Please enter a array with %d rows and %d columns:\n", m, n);
	
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}
	int min = arr[0][0], max = arr[0][0], second;
	for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            if(min > arr[i][j])
				min = arr[i][j];
			if(max < arr[i][j])
				max = arr[i][j];
        }
    }
	second = max;
	for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            if(arr[i][j] == min)
				continue;
			if(second > arr[i][j])
				second = arr[i][j];
        }
    }                              
	printf("The second_min number is %d\n", second);
	return 0;
}

练习四

输入n个元素的一维数组,输入查找的key值

如果key出现一次,则输出对应的下表

如果key没有出现,则提示不存在

如果key出现多次,则提示出现的次数

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int n;
	printf("Please enter n: ");
	scanf("%d", &n);
	int arr[n];
	for(int i=0; i<n; i++)
	{
		scanf("%d", &arr[i]);
	}
	int key;
	printf("Please enter key: ");
	scanf("%d", &key);
	int count = 0;
	int subscript;
	for(int i=0; i<n; i++)
	{
		if(key == arr[i])
		{
			count++;
			subscript = i;
		}
	}
	if(count == 0)
		printf("Don't exist!\n");
	else if(count == 1)
		printf("The subscript is %d\n", subscript);
	else
		printf("The frequency is %d\n", count);
	return 0;
}

练习五

输入一个m行n列的二维数组,输出每一行的和,以及每一列的和

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int m, n;
	printf("Please enter m n: ");
	scanf("%d%d", &m, &n);
	int arr[m][n];
	int i, j;
	printf("Please enter a array with %d rows and %d columns:\n", m, n);
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
			scanf("%d", &arr[i][j]);
	}
	int sum;
	for(i=0; i<m; i++)
	{
		sum = 0;
		for(j=0; j<n; j++)
			sum += arr[i][j];
		printf("The sum of the No.%d line is %d.\n", i, sum);
	}
	for(j=0; j<n; j++)
	{
		sum = 0;
		for(i=0; i<m; i++)
			sum += arr[i][j];
		printf("The sum of the No.%d column is %d.\n", j, sum);
	}
	return 0;
}

练习六

输入一个m行m列的二维数组,输出正对角线和反对角线的差

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int m, n;
	printf("Please enter m n: ");
	scanf("%d%d", &m, &n);
	int arr[m][n];
	int i, j;
	int sum1 = 0, sum2 = 0;
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
		{
			scanf("%d", &arr[i][j]);
			if(i == j)
				sum1 += arr[i][j];
			if(i+j == m-1)
				sum2 +=arr[i][j];
		}
	}
	printf("The diff in diagonals is %d\n", sum1-sum2);
	return 0;
}

练习七

输入一个2行3列的二维数组,请实现转置(行列转换)

1 2 3

4 5 6 ----》 1 4

                  2 5

                  3 6

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int m, n;
	printf("Please enter m n: ");
	scanf("%d%d", &m, &n);
	int arr[m][n], brr[n][m];
	int i, j;
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
		{
			scanf("%d", &arr[i][j]);
			brr[j][i] = arr[i][j];
		}
	}
	printf("After matrix transpose: \n");
	for(i=0; i<n; i++)
	{
		for(j=0; j<m; j++)
			printf("%-4d", brr[i][j]);
		putchar(10);
	}
	return 0;
}

练习八

设float a=2, b=4, c=3;,C语言表达式(1/2)+(a+b)*c的计算结果是:

18

练习九

下述程序执行后的输出结果是:

main()

{

int x='f';

printf("%c\n",'a'+(x-'a'+1));

}

g

练习十

执行语句“ k=7>>1; ”后,变量 k 的当前值是:

3

练习十一

若有宏定义:#define MOD(x,y) x%y

则执行以下语句后的输出结果是:

int a=10,b=94;

printf(″%d\n″,MOD(b,a+4));

8

练习十二

下列程序段运行后, x 的值是:

int a=1;b=2;x=0;

if(!( --a))x-- ;

if(!b)x=7;

else ++x;

0

标签:arr,练习,Please,int,作业,enter,基础,printf,0613
From: https://blog.csdn.net/Yadi_dr1/article/details/139688724

相关文章

  • 【暑假Python上岸计划】最新20+Python实战案例,全程干货,30天看完即可接单就业!(基础+进阶
    前言今天给大家分享20+个基于python的实战案例,主要包含:数据分析、可视化、机器学习/深度学习、时序预测等,案例的主要特点:*提供源码:代码都是基于jupyternotebook,附带一定的注释,运行即可*数据齐全:大部分案例都有提供数据,部分案例使用内置数据集学习资料已打包,需要......
  • JQuery基础28_DOM操作3
    一、属性内容操作1、html():获取/设置元素的标签体内容 <a><font>内容</font></a>--><font>内容</font>2、text():获取/设置元素的标签体纯文本内容<a><font>内容</font></a>-->内容3、val():获取/设置元素的value属性值<!DOCTYPEhtml>......
  • JQuery基础28_案例4
    一、隔行换色需求:将数据行的奇数行背景色设置为pink,偶数行背景色设置为yellow<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title><scriptsrc="../../js/jquery-3.3.1.min.js"><......
  • 渲染中的光照着色方式:PBR(Physically Based Rendering,物理基础渲染)与 传统经验渲染
    参考《UnityShader入门精要》十八章基于物理的渲染 与PBR(PhysicallyBasedRendering,物理基础渲染)对应的渲染方法通常被称为“传统渲染”或“基于经验的渲染”(EmpiricalRendering)。以下是两者的主要区别:传统渲染传统渲染方法基于经验规则和艺术调整,而不是物理定律。这种......
  • MySQL基础
    数据库基础知识数据库基础概念(1)数据库(Database,简称DB):数据库是存放数据的仓库,是长期储存在计算机内、有组织有结构的、可共享的数据集合。(2)数据库管理系统(DatabaseManagementSystem,简称DBMS):数据库管理系统是为数据库的建立、使用和维护而配置的数据库管理软件,它位于用户与......
  • 前端面试题-基础篇(一)
    最近在准备面试,搜集了一些偏基础的面试题,简单记录一下。1、列举一些常用的ES6新特性1、const、let(块级作用域{})不存在变量提升,不能在变量声明之前使用,且只在当前作用域有效,避免了全局命名冲突let用来声明变量,const用来声明常量,const声明的值不能被修改(对于引用类型,指的是......
  • HTML5期末考核大作业——学生网页设计作业源码HTML+CSS+JavaScript 中华美德6页面带音
    ......
  • Golang语言基础超详细教程&备忘录
    作者的话:这篇文章是之前刚从Java转到Go,学习时编写的,力求全面且详细。本文是基础内容,适合初学者,也适合老手用来当备忘录。和网上其他文档不同的是,我陆陆续续将很多小的知识点也补进来了,后续也会继续补充。这篇文章开始是我写在本机,然后又改写到自己的个人博客,现在有誊写到CSDN,......
  • sklearn解释和详细基础教程
    Scikit-learn(简称sklearn),是一个基于Python的开源机器学习库,广泛用于数据挖掘和数据分析。以下是对sklearn的解释和基础教程的详细说明:Scikit-learn解释Scikit-learn建立在其他几个流行的科学计算库之上,包括NumPy、SciPy和matplotlib。它提供了一个统一的界面来使用机器学......
  • JQuery基础28_选择器2
    一、作用筛选具有相似特征的元素(标签)二、基本操作学习1、事件绑定//1.获取b1按钮$("#b1").click(function(){alert("abc");});2、入口函数$(function(){});window.onload和$(function)区别window.onload只能定义一......