C语言程序设计
开源Demo
WW......
学无止境,术有专攻!
展开
-
C语言 - 比较字符串大小
程序源码#include <stdio.h>int mStrcpy(char *s, char *s1, int len);int main(){ char str[2][20]; int i, j; printf("请输入2个字符串!\n"); for(i=0; i<2; i++) gets(str[i]); printf("字符串大小比较结果:%d\n", mStrcpy(&str[0][0], &str[原创 2021-02-07 10:12:14 · 11166 阅读 · 0 评论 -
输出阶乘20∑n! 1!+2!+3!+…+20!阶乘定义:n! = 1 * 2 * 3 * … * n
/*-------------------------------------------------- 20 输出, ∑n!, 即(1!+2!+3!+…+20!) n=1阶乘定义:n! = 1 * 2 * 3 * … * n--------------------------------------------------*/#include <stdio.h>int main(原创 2021-02-06 17:35:25 · 3771 阅读 · 0 评论 -
C语言 - 求两个整数的最大公约数和最下公倍数,从键盘输入两个整数。
#include <stdio.h>int main(){ int hcf(int u, int v); int lcd(int u, int v, int h); int u,v,h,l; scanf("%d,%d", &u, &v); h = hcf(u, v); printf("最大公约数为:%d\n", h); l = lcd(u, v, h); printf("最小公倍数:%d\n", l);原创 2021-02-06 17:32:59 · 3691 阅读 · 0 评论 -
C语言 - 直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序、归并排序、基数排序。
本文章包括所有基本排序算法(和其中一些算法的改进算法):直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序、归并排序、基数排序。算法复杂度比较:算法分类一、直接插入排序一个插入排序是另一种简单排序,它的思路是:每次从未排好的序列中选出第一个元素插入到已排好的序列中。它的算法步骤可以大致归纳如下:从未排好的序列中拿出首元素,并把它赋值给temp变量;从排好的序列中,依次与temp进行比较,如果元素比temp大,则将元素后移(实际上放置temp的元素位置已经空出)直到找到一个元素转载 2021-02-06 13:59:40 · 8635 阅读 · 1 评论 -
C语言 - 企业发放的奖金根据利润提成。
前言利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元(10000< I≤200000)时, 其中10万元按10%提成,高于10万元的部分,可提成7.5%;200000,400000 之间时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成; 400000,600000 之间时,高于40万元的部分按3%提成;600000,1000000之间时,高于60万的部分按1.5%提成;I>1000000时,超过100万的部分按1%提成。从键盘输入当月利原创 2021-02-05 13:26:16 · 25351 阅读 · 4 评论 -
C语言 - 输入x的值,输出y相应的值 x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10)
前言 x (x<1)y= 2x-1 (1≤x<10) 3x-11 (x≥10)输入x的值,输出y相应的值程序源码#include <stdio.h>#include <math.h>int main(){ float x, y; printf("请输入x的值:"); scanf("%f", &x); if(x < 1) y = x; else if( 1 <= x原创 2021-02-05 12:01:06 · 12889 阅读 · 2 评论 -
C语言 - 键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不整数,则输出其整数部分)。 要求在输入数据后先对其进行检查是否为小于1000的正数。如不是,则要求重新输入。
前言从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。如不是,则要求重新输入。程序源码#include <stdio.h>#include <math.h>int main(){ int n = 0; while( n < 1 || n > 1000 ) { printf("请输入一个小于1000的正数:"); scan原创 2021-02-05 11:58:01 · 6089 阅读 · 4 评论 -
C语言 - 运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现)
前言运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现)标准如下:s < 250 没有折扣250≤s < 500 2%折扣500≤s < 1000 5%折扣1000≤s < 2000 8%折扣2000≤s < 3000 10%折扣3000≤s 15%折扣解题思路:设每吨每千米货物的运费为x,货物重为y,路程为s,折扣为d总运费f的计算公式为 f = x×y×s×(1-d/100)将路程情况化简程序源码#incl原创 2021-02-05 11:42:46 · 24732 阅读 · 8 评论 -
【C语言】输出所有的3位数的水仙花数 水仙花数是指这样一种三位数,各个数位的立方和加起来等于这个数本身, 如153=13+53+33,试编制一个程序,验证从键盘上输入的一个数是否为水仙花数。
输出所有的3位数的水仙花数水仙花数是指这样一种三位数,各个数位的立方和加起来等于这个数本身,如153=13+53+33,试编制一个程序,验证从键盘上输入的一个数是否为水仙花数。程序源码#include <stdio.h>#include <math.h>int main(){ int i, sum; printf("3位的水仙花数有:"); for(i = 100; i <= 999; i++) { sum = po原创 2021-02-03 01:31:19 · 13005 阅读 · 1 评论 -
【C语言】用C语言编写一个程序,计算数列2/1,3/2,5/3,8/5,13/8…前20项之和
用C语言编写一个程序,计算数列2/1,3/2,5/3,8/5,13/8…前20项之和。程序源码#include <stdio.h>int main(){ int n = 20; double i = 1, j = 1, k; double res = 0; while(n--) { k = i; i = k + j; j = k; res += i / j; } pri原创 2021-02-03 01:27:33 · 4314 阅读 · 0 评论 -
【C语言】用指向一维数组的指针变量即二维数组的行指针作为函数参数,实现矩阵转置。 按如下函数原型编程计算并输出m×n阶矩阵的转置矩阵。
用指向一维数组的指针变量即二维数组的行指针作为函数参数,实现矩阵转置。按如下函数原型编程计算并输出m×n阶矩阵的转置矩阵。其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。void Transpose(int (*a)[N], int (*at)[M], int m, int n);void InputMatrix(int (*a)[N], int m, int n);void PrintMatrix(int (at)[M], int n, int m);输入提示信息:“Input原创 2021-02-03 01:23:49 · 18307 阅读 · 4 评论 -
【C语言】求方程式 ax^2+bx+c=0 的根, 分别考虑: 1、有两个不等的实根 2、有两个相等的实根
C语言求方程式 ax^2+bx+c=0 的根, 分别考虑: 1、有两个不等的实根 2、有两个相等的实根前言ax^2+bx+c=0 方程的解应该有一下几种可能:程序源码#include <stdio.h>#include <math.h>int main(){ double a, b, c, disc, x1, x2; printf("请输入a,b,c:"); scanf("%lf,%lf,%lf",&a,&b,&c);原创 2021-02-02 21:03:36 · 24415 阅读 · 1 评论 -
【C语言】输出杨辉三角形 - 杨辉直角三角形(杨辉三角最佳算法) 输出杨辉三角前十行
前言如下可看出杨辉三角形的特点:11 11 2 11 3 3 11 4 6 4 1* * * * * *(1)第一列和对角线上的元素都为1;(2)除第一列和对角线上的元素之外,其他的元素的值均为前一行上的同列元素和前一列元素之和。下面就为大家介绍一下杨辉三角的2种最佳算法。方法一:使用一维数组,占用内存少#include <stdio.h>int main(){ int i, j, n, k, t; long Bu原创 2021-02-02 19:22:17 · 41698 阅读 · 26 评论 -
【C语言】判断二维空间中的点,是否在圆内(输出:该点在圆内、该点在圆上、该点在圆外)。 允许的误差为1e-6.
**【题目】**判断二维空间中的点,是否在圆内(输出:该点在圆内、该点在圆上、该点在圆外)。允许的误差为1e-6.**输入格式要求:"%f,%f" “%f” “%f,%f” 提示信息:“请输入圆的圆心坐标:” “请输入圆的半径:” “请输入要判断的点的坐标(x,y):”**输出格式要求:“该点在圆内\n” “该点不在圆内\n” “该点在圆上\n”程序示例运行如下:请输入圆的圆心坐标:3.5,4.5请输入圆的半径:6请输入要判断的点的坐标(x,y):5.5,7.8该点在圆内【程序如下】#i原创 2021-02-02 00:25:35 · 11490 阅读 · 1 评论 -
【C语言】用户从键盘任意输入一个数字表示月份值n,程序显示该月份对应的英文表示,若n不在1~12之间,则输出“Illegal month“。
【题目】:用户从键盘任意输入一个数字表示月份值n,程序显示该月份对应的英文表示,若n不在1~12之间,则输出"Illegal month"。【程序如下】#include <stdio.h>main(){ int n, i=0; char monthName[][20] = {"Illegal month", "January", "February", "March", "April", "May", "June", "July", "August", "Septembe原创 2021-02-02 00:21:24 · 5996 阅读 · 0 评论 -
【C语言】写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。
【题目】写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。**提示信息:“请输入一行字符:”**输出格式要求:“总共有%d个单词,平均长度为%d\n”【程序设计如下】#include <stdio.h>int max(char ch[],int *num);int main(){ int num,len; char English[100]; printf("请输入一原创 2021-02-02 00:10:47 · 9238 阅读 · 1 评论 -
【C语言】任意输入英文的星期几,通过查找星期表,输出其对应的数字, 若查到表尾,仍未找到,则输出错误提示信息。
【题目】:任意输入英文的星期几,通过查找星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。【程序如下】:#include <stdio.h>#define WEEKDAYS 7#define MAX_STR_LEN 10int main(void){ int i, j, k, pos; int findFlag=0; char x[MAX_STR_LEN]; char weekDay[][MAX_STR_LEN] = {原创 2021-02-01 18:41:20 · 10285 阅读 · 3 评论 -
【C语言】采用折半查找法在10个有序数中寻找某个数
【题目】C语言采用折半查找法在10个有序数中寻找某个数,如果找到,输出其所在数组中下标的位置,否则,输出没找到。【源码】#include <stdio.h>int main(void){ int up=10, low=1, mid, found=0, find; int a[10]= {1, 5, 6, 9, 11, 17, 25, 34, 38, 41}; scanf("%d", &find); printf("\n"); while原创 2021-02-01 17:03:07 · 8255 阅读 · 0 评论 -
【C语言】编写数组元素倒置字符串倒置算法函数
C语言编写数组元素倒置字符串倒置算法函数将数组数据“10,9,8,7,6,5,4,3,2,1”进行倒置,变成“1,2,3,4,5,6,7,8,9,10 ”。程序如下#include <stdio.h>#define LEN 10void Data_Convert(int *t, int n);int main(void){ int buf[LEN]= {10,9,8,7,6,5,4,3,2,1}; int i; Data_Convert(buf, LEN);原创 2021-02-01 16:38:45 · 4307 阅读 · 1 评论 -
【C语言】写一个函数接收两个日期, 如果两个日期相同,则返回0, 如果第一个日期晚于第二个日期,则返回1, 如果第一个日期早于第二个日期,则返回-1。
【题目】给定如下定义:struct date_rec{int day ;int month ;int year ;};写一个函数接收两个日期,如果两个日期相同,则返回0,如果第一个日期晚于第二个日期,则返回1,如果第一个日期早于第二个日期,则返回-1。并编写main函数测试它。**输入格式要求:"%d%d%d" 提示信息:“请输入当前日期(年 月 日):”**输出格式要求:“当前日期:%d年%d月%d日!\n” “第一个日期晚于第二个日期!” “第一个日期早于第二个日期!” “原创 2021-02-01 16:12:40 · 5706 阅读 · 0 评论 -
【C语言】选择排序从小到大,从大到小,详细注释
【选择排序程序如下】程序修改说明:程序中的if(b[j] < b[m])即是排序方式,< 即从小到大排序,改成 > 即从大到小排序#include <stdio.h>int main(){#define LEN 10 int b[LEN];//1,3,2,9,8,7,6,5,4,0 int i, j, m, temp; printf("请输入10个整数:"); for( i = 0; i < LEN; i++) s原创 2021-02-01 15:11:24 · 37193 阅读 · 7 评论 -
【C语言】将一个字符串插入至另一个源字符串的某个位置
【题目】:将一个字符串插入至另一个源字符串的某个位置:【程序如下】#include <stdio.h>#include <string.h>char *insert(char *s1, char *s2, int n);int main(void){ char s1[50]; char s2[50]; int n; char *newstr; printf("请输入第一个字符串:"); scanf("%s", s1); printf("请输入第二个字符串:"原创 2021-02-01 14:39:21 · 5383 阅读 · 2 评论 -
【C语言】写一个函数将以秒计数的时间转换为以时、分、秒计数的时间。函数返回用指针类型
【题目】:写一个函数将以秒计数的时间转换为以时、分、秒计数的时间,函数返回用指针类型。函数原型为:char *seconds_to(int seconds)。编写main调用测试它。**输入格式要求:"%d" 提示信息:“请输入时间(秒):\n”**输出格式要求:"%d秒合计%s!\n" “%d小时%d分钟%d秒”【程序如下】#include <stdio.h>char *seconds_to(int seconds);int main (){ int t; c原创 2021-02-01 14:00:50 · 6757 阅读 · 1 评论 -
【C语言】统计出文章的英文大写字母、小写字母、数字、空格以及其他字符的个数,共有3行文字,每行有80个字符
【题目】:有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。【程序如下】#include <stdio.h>int main(){ char str[3][80]= {"0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEf *", "0123456789ABCDEF原创 2021-02-01 13:50:26 · 15030 阅读 · 0 评论 -
【C语言】输出1900至2000年(包含1900年和2000年)间的所有闰年
输出1900至2000年(包含1900年和2000年)间的所有闰年/*--------------------------------------------------判断公元年是否闰年的条件是:(1)能被4整除,而不能被100整除,则是闰年(2)能被400整除也是闰年。--------------------------------------------------*/#include<stdio.h>int main(){ int year; for(ye原创 2021-02-01 13:32:09 · 15077 阅读 · 2 评论 -
【C语言】表白程序心形与520流动显示程序520情人节表白脱单必备!
#include <stdio.h>#include <windows.h>#define SHOW_SPEED 100#define LOVE_ASCII 'V'#define LOG_Delay(x) {printf(x); Sleep(SHOW_SPEED);}int main(){ int i,j,k; char b[500]={"\n\ ***** *****\n\ ********* *********\n\ **原创 2021-02-01 02:28:59 · 16404 阅读 · 4 评论 -
【C语言】编写输出任意之间的所有素数(1-100)&前100个(100-200)所有素数
【1】题目:C语言编写输出100~200之间的素数【2】程序设计如下:#include <stdio.h>int main(){ int prime(int n); int i, j = 0; for( i = 100; i <= 200; i++ ) { if(prime(i)) { printf("%3d,", i); if(++j>=10)原创 2021-01-31 22:17:05 · 18918 阅读 · 1 评论 -
【C语言】输出杨辉三角形 - 杨辉等腰三角形(杨辉三角最佳算法) 输出杨辉三角前十行
C语言输出杨辉三角形程序(全网最高效灵活的算法)输出杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 1* * * * * *首先我们要分析什么是杨辉三角形?杨辉三角形特点:(1)第一列和对角线上的元素都为1;(2)除第一列和对角线上的元素之外,其他的元素的值均为前一行上的同列元素和前一列元素之和。实现程序如下:#include <stdio.h>int main(){int Last[10];原创 2021-01-31 21:37:28 · 33895 阅读 · 9 评论