![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大一C语言课程
初学编程时,用C语言编写的小练习
<Running Snail>
奇点将至
展开
-
C语言的特点与缺点
C语言的特点可以概括如下:1. C语言简洁、紧凑、灵活。C语言的核心内容很少,只有32个关键字,9种控制语句;程序书写格式自由,压缩了一切不必要的成分。2. 表达方式简练、实用。C语言有一套强有力的运算符,达44种,可以构造出多种形式的表达式,用一个表达式就可以实现其它语言可能要用多条语句才能实现的功能。3. 具有丰富的数据类型。数据类型越多,数据的表达能力就越强。C语言具有现代语言的各种数...原创 2020-01-29 19:07:32 · 2356 阅读 · 1 评论 -
C 库函数 - pow()
描述C 库函数 double pow(double x, double y) 返回 x 的 y 次幂,即 xy。声明下面是 pow() 函数的声明。double pow(double x, double y)参数x – 代表基数的浮点值。y – 代表指数的浮点值。返回值该函数返回 x 的 y 次幂的结果。实例下面的实例演示了 pow() 函数的用法。#include &l...原创 2020-02-05 17:42:45 · 4479 阅读 · 2 评论 -
C 库函数 - abs()
描述C 库函数 int abs(int x) 返回 x 的绝对值。头文件stdlib.h声明int abs(int x)参数x – 完整的值。返回值该函数返回 x 的绝对值。实例#include <stdio.h>#include <stdlib.h>int main (){ int a, b; a = abs(5); p...原创 2019-11-29 21:51:14 · 976 阅读 · 0 评论 -
C语言判断输入的数字是几位数
#include <stdio.h>int main(){ long long n; int count=0; printf("请输入一个整数:"); scanf("%lld",&n); while(a!=0) { n/=10; count++; } printf("输入的...原创 2019-11-29 21:45:52 · 6663 阅读 · 4 评论 -
C 库函数 - atoi() 字符串中的数字转换为一个整型
描述C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。声明下面是 atoi() 函数的声明。int atoi(const char *str)参数str -- 要转换为整数的字符串。返回值该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。实例下面的实例演示了 atoi() 函数的用法...原创 2019-11-27 18:13:31 · 446 阅读 · 0 评论 -
期末机试
#include<stdio.h>int main(){ int i,j,n,m,a[50][2],b[50][2],t[101]={0}; scanf("%d",&m); for(i=0;i<m;i++) printf("%d%d",&a[i][0],&a[i][1]); scanf("%d",&n); for(i=0;i<...原创 2019-12-25 19:13:41 · 415 阅读 · 0 评论 -
P1014 Cantor表
#include<stdio.h>int main(){ int n,num=0; scanf("%d".&n); for(i=1; ;i++) { num+=i; if(num>n) break; } num-=i; int x=i,dif=n-num;//代表是第几斜行 ,x为最大的数 }void p(int x,int dif...原创 2019-12-04 18:10:40 · 235 阅读 · 0 评论 -
文件排版1(C语言)
#include<stdio.h>#include <string.h>#include <stdlib.h>int main(){ void pr(char c[][100],int num,FILE *g,int row); FILE *f,*g; f=fopen("listin.txt","r"); g=fopen("listout.txt...原创 2019-12-04 18:09:43 · 2897 阅读 · 1 评论 -
五子棋(C语言)
【问题描述】已知两人分别执白棋和黑棋在一个围棋棋盘上下五子棋,若同一颜色的棋子在同一条横行、纵行或斜线上连成5个棋子,则执该颜色棋子的人获胜。编写程序读入某一时刻下棋的状态,并判断是否有人获胜。输入的棋盘大小是19×19,用数字0表示空位置(即没有棋子),用数字1表示该位置下了一白色棋子,用数字2表示该位置下了一黑色棋子。假设同一颜色的棋子在同一条横行、纵行或斜线上连成的棋子个数不会超过5个,...原创 2019-12-04 16:02:11 · 2204 阅读 · 0 评论 -
C源程序括号匹配检查(C语言)
【问题描述】编写程序,检查给定的C源程序文件中花括号是否匹配,规定花括号的总个数不超过50个。花括号匹配规则:1)文件中左花括号“{”个数与右花括号“}”个数相等;2)从文件中头开始顺序查找右花括号“}”的个数,在任何时候均不超过所遇到的左花括号“{”个数。注意:1)源程序注释中(/* … */)花括号应被忽略,不参与匹配。2)源程序中的字符串常量不会出现花括号。【输入形式】要检查...原创 2019-12-04 15:50:20 · 3918 阅读 · 1 评论 -
分数化简(C语言)
【问题描述】编写程序,从控制台读入一个分数的分子和分母(分数无符号,并且分子小于分母,其大小不会超过int数据类型的表示范围),输出化简后分子和分母不含公约数的分数。【输入形式】从控制台输入两个正整数分别表示分子和分母,两整数之间以一个空格分隔。【输出形式】在标准输出上输出化简后的分子和分母,以一个空格分隔。【输入样例1】26664 479952【输出样例1】1 18【样例1说...原创 2019-12-03 22:10:04 · 19582 阅读 · 9 评论 -
合数分解1(C语言)
【问题描述】由数学基本定理可知:任何一个大于1的非素数整数(即合数)都可以唯一分解成若干个素数的乘积。编写程序,从控制台读入一个合数(合数的大小不会超过int数据类型表示的范围),求这个合数可以分解成的只出现一次的素数。例如合数1260分解成素数乘积为:22335*7,2和3出现两次,5和7出现一次,所以求得的结果为5和7。【输入形式】从控制台输入一个合数。【输出形式】在标准输出上按照由...原创 2019-12-02 23:42:15 · 10297 阅读 · 1 评论 -
两个一元多项式求和(新)(C语言)
【问题描述】编写一个程序实现两个一元多项式相加的运算。#include<stdio.h>int main(){ int i,a[51]={0},s,t,m,n; scanf("%d",&s);//第一个多项式 for(i=0;i<s/2;i++) { scanf("%d",&m); scanf("%d",&n); a[n]=a[...原创 2019-12-02 23:19:43 · 6149 阅读 · 3 评论 -
求水面面积(C语言)
【问题描述】用一个二维方阵(最小为3X3,最大为9X9)表示一片海域。方阵中的元素只由0和1组成。1表示海岸线。计算水面面积(即:不在1围起来的区域中0的个数)。如下图所示6X6方阵表示的水面面积为14:0 0 0 1 0 00 0 1 0 1 00 1 0 0 0 11 0 0 0 1 01 0 1 0 1 01 1 0 1 0 0上述方阵表示的海域满足下面两个要求:1、小岛只...原创 2019-11-28 22:19:37 · 2656 阅读 · 1 评论 -
八皇后问题(C语言)
【问题描述】八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后。为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。例如下图就是八皇后问题的一个解:假如一棋盘已经正确放置了七个皇后,编写程序求解最后一个皇后的放置位置。【输入形式】按照棋盘列由小到大的顺序从控制台输入已正确放置的皇后的行数(行数从1开...原创 2019-11-28 22:15:26 · 3679 阅读 · 5 评论 -
词汇表生成(C语言)
【问题描述】编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺...原创 2019-11-27 16:55:27 · 2693 阅读 · 0 评论 -
(C语言)回文判断
【问题描述】回文是正读和倒读都一样的句子。读入一个最大长度不超过50个字符的句子,判断其是否是回文。【输入形式】输入一个最大长度不超过50个字符的句子【输出形式】Yes/No【输入样例】abcba【输出样例】Yes【样例说明】输入abcba,判断出它是回文。#include <stdio.h>#include <string.h>int main...原创 2019-11-22 21:31:54 · 5457 阅读 · 0 评论 -
超长正整数的加法
【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的加法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。第一行是超长正整数A;第二行是超长正整数B;【输出形式】输出只有一行,是两个长整数的运算结果,从高到低依次输出各位数字。各位数字紧密输出。算法提示:1.用字符串输入两个超长整数,分别存放在两个字符串中,每一位对应一个字符串中的字...原创 2019-11-20 21:59:10 · 9103 阅读 · 0 评论 -
(C语言)最长公共子串
【问题描述】编写一个程序,对输入的字符串s和t,求其最长的公共子字符串。【输入形式】从屏幕分行读入串s和t。s和t由任意字符构成,长度都不超50个字符。输入数据确保只有唯一的最长公共子串。如果没有公共子串,打印No Answer【输出形式】在单独行上输出串s和串t的最长公共子串,在结尾输出一个回车符。算法提示:用一个int型的计数器记录当前匹配长度,用一个字符数组记录当前匹配子串,如果...原创 2019-11-20 09:14:39 · 10987 阅读 · 6 评论 -
(C语言)二维整型数组的“最大点”(驻点)
【问题描述】求二维整型数组的“最大点”。二维数组的“最大点”定义为:某个数是所在行的最大值,并且是所在列的最大值。注意:某行或某列上可能有多个“最大点”。【输入形式】从控制台读入二维数组。第一行只有以空格分隔的两个正整数n和m(n,m<=10),n代表二维数组的行数,m代表二维数组的列数。然后在后续n行上输入二维数组的元素,每行有m个以若干空格分隔的整数,代表二维数组在该行上的所有...原创 2019-11-17 21:36:27 · 7680 阅读 · 7 评论 -
(C语言)字符串大小写无关查找替换
【问题描述】编写程序将一行英文中指定的字符串替换为另一字符串后输出。注意:查找指定字符串时,大小写无关,而且有可能多次出现。【输入形式】先从标准输入中分行输入两个英文字符串(每个字符串不为空,长度不超过20,且字符串中不会出现空格),分别表示被替换的字符串和替换成的字符串,然后在下一行输入一行英文(长度不超过200),行末有回车换行。【输出形式】将输入的英文按指定字符串替换后输出到标准输...原创 2019-11-16 16:54:08 · 3376 阅读 · 8 评论 -
指定范围内的水仙数(C语言)
|问题描述一个三位的十进制整数,如果它的三个数位的数字立方和等于这个数的数值,则称它为一个“水仙数”。编写程序,计算出某一范围内的所有“水仙数”输入形式从控制台输入两个整数(以空格分割),分别表示数据范围的下限m和上限n,且满足0<=m<=n<=10000输出形式向控制台输出在该数据范围内(包括数据的上下限)的所有“水仙数”,以从小到大的顺...原创 2019-11-15 23:46:08 · 2234 阅读 · 0 评论 -
输出呈三角形的杨辉三角形(C语言)
#include<stdio.h>int main(){ int n,a[13][13]; scanf("%d",&n); int i,j; for(i=0;i<n+1;i++)//定义三角形两边都为1 { a[i][0]=1; a[i][i]=1; } for(i=2;i<n+1;i++)//形成三角形中的每个数字 { for(j...原创 2019-11-15 23:28:53 · 2147 阅读 · 0 评论 -
(C语言)猴子选大王
问题描述要从n只猴子中选出一位大王。它们决定使用下面的方法:n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。输入形式控制台输入三个整数n,m,q输出形式输出最后选为大王的猴子编号样例输入7 4 3样例...原创 2019-11-15 18:20:45 · 5213 阅读 · 3 评论