C语言学习笔记
c语言一些适合新手的小问题
孤远无梦
efgfyvhjjffcvbj
展开
-
c语言猜数字游戏
没什么难度面向新手,以及作业代码如下//DEV-C++环境下成功运行#include<stdio.h>#include<time.h>#include<stdlib.h>#define max 10 #define min 1 int main(){ int num,i; int a[10]; char c; printf("请输入10以内任意一个正整数\n"); srand(time(0)); n原创 2020-06-07 08:28:06 · 351 阅读 · 0 评论 -
关于字符输入的简单小问题
要求:编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面要加上行号。在编写这个程序时要试图让程序能够处理的输入行长度没有限制。分析:通过从输入中逐字符进行读取而不是逐行进行读取,可以避免行长度限制代码:#include<stdio.h>#include<stdlib.h>int main(){ int ch; int line =...原创 2020-04-03 21:59:50 · 222 阅读 · 0 评论 -
经典字符串截取
输入截取位置,字符串,输出截取后的字符串例如:输入4 9 12 20 -1abcdefghijklmnopqrstuvwxyzHello there, how are you?I am fine, thanks.See you!Bye!#include<stdio.h>#include<stdlib.h>#include<string.h>#...原创 2020-04-02 15:55:13 · 326 阅读 · 1 评论 -
递归函数的实现,浅显易懂
递归的过程有以下两个阶段。⑴ 递推。将原有问题不断地分解为新的问题,逐渐从未知向已知推进,最终达到已知的条件,即递归结束的条件,这时递推阶段结束。例如求10!,可以分解如下。10!= 9!*109!= 8!*9…2!= 1!*21!=1⑵ 回归。从已知的条件出发,按照递推的逆过程,逐一求值回归,最后达到递推的开始处,结束回归阶段,完成递归调用。1!=12!= 1!*2…9...原创 2020-02-21 17:48:13 · 727 阅读 · 0 评论 -
连续正整数找数字问题
谨以此文,纪念我充实(朴实无华且枯燥)的一天没错,这个题目很无聊,疯狂的小诺下面是我想出的原始版本优点:无缺点:运行时间太长,导致运行超时#include<stdio.h>#include<math.h>int main(){ int T = 0,n = 0; int d = 0,y = 0; int i = 0,j = 0,k =...原创 2020-02-17 09:46:35 · 255 阅读 · 0 评论 -
链表的选择排序
题目如下输入若干名员工的信息(职工号,姓名,生日,工资,其中生日是日期类型结构体),要求按照工资升序排序,输出所有员工的数据。#include<stdio.h>#include<stdlib.h>#include<string.h>struct date{ int iYear; int iMonth; int iDay;};struct s...原创 2020-02-15 11:09:59 · 416 阅读 · 0 评论 -
链表基础电话本
题目:编写一个程序,输入若干人员的姓名和电话号码,若姓名字符为“#”表示结束输入。然后输入姓名查找此人电话号码。#include<stdio.h>#include<string.h>#include<stdlib.h>struct people{ char cName[20]; char cNumber[12]; struct people *p...原创 2020-02-14 09:41:34 · 413 阅读 · 0 评论 -
学生考试成绩可用百分制和等级制度,编程相互转换,输入等级输出分数段,输入分数,输出等级
学生考试成绩可用百分制和等级制度两种表达方式,规定成绩大于或等于85分时等级为A,在70分到85分之间等级为B,在60到70分之间等级为C,在60分以下为不及格,其等级为D。(1)输入成绩等级,输出相应百分制的分数段(2)输入百分制的分数,输出相应成绩等级...原创 2020-01-18 12:24:39 · 8527 阅读 · 4 评论 -
录入一篇英文文章(存放在字符数组a[n]中),统计单词个数,并按照单词的长度由小到大依次输出各个单词,假定这篇文章不超过80个字符,单词不超过20个
#include<stdio.h>#include<string.h>void num(char *pc){ int i=0,count=0,j=0,n=0,k=0; char temp[20]={0}; n=strlen(pc); for(i=0;i<n;i++) { while(*(pc+i)>=97&a...原创 2020-02-04 18:50:38 · 1309 阅读 · 2 评论 -
统计某子串在字符串中出现次数
两种方法第一种//字符串出现次数 #include <stdio.h>#include <string.h>int get_count(char * src,char * dst);int main(){ char str1[100]; char str2[100]; int count; printf("str1:"); ...原创 2020-02-04 09:41:24 · 3205 阅读 · 3 评论 -
把字符串str1中所有子串str2替换为str3。
例如:str1=“abcdabac”,str2=“ab”,str3=“xyz”,计算结果:str1=“xyzcdxyzac”。注意,替换过程中新产生的str2不可以被替换。#include<stdio.h>#include<string.h>char *replace(char *str1,char *str2,char *str3){ int i=0; ...原创 2020-02-03 14:37:33 · 2341 阅读 · 13 评论 -
删除字符串str1中所有子串str2。如str1="abcdabac",str2="ab",结果:str1="cdac"
#include<stdio.h>#include<string.h>char *deletestr(char *pc1,char *pc2){ int i=0; char *p; char temp[20]; puts("输入字符串1:"); gets(pc1); puts("输入字符串2:"); gets(p...原创 2020-02-02 15:34:46 · 1442 阅读 · 2 评论 -
编写函数,通过指针连接两个字符串。不准使用标准函数,即实现strcat函数
比较容易理解的方式#include<stdio.h>char *strcat(char*pc1,char*pc2){ char * p = pc1; //*p的作用:把*pc1的地址传递给*pc2 printf("%s",p); while(*p!='\0') p++; //此时p指向*pc1的最...原创 2020-02-01 20:03:59 · 4257 阅读 · 0 评论 -
编写函数int * min(int array[ ],int n),返回n个元素的整形数组中最小元素的地址
查了一下,看没有人发这个,就想发一个,哈哈哈????首先解读一下函数,int * min()这个函数是返回指针值的函数,即这个函数的返回值是一个指针(即地址),其通式为类型说明符 * 函数名(形参表)。代码如下#include<stdio.h>int *min(int array[],int n){ int *pi = &array[0]; int i; ...原创 2020-01-30 16:00:27 · 1842 阅读 · 2 评论 -
递归函数求数组元素之和
令人头疼的递归(⊙o⊙)#include<stdio.h>int fun(int n){ int a[n]; printf("输入a[%d]\n",n-1); if(n>0) scanf("%d",&a[n-1]); if(n>1) return a[n-1]+fun(n-1); if(n==1) return a[0];}int main...原创 2020-01-29 11:24:27 · 3755 阅读 · 0 评论 -
将阿拉伯数字转变为中文大写数字
这个题对我这个新手菜鸡来说有点难了,因此查找一下资料,借鉴了blacknet99的思想,下面是源码。//函数嵌套调用 #include<stdio.h>#define ZERO_TRUE 1 //上一个有0#define ZERO_FALSE 2 //数值无关,只做判断条件 void panduan(int );int shuzi(int num);void...原创 2020-01-19 18:41:27 · 587 阅读 · 0 评论 -
c语言小学生四则运算出题程序
要求:通过计算机随机产生10道四则运算题,两操作数为1~10之间的随机数,运算类型为随机产生的加,减,乘,整除中的任意一种,如果输入答案正确,则显示"Right!",否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总分数,然后打印出总分数和做错题数。#include<stdio.h>#include<time.h>#include&...原创 2020-01-29 20:09:57 · 7764 阅读 · 15 评论 -
c语言求元素之和最大的子数组
输入一个整形数组,数组元素有正数和负数。数组中连续的一个或多个整数构成一个子数组。求所有子数组中元素之和最大的子数组。例如:3,2,-6,4,7,-3,5,-2结果为:4,7,-3,5代码如下:#include<stdio.h>int main(){ int a[8]={3,2,-6,4,7,-3,5,-2}; int i,j,k,s=0,max=0; for(i=0...原创 2020-01-26 15:23:32 · 558 阅读 · 0 评论 -
c语言删除数组中重复元素
原题:把一个数组中的重复元素去掉。如a[12]={1,1,2,7,3,2,3,4,5,8,7,4},输出为:1,2,7,3,4,5,8在csdn上查了一下,发现给出的方法都很复杂,对新手很不友好,于是写了一个比较简单的,源码如下:#include<stdio.h>#define N 12int main(){ int i,j,n=N,k; int num[N]...原创 2020-01-25 19:47:54 · 48644 阅读 · 73 评论 -
c语言狐狸捉兔子问题
围绕着山顶有10个洞,一只兔子和一只狐狸分别住在洞里,狐狸总想吃掉兔子,一天,兔子对狐狸说:你想吃掉我有一个条件,先把洞顺序编号,你从最后一个洞出发,第一次先到第一个洞找我,第二次隔一个洞找我,第三次隔两个洞找我,第四次隔三个洞找我,……依此规律类推,寻找次数不限,我躲在一个洞里不动,只要你找到我,就可以吃掉我。结果狐狸跑断了腿也没有找到兔子。请问,兔子躲在哪个洞里?假设狐狸找了1000次。比较...原创 2020-01-22 13:21:07 · 3644 阅读 · 1 评论 -
c语言一个最简单的猜数小游戏
随机生成1~10的整数,玩家输入一个数字,共有6次机会,输入后有太大或太小的提示,可以中途退出游戏#include<stdio.h>#include<stdio.h>#include<time.h>#include<stdlib.h>#define max 10 #define min 1 int main(){ int...原创 2020-01-21 15:59:38 · 531 阅读 · 0 评论 -
c语言打印星号三角形
打印4种形状的三角形代码如下#include<stdio.h>void h1(int i,int j){ for(i=0;i<=9;i++) //控制列 { for(j=10-i;j<=10;j++) { printf("*"); } printf("\n"); }}void h2(int i,int j){ for(i=...原创 2020-01-21 12:50:02 · 11353 阅读 · 0 评论 -
c语言大数加法
在csdn上查大数加法,查到的大多数都是用字符数组做的,现在给大家介绍一种不用字符数组的方法,来计算一个大数+1.源码如下#include<stdio.h>int* plusOne(int* digits, int digitsSize, int* returnSize) { int i,j,t; printf("Please input the arraysize\n")...原创 2020-01-20 11:10:14 · 281 阅读 · 0 评论 -
c语言两种方法求pi的近似值
两种方法pi/4=1-1/3+1/5-1/7+……+1/(2n-1)x(-1)n-1pi/2=2x2/1x34x4/3x5*……2nx2n/(2n-1)(2n+1)要求误差小于10-6下面是代码#include<stdio.h>#include<math.h>int main(){ int i; double l,pi; for(i=1;1.0/(2*...原创 2020-01-20 10:58:07 · 12313 阅读 · 6 评论 -
c语言计算e的x次方的值
首先,我们需要知道公式ex=1+x/1!+x2/2!+x3/3!+……我们要用到函数pow(x,y),其作用是求xy,这个函数需要头文件math.h,下面给出源码。#include<stdio.h>#include<math.h>int main(){ double e,d,i,l=1.0,x; scanf("%lf",&x); for(i=1;i...原创 2020-01-20 09:48:13 · 13780 阅读 · 4 评论 -
c语言求阶乘与求阶乘之和循环条件区别
刚开始学习循环结构,求阶乘是很经典的题型了,其中阶乘与阶乘之和貌似循环条件是相同的,但其实并不是如此。看以下代码:阶乘#include<stdio.h>int main(){ int i,n,m=1; scanf("%d",&n); for(i=n;i>0;i--) { m*=i; } printf("%d",m); return 0;}循环...原创 2020-01-19 18:22:43 · 1317 阅读 · 0 评论 -
关于C语言编译器提示[Error] Id returned 1 exit status的原因
最近用dev-c++写了简单的c程序,编译器却出现了**[Error] Id returned 1 exit status**的错误提示·,个人表示很????,通过查询各方资料,出现这个提示的原因无非是以下几点,虽然与我遇到的问题不同,但还是给大家展示一下,我们以求三个小数最大值和最小值为例。正确程序//2020,1,16//p97,3#include<stdio.h>int ma...原创 2020-01-17 10:39:48 · 14273 阅读 · 4 评论