首页 > 其他分享 >8.10日周记

8.10日周记

时间:2024-08-10 18:05:01浏览次数:16  
标签:数字 int 周记 person 数组 printf 格式 8.10

一.C语言学习
1.7-38 数列求和-加强版
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

输入格式:
输入数字A与非负整数N。

输出格式:
输出其N项数列之和S的值。

输入样例:
1 3
输出样例:
123

答案:

include<stdio.h>

int main(){
int A,N;
int temp=0;
int a[100005];
scanf("%d%d",&A,&N);
if(N==0) printf("0");
for(int i=0;i<N;i++){
a[i]=(A(N-i)+temp)%10;//temp是进位的数字
temp=(A
(N-i)+temp)/10;
}
if(temp!=0) printf("%d",temp);
for(int i=N-1;i>=0;i--){
printf("%d",a[i]);
}
return 0;
}
//本题主要应从数字进位入手,利用temp储存进位数字并相加

2.7-34 通讯录的录入与显示
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。
本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。

输入格式:
输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。

在通讯录记录输入完成后,最后一行给出正整数K,并且随后给出K个整数,表示要查询的记录编号(从0到N−1顺序编号)。数字间以空格分隔。

输出格式:
对每一条要查询的记录编号,在一行中按照姓名 固话 手机 性别 生日的格式输出该记录。若要查询的记录不存在,则输出Not Found。

输入样例:
3
Chris 1984/03/10 F +86181779452 13707010007
LaoLao 1967/11/30 F 057187951100 +8618618623333
QiaoLin 1980/01/01 M 84172333 10086
2 1 7
输出样例:
LaoLao 057187951100 +8618618623333 F 1967/11/30
Not Found

答案:

include<stdio.h>

int main(){
struct contacts
{//结构体函数,将不同类型的数据存放在一起
char name[11];
char birth[11];
char sex[2];
char tel[17];
char phone[17];
};
struct contacts person[11];
int N,n,k;//n是查询次数,k是要查询的记录编号
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%s %s %s %s %s",person[i].name,person[i].birth,person[i].sex,person[i].tel,person[i].phone);
}
scanf("%d",&n);
for(int j=0;j<n;j++){//读取k的次数
scanf("%d",&k);
if(k>=0&&k<N){
printf("%s %s %s %s %s\n",person[k].name,person[k].tel,person[k].phone,person[k].sex,person[k].birth);
}
else printf("Not Found\n");
}
return 0;
}//结构体函数的运用

3.7-23 币值转换
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

输入格式:
输入在一行中给出一个不超过9位的非负整数。

输出格式:
在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

输入样例1:
813227345
输出样例1:
iYbQdBcScWhQdBeSf
输入样例2:
6900
输出样例2:
gQjB

答案:

include<stdio.h>

int main(){
int n;
int i=0;
int a[9]={0};
scanf("%d",&n);
if(n0) printf("a");
while(n){
a[i]=n%10;
i++;
n/=10;
}
int k=i-1;
char s[9]={'\0','S','B','Q','W','S','B','Q','Y'};
for(i=k;i>=0;i--){
if(a[i])//a[i]不等于0
printf("%c%c",a[i]+'a',s[i]);//利用数字与字母的转换
else if(i
4){//万位上是0,如果其更大位还有数字则必须补上一个”W“,亿除外
if(a[5]||a[6]||a[7]) printf("W");
}
else if(a[i-1]&&i-1>=0) printf("a");//更小一位不等于0并且 其所在位置在个位及以上
}
return 0;
}//利用字符型数组、数字与字母间的转化完成此题

4.7-2 然后是几点
有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。

读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。

输入格式:
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。

输出格式:
输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。

输入样例:
1120 110
输出样例:
1310

答案:

include<stdio.h>

int main(){
int a,past,b,m,h;
scanf("%d %d",&a,&past);
h=a/100;
m=a%100;
if(past>0){
m=h60+m+past;
b=(m/60)
100+m%60;
printf("%d",b);
}
else{
m=h*60+m+past;
h=m/60;
m%=60;
printf("%d%d",h,m);
}
return 0;
}//过去的时间为正数或负数导致不能以同一种方式表达该条件下的答案,故而用两种方式(例如过去时间为负数时,答案按正数方式表达有可能使小时数不能正常-1

二.java学习
1.数组
笔记小结:

定义:数组指的是一种容器,可以同来存储同种数据类型的多个值

定义方式:

格式一:
数据类型 [] 数组名;
//例如
int [] array;

格式二:
数据类型 数组名 [];
//例如
int array [];
注意:不同的数据类型对应不同的默认值
整数类型:0
小数类型:0.0
布尔类型:false
字符类型:‘\u0000’
引用类型:null

2.静态数组初始化:
格式一:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,元素4...};
//例如
double[] arr = new double[]{1.1,1.2,1.3};

格式二:
数据类型[] 数组名 = {元素1,元素2,元素3,元素4...};
//例如
int[] array = {1,2,3,4,5};

3.动态数组初始化:
格式:
数据类型[] 数组名 = new 数据类型[数组的长度];
//例如
double[] arr = new double[10];

