【C语言答案】第五次练习---数组

2024-01-02 21:08

本文主要是介绍【C语言答案】第五次练习---数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下题目是由老师布置的《 谭浩强C程序设计(第四版)》的oj第四次练习题,共五道
使用软件是Devc++5.11。

希望大家抄了作业顺手点个赞,谢谢,爱宁

A. C语言_ex06_01

题目描述

输入:第一行为一个正整数n(1<=n<10)。后边是n行,为nXn个整数矩阵,整数间均以一个空格分隔。要求计算并输出该数组的每行每列之和。
输出格式如下所示,每个整数包含符号占五位,右对齐,两个数之间隔一个空格。行末无空格。测试用例保证所有整数可以用int型存储。

输入样例
3
1 2 3
-4 -5 -6
7 8 9

输出样例
1 2 3 6
-4 -5 -6 -15
7 8 9 24
4 5 6

#include<stdio.h>
int main()
{int n,a[10][10],hangsum[10],liesum[10],i,j;
scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++){hangsum[i]=a[i][0];for(j=1;j<n;j++)hangsum[i]=hangsum[i]+a[i][j];a[i][n]=hangsum[i];}for(j=0;j<n;j++){liesum[j]=a[0][j];for(i=1;i<n;i++)liesum[j]=liesum[j]+a[i][j];}for(i=0;i<n;i++){for(j=0;j<n+1;j++)printf(" %d",a[i][j]);//投机:如果他不让最后有空格就把空格放前面,最前面有空格一般没关系。printf("\n");}	for(j=0;j<n;j++)printf(" %d",liesum[j]);return 0;
}

B. C语言_ex06_03

题目描述

输入:第一行为一个整数n(0<n<10),后边是n行,每行都是一个整数(大于0且小于100,且这n个数各不相同)和一个字符串(长度不超过20,且不包含空格)。最后一行是一个整数m,m为前边n个整数中的一个。
输出只有一行,为整数m后边跟着的那个字符串。

输入样例
2
1 Hello
2 World
2

输出样例
World

#include<stdio.h>
int main(){char s[100][21];int i,n,k,a[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d%s",&a[i],s[i]);scanf("%d",&k);for(i=0;i<n;i++)if(a[i]==k)printf("%s\n",s[i]);return 0;
}

C. C语言_ex06_05

题目描述

X公司最近研究出了一种新的编码方式,这种编码是将一串大写字母转化为数字。下面是每个字母所代表的数字。
B, F, P, V 代表 1
C, G, J, K, Q, S, X, Z 代表 2。
D , T 代表 3
L 代表 4
M , N 代表 5
R 代表 6。
另外字母A, E, I, O, U, H, W,Y不代表任何数字。你需要将每个字母转化为所代表的数字,但注意,如果连续几个字母都代表同一个数字,那么你只需要转化成一个数字就可以。比如PF,P和F都代表1,所以你只需要输出一个1,而不是两个1。不代表数字的字母不用转化
输入格式
第一行为整数T(0<T<10)代表T行测试数据,后边是T行,每行为一个只含大写字母的字符串,串长不超过20。
输出格式
为T行,每行对应输入的T行测试数据,为该行测试数据的字符串转化后的数字编码,如果没有任何编码,则输出一个空行。

输入样例
3
KHAWN
PFISTER
BOBBY

输出样例
25
1236
11

# include<stdio.h>
int main()
{int n,i,j,b=0,a[10][21]={};//关键在数组后面这个中括号!!!! char str[10][21];scanf("%d",&n);for(i=0;i<n;i++){scanf("%s",str[i]);//读入第i行字符串 for(j=0;(str[i][j]!='\0');j++){if(str[i][j]=='B'||str[i][j]=='V'||str[i][j]=='F'||str[i][j]=='P')b=1;else{if(str[i][j]=='C'||str[i][j]=='G'||str[i][j]=='J'||str[i][j]=='K'||str[i][j]=='Q'||str[i][j]=='S'||str[i][j]=='X'||str[i][j]=='Z')//C, G, J, K, Q, S, X, Z 代表 2。b=2;else{if(str[i][j]=='D'||str[i][j]=='T')b=3;else{if(str[i][j]=='L')b=4;else{if(str[i][j]=='M'||str[i][j]=='N')b=5;else{if(str[i][j]=='R')b=6;else{if(str[i][j]=='A'||str[i][j]=='E'||str[i][j]=='I'||str[i][j]=='O'||str[i][j]=='U'||str[i][j]=='H'||str[i][j]=='W'||str[i][j]=='Y')//A, E, I, O, U, H, W,Yb=0;}}}}}}a[i][j]=b;}}for(i=0;i<n;i++){for(j=0;j<21;j++){if(a[i][j]!=0&&a[i][j]!=a[i][j+1])printf("%d",a[i][j]);}printf("\n");}return 0;
}

D. C语言_ex06_06

题目描述

输入为一个二进制大整数(大整数大于0,不带符号,无前导0,至少1位数字,且不超过100位数字)。要求将该整数转换成十进制数,并输出。
建议:用字符数组存储大整数。

输入样例
1001001100101100000001011010010

输出样例
1234567890

#include <stdio.h>int main( void )
{char bin[101];scanf( "%s", bin );unsigned long long dec[2] = { 0, 0 }; // base 10^18for( const char* p=bin; *p; ++p ){dec[1] = dec[0]*2/1000000000000000000 + dec[1]*2;dec[0] = dec[0]*2%1000000000000000000 + (*p-'0');}if( dec[1] != 0 )printf( "%llu%018llu\n", dec[1], dec[0] );elseprintf( "%llu\n", dec[0] );
}

E. 回文质数

题目描述

因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151是回文质数。请写一个程序来找出范围[a,b] (5≤a≤b≤100000)间的所有回文质数。
输入:只有一行,为两个整数,依次代表a,b 。
输出:每个回文质数输出一行。测试用例保证输入合法且输出至少包含一个回文质数。

输入样例
100 200

输出样例
101
131
151
181
191

#include<stdio.h>#include<math.h>bool c[10000000];int main(){int k,j,a,b,i;scanf("%d%d",&a,&b);if (b>9999999) b=9999999;for (i=2;i<=int (sqrt(b));i++)if (!c[i])for (j=i*i;j<=b;j=j+i)c[j]=1;for (i=a;i<=b;i++){k=i;j=0;while (k){j=j*10+k%10;k=k/10;}if ((!c[i])&&(i==j))printf("%d\n",i);}return 0;}

(日常拖更,宝贝们加油oj)

这篇关于【C语言答案】第五次练习---数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/563650

相关文章

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码