欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【c语言oj练习】Online Judge Practice 6

程序员文章站 2022-03-09 15:17:43
...

全国新增确诊连续两天为0
喜迎遍地飘零的时刻
海外游子也在回家
一起加油!

c语言oj练习

一、Fgetc(fp)和fputc(ch,fp)的使用

【注】
字符串的结束符用’\0’
文件的结束符用feof(fp)
【代码】
【c语言oj练习】Online Judge Practice 6

二、fputs(s,fp)、fgets(s,n,fp)的使用

【注】
n意味得到n-1个字符
【代码】
【c语言oj练习】Online Judge Practice 6

三、fscanf(fp,”%d %f”,&i,&j)和fprintf(fp,“%d %f”,i,j)的使用

【注】
记得使用rewind(fp)对文件指针重新定位
遇到空格或者回车换行会自动停住
【代码】
【c语言oj练习】Online Judge Practice 6

四、fread(&s[i],sizeof(struct Student),1,fp)和fwrite(&s[i],sizeof(struct Student),1,fp)的使用

【注】
Fread和fwrite第一个参数都要带取地址符
Fread和fwrite一般用于结构体
【代码】
【c语言oj练习】Online Judge Practice 6

五、一维数组打印杨辉三角

【代码】
【c语言oj练习】Online Judge Practice 6

六、天平砝码问题

【注】
六种砝码
分别重1,2,3,5,10,20克,每种砝码各有5,3,2,2,1,1个,计算能称出的重量和种类
【代码】
【c语言oj练习】Online Judge Practice 6

七、从文件中读取文本,统计单词个数

【注】
Isalpha()函数应引入头文件ctype.h
如果忘记可自己编写一个
Fprintf(fp,”%d”,num),fscanf(fp,”%d”,&num)遇到空格和回车换行即可终止
适合于读取单词
【代码】
【c语言oj练习】Online Judge Practice 6
【c语言oj练习】Online Judge Practice 6

八、头插法、尾插法

【注】
头插法一步到位
尾插法分两步:无数据节点和有数据节点
【代码】
【c语言oj练习】Online Judge Practice 6
【c语言oj练习】Online Judge Practice 6

九、两个大整数相加

【注】
用字符串接收
再转成字符数组(倒着放)
从头到尾模拟个十百千万相加,并实现进位
左后倒着输出即可得到结果
【代码】
【c语言oj练习】Online Judge Practice 6

十、单个字符用单引号,多个字符用双引号

【注】
空格为单个字符,用单引号
【代码】
【c语言oj练习】Online Judge Practice 6

十一、十六进制数相加减

【注】
输入两个数一个字符的形式,如“a+b”,放入scanf中,判断字符是加号还是减号
并对不同情况进行处理
【代码】
【c语言oj练习】Online Judge Practice 6

十二、天平砝码问题

【注】
一种砝码有五个,它的取法有:0、1、2、3、4、5
因此n数组两头都要取着
【代码】
【c语言oj练习】Online Judge Practice 6

十三、大整数相乘

【注】
【c语言oj练习】Online Judge Practice 6
【代码】
【c语言oj练习】Online Judge Practice 6

十四、统计字符串中每个字符出现的次数

【注】
使用链表
出现就添加上去,不出现就不添加上去
出现多次就num++
【代码】
【c语言oj练习】Online Judge Practice 6

十五、出现乱码的解决方法

【注】
在字符数组的末尾添加 ’\0’
【代码】
【c语言oj练习】Online Judge Practice 6

十六、完数

【注】
完数:除本身之外所有的因子相加等于本身的数
例如:6 = 1 + 2 + 3
【代码】
【c语言oj练习】Online Judge Practice 6

十七、求字符串中子串的个数

【注】
区分i、j下标对应不同的数组
【代码】
【c语言oj练习】Online Judge Practice 6

十八、随机数函数rand()

【注】
Rand()需要引入stdlib.h头文件
Int a = rand();//任意的数
Int a = rand()%10;//0~9内任意的数
若想求10~59内任意的数?
答:int a = rand()%(50)+10;
【代码】
【c语言oj练习】Online Judge Practice 6

十九、求矩阵对角线元素的和

【注】
两种方法:
1.双层循环:sum = sum + a[i][j]
2.单层循环:sum = sum + a[i][i]
【代码】
【c语言oj练习】Online Judge Practice 6

二十、二维数组打印杨辉三角

【代码】
【c语言oj练习】Online Judge Practice 6

二十一、使用指针使数组循环后移

【代码】
【c语言oj练习】Online Judge Practice 6

二十二、约瑟夫环小游戏

【注】
即为围坐在一起,数到三的排除,看最后剩下谁的游戏
【代码】
【c语言oj练习】Online Judge Practice 6