4.数组动态初始化与数组的静态初始化的区别:
语法不同
数组长度不同
赋值时机不同
注意:无论是何种数组,数组的最大长度为,数组的长度-1。例如:arr.length - 1

5.地址值:
含义:数组的地址值是指向数组对象的指针或引用
例如:
int[] arr = {1,2,3,4,5};
System.out.println(arr); //[I@6d03e736
/*
[ :表示现在打印的是一个数组。
I:表示现在打印的数组是int类型的。
@:仅仅是一个间隔符号而已。
6d03e736:就是数组在内存中真正的地址值。(十六进制的)
*/

6.索引:
含义:用来标识它在数组中的位置
例如:
arr[0]、arr[1]、……
特点:
起始值为 0
连续不间断
逐个+1增长。

7.数组元素访问
含义:根据索引访问数组中的值
格式:数组名[索引];

8.遍历
含义:依次取出元组中的元素
格式:
for(int i = 0; i < arr.length; i++){
//在循环的过程中,i依次表示数组中的每一个索引
sout(arr[i]);//就可以把数组里面的每一个元素都获取出来,并打印在控制台上了。
}
三.下周规划
继续学习java数组相关知识,整合C语言暑假学习的知识。

标签:数字,int,周记,person,数组,printf,格式,8.10
From: https://www.cnblogs.com/1222carnivore/p/18352594

相关文章

  • 8.10第四周周六学习总结
    1vj团队12补题不错的一个题解https://blog.fishze.com/archives/3011)字符串变化(模拟+找规律)题目:给定一个字符串,给定一个特定操作方式:该字符串前半段+该字符串自己+该字符串后半段求next(每一个字符向后移动一个),组成一个新字符串,求经过10^100次这样的操作后,......
  • Windows10 安装编译后的 pysqlcipher3-1.2.1 基于 Python 3.8.10
    Windows10安装编译后的pysqlcipher3-1.2.1基于Python3.8.10本文主要是将直接安装编译后的文件,不一定的成功,但是可以尝试使用,若无法直接安装,请参考编译过程,自行编译安装,编译过程见这里安装pysqlcipher3这里用32位举例因为64位安装完全相同,只需要把对应的位数换成64......
  • 8.3学习周记
    一.C语言学习1.数值输出(以整数为例):数值占3位%3d默认为右对齐左对齐要加负号变为%-3d2.字符串相关函数的学习:(数组1指向字符串1,数组2指向字符串2)a.strstr函数:strstr函数搜索字符串1是否在字符串2中出现,若未搜索到,则返回NULL;若搜索到,则该函数返回第一次出现s2的地址。b.strcpy......
  • 7.27周记
    Java学习周记基础语法一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类......
  • 7.20日周记
    周内收获一.统计某类完全平方数本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。函数接口定义:intIsTheNumber(constintN);其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。裁判测试程序样例:in......
  • haproxy2.8.10安装
    网上查了很多关于haproxy热加载(reload)的文章,大体都有问题,在此记录下,我的安装配置记录。采用tar包编译安装,下载haproxy2.8.10(tls:长期支持稳定版本)下载地址:https://www.haproxy.org/摘自官方规划:Tar包安装,编译支持SSL证书Tar包目录: /opt/安装目录:/usr/local/hapr......
  • 程序员自由创业周记#35:外包、技术选型和卖房
    对待外包的态度外包是来钱最快的方式,通过出售自己的时间和技能换取报酬,一定程度上与上班类似。创业后一直在做自己的产品,从习惯打卡软件:加一,到灵动岛软件:IslandWidgets,然后Mac休息提醒软件:Nap,到现在正在开发AI作图软件:AI画图王。做自己的产品最开心的就是自由,设计、交互、功能......
  • [转载]程序员自由创业周记:我曾走在崩溃的边缘
    给大家推荐一本书《我曾走在崩溃的边缘》讲的是俞敏洪讲述新东方从0到1、从1到N的创业历程。很久以前就看过,虽然书中的内容已经忘得基本差不多了,但是书名仍记忆犹新。因为刚过去的这周,我也走在崩溃的边缘。原因是因为我的大意,导致过去两个月创业的收入付之一炬。本来今天没心情......
  • 【Python3.8.10打包exe】【Windows】
    Python3.8.10打包exe打包命令pyinstaller-Fxxx.py查看Package及版本号piplist查看Python版本号python-V打包需要用的Package及版本#python版本#3.8.10#wheel版本#0.43.0#pyinstaller版本#6.8.0常用链接chatgptPython标准库—Python3.8.19文档PyPI......
  • 科学使用Typora 1.8.10.0,2024新版,保姆级手把手教程,破解困扰
    写一篇如何在此版本解除付费的文章,希望能帮助更多跟我一样的学生党或者有需要的人,有能力的各位还是希望大家尊重一下知识付费。非常简单,大家跟着一步步做就行了。下载Typora官网链接:Typora官方中文站(typoraio.cn)首先是安装后的激活到Typora\resources\page-dist\stati......