c语言经典算法100例
- 格式:docx
- 大小:48.15 KB
- 文档页数:31
c语言算法100例以下是一些经典的C语言算法题目,总共提供100个例子供你练习和学习:1.编写一个程序,计算并输出斐波那契数列的前20个数。
2.编写一个程序,判断一个数是否为素数。
3.编写一个程序,计算并输出一个数的阶乘。
4.编写一个程序,实现两个数的交换(不使用第三个变量)。
5.编写一个程序,找出一个数组中的最大值。
6.编写一个程序,将一个字符串反转。
7.编写一个程序,判断一个字符串是否为回文字符串。
8.编写一个程序,实现冒泡排序算法对一个数组进行排序。
9.编写一个程序,实现二分查找算法在一个有序数组中查找指定的元素。
10.编写一个程序,计算并输出斐波那契数列的第n个数。
11.编写一个程序,将一个二维数组顺时针旋转90度。
12.编写一个程序,计算并输出一个数的平方根。
13.编写一个程序,判断一个字符串中是否包含重复字符。
14.编写一个程序,实现插入排序算法对一个数组进行排序。
15.编写一个程序,将一个有序数组合并为一个有序数组。
16.编写一个程序,判断一个数是否为完全数(即所有因子之和等于该数本身)。
17.编写一个程序,计算并输出一个数的倒数。
18.编写一个程序,判断一个字符串是否是另一个字符串的子串。
19.编写一个程序,实现选择排序算法对一个数组进行排序。
20.编写一个程序,计算并输出两个数的最大公约数。
21.编写一个程序,实现快速排序算法对一个数组进行排序。
22.编写一个程序,将一个字符串中的所有空格替换为指定的字符。
23.编写一个程序,判断一个数是否是回文数。
24.编写一个程序,计算并输出两个数的最小公倍数。
25.编写一个程序,实现归并排序算法对一个数组进行排序。
26.编写一个程序,判断一个字符串是否是有效的括号串。
27.编写一个程序,计算并输出一个数的立方根。
28.编写一个程序,实现堆排序算法对一个数组进行排序。
29.编写一个程序,判断一个数是否是质数。
30.编写一个程序,计算并输出一个数的二进制表示。
60.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?_________________________________________________________________ _ 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....___________________________________________________________________程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!61.题目:判断101-200之间有多少个素数,并输出所有素数。
_________________________________________________________________ _1程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
___________________________________________________________________程序源代码:#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);}62.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a的值19.求解"完数"20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5!27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与 &52.学习使用按位或 |53.学习使用按位异或 ^54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子160.画图综合例子261.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse64.利用ellipse and rectangle画图65.画个最优美的图案66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针)78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密90.专升本一题91.时间函数举例192.时间函数举例293.时间函数举例394.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
(完整版)c语言程序设计100例(考研专用)经典c程序100例==1--10【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}============================================================== 【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}====================================== ======================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
经典C语言程序设计100例利用递归方法求5!1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特别图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大合约数和最小公倍数统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a 的值19.求解"完数"20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20! 的和26.38.求3*3矩阵对角线元素之和一个数组逆序输出41.static定义静态变量用法42.76.调用函数求1/2+1/4+...+1/nstatic的另一用法77.填空练习(指向指针的指针)46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if#ifdef和#ifndef的综合应用50.#include的应用练习51.学习使用按位与&除52.学习使用按位或|53.学习使用按位异或^4~7位。
该值个数的*55.学习使用按位取反~数97.输入字符并保存到磁盘98.图符串变换成大写字母并输出保存出--------------------------------------------------------------------------------c语言经典100题【合用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不同样且无重复数字的三位数?都是多少?1.程序解析:可填在百位、十位、个位的数字都是掉不满足条件的排列。
1、2、3、4。
组成全部的排列后再去2.程序源代码:main(){inti,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k) /*保证i、j、k三位互不同样*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金依照利润提成。
经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a的值19.求解"完数"20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5!27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与 &52.学习使用按位或 |53.学习使用按位异或 ^54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子160.画图综合例子261.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse64.利用ellipse and rectangle画图65.画个最优美的图案66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针)78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密90.专升本一题91.时间函数举例192.时间函数举例293.时间函数举例394.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
100个经典C语言编程例子(答案另附)1:计算 A+B 的问题时间限制:1000MS 内存限制:10000K总提交数:1347 正确数:655问题描述输入两个整数 a 和 b ,计算 a+b 的结果并输出。
输入两个整数输出一个整数输入样例1 2输出样例32:Hello World!时间限制:1000MS 内存限制:65536K总提交数:848 正确数:693问题描述编写第一个C语言程序。
在屏幕上输出:Hello World!输入程序没有输入输出Hello World!输入样例输出样例Hello World!提示1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。
3:两个整数的值互换时间限制:1000MS 内存限制:65536K总提交数:1235 正确数:530问题描述输入两个整数a,b ,将 a 和 b 的值互换,并输出。
例如:输入: 2 5输出: 5 2输入两个整数输出两个整数输入样例2 5输出样例5 2提示注意输入和输出的格式,两个数据之间用一个空格隔开。
问题来源4:计算三门课程总分和平均分时间限制:1000MS 内存限制:65536K总提交数:1190 正确数:482问题描述输入三门课程的成绩,输出总分和平均分。
要求:(1)输入三个数,用空格隔开。
输入的数可以是小数。
(2)输出两个数,用空格隔开。
输出的数保留两位小数。
例如:输入: 75 80 90输出: 245.00 81.67 输入输入三个数,用空格隔开。
输入的数可以是小数。
输出输出两个数,用空格隔开。
输出的数保留两位小数。
输入样例75 80 90输出样例245.00 81.67问题来源5:鸡兔同笼问题时间限制:1000MS 内存限制:65536K总提交数:872 正确数:443问题描述这个问题,是我国古代著名趣题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。
书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。
看懂一个程序,分三步:1、流程;2、每个语句的功能;3、试数;小程序:1、尝试编程去解决他;2、看答案;3、修改程序,不同的输出结果;4、照答案去敲;5、调试错误;6、不看答案,自己把答案敲出来;7、实在不会就背会。
周而复始,反复的敲。
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?==============================================================【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?==============================================================【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。
==============================================================【程序6】题目:用*号输出字母C的图案。
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main() {int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++) {if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k); }}==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main() {long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus); }==============================================================题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C 语言编程经典100 例A:【程序1】题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n"); C 语言编程经典算法2010 年04 月10 日HUST CS0909 SHGZONEelse if(i〈=)bonus=bonus2+(i-)*0.05;else if(i〈=)bonus=bonus4+(i-)*0.03;else if(i〈=)bonus=bonus6+(i-)*0.015;elsebonus=bonus10+(i-)*0.01;printf("bonus=%d",bonus);}===========================【程序3】for(i=1;i〈5;i++)for(j=1;j〈5;j++)for (k=1;k〈5;k++){ /*以下为三重循环*/ 题目:一个整数,它加上100 后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10 万以内判断,先将该数加上100 后再开方,再将该数加上268 后再开方,如果开方后if (i!=k&&i!=j&&j!=k)位互不相同*/printf("%d,%d,%d\n",i,j,k);}}=========================== 【程序2】/*确保i、j、k 三的结果满足如下条件,即是结果。
请看具体分析:2.程序源代码:#include "math.h"main(){long int i,x,y,z;for (i=1;i〈;i++)题目:企业发放的奖金根据利润提成。
【程序21】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day--;}printf("the total is %d\n",x1);}==============================================================【程序22】题目:两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。
有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
2.程序源代码:main(){char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/for(i='x';i<='z';i++)for(j='x';j<='z';j++){if(i!=j)for(k='x';k<='z';k++){ if(i!=k&&j!=k){ if(i!='x'&&k!='x'&&k!='z')printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);}}}}==============================================================【程序23】题目:打印出如下图案(菱形)【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
C语言经典算法100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main() {int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++) {if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k); }}==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main() {long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus); }==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
11000 计算A+B 的问题49%(655/1347) 53% 01C语言基础21001 Hello World!82%(693/848) 18% 01C语言基础31004 两个整数的值互换43%(530/1235) 58% 01C语言基础41068 计算三门课程总分和平均分41%(482/1190) 60% 01C语言基础51002 鸡兔同笼问题51%(443/872) 50% 02顺序结构61005 输出一个自然数的百位十位和个位上的各个数字63%(437/695) 37% 02顺序结构71006 输出字符(A-F)代表的十六进制数所对应的十进制值84%(387/462) 16% 02顺序结构81008 求华氏温度所对应的摄氏温度73%(407/556) 27% 02顺序结构91009 已知斜边和一直角边计算三角形的另一直角边76%(415/547) 24% 02顺序结构101069 已知三边计算三角形的面积64%(374/585) 36% 02顺序结构111070 输出小写字母的ASCII码及对应大写字母63%(378/602) 37% 02顺序结构121071 保留两位小数72%(335/467) 29% 02顺序结构131003 判断输入的一个字符是否是小写字母76%(373/492) 24% 03分支结构141007 简单字符加密变换A->F72%(322/450) 28% 03分支结构151010 判断输入的一个字符是什么类型的字符58%(337/583) 43% 03分支结构161011 判断一个学生的成绩等级70%(375/536) 30% 03分支结构171012 输出数字(1-7)对应的英文星期名称的简写63%(337/536) 38% 03分支结构181013 给定三个边长的值判断是否能够构成三角形53%(347/650) 47% 03分支结构191014 将输入的三个数按从小到大的顺序输出67%(308/460) 33% 03分支结构201015 编程计算一个分段函数75%(319/428) 25% 03分支结构211073 这个数能被3整除吗?68%(374/546) 32% 03分支结构221074 这个月有多少天?54%(290/542) 46% 03分支结构231075 模拟加减乘除计算器76%(274/361) 24% 03分支结构241076 输出三个数中的最大数和最小数77%(298/386) 23% 03分支结构251077 个人所得税问题(1)71%(275/389) 30% 03分支结构261078 出租车收费问题66%(226/340) 33% 03分支结构271079 学生综合测评问题49%(259/525) 51% 03分支结构281080 个人所得税问题(2)76%(247/327) 25% 03分支结构291081 他(她)的实足年龄是......55%(243/438) 44% 03分支结构301016 将一个小整数逆序输出70%(298/425) 30% 04循环结构311017 计算一个数字的各位数字之和70%(328/466) 30% 04循环结构321018 求两个数之间有多少个数的各位上数字之和为751%(209/412) 49% 04循环结构331019 判断一个整数是否是素数62%(273/440) 38% 04循环结构101个经典C语言编程例子341020 输出n - m 之间的所有素数80%(226/282) 20% 04循环结构351021 1到m之间有哪些数能被7或被11整除?82%(263/322) 18% 04循环结构361022 编程计算1+3+5+7+... 的值68%(321/472) 32% 04循环结构371023 计算 1 !+2 !+3 !+… 前n 项的和66%(307/466) 34% 04循环结构381024 输出100-999之间的所有水仙花数70%(244/347) 30% 04循环结构391025 求输出的数既是完全平方数又有两位相同的数76%(188/248) 24% 04循环结构401026 判断一个数是否是完数85%(199/233) 14% 04循环结构411027 求1+22+333+ … 前n 项的和53%(216/407) 47% 04循环结构421028 求sum=b+bb+bbb+bbbb+...70%(220/315) 31% 04循环结构431029 求1-1/2+1/3-1/4+1/5-1/6+ … 的前n项的值83%(229/277) 18% 04循环结构441030求1-1/(2*2)+1/(3*3)-1/(4*4)+1/(5*5)-1/(6*6)+ … 前n项值92%(208/226) 8% 04循环结构451031 编程计算∏的近似值59%(169/285) 41% 04循环结构461032编程计算1+x/2+2*x*x/3+3*x*x*x/5+ 5*x*x*x*x/8+ ……78%(120/153) 22% 04循环结构471033 打印图形72%(162/226) 29% 04循环结构481034 求解中国剩余定理的问题81%(167/205) 18% 04循环结构491035 哪些数加上n 后是完全平方数且加上m 后也是完全平方数66%(156/235) 34% 04循环结构501084 求解不定方程的非负整数的根94%(154/164) 6% 04循环结构511085 百钱百鸡问题96%(174/182) 4% 04循环结构521086 多少年后父亲的年龄是儿子的年龄的2倍77%(185/241) 23% 04循环结构531087 特殊的四位数96%(171/178) 4% 04循环结构541082 计算F(G(x))的值76%(155/204) 24% 05函数551083 哪些数是回文数?74%(111/150) 26% 05函数561088 编写阶乘函数求表达式的值91%(144/158) 8% 05函数571089 编程计算两个数的最大公约数92%(131/143) 9% 05函数581090 计算一个数的所有质因数64%(121/189) 37% 05函数591095 求递归函数的值96%(114/119) 4% 05函数601036 将一维数组中的数据按逆序重新存放81%(134/166) 20% 06数组和指针611037 统计一组数据中正数、负数和零的个数84%(127/152) 17% 06数组和指针621038 计算一组数据的平均值92%(132/144) 9% 06数组和指针631039 统计一个串中字母、数字和其它字符的个数66%(104/158) 31% 06数组和指针641040 判断一组数据是否是从小到大的76%(100/131) 24% 06数组和指针序列651041 判断一个字符串是否是回文78%(103/132) 22% 06数组和指针661042 数组中有这个数吗?76%(94/123) 24% 06数组和指针671043 求出二维数组中最大元素的值及其位置79%(97/123) 20% 06数组和指针681044 交换二维数组中最大元素和最小元素80%(87/109) 20% 06数组和指针691045 统计字符串中单词数量60%(85/142) 41% 06数组和指针701046 将一个字符串中所有字母转成大写87%(92/106) 13% 06数组和指针711047 删除字符串中的前导*号83%(90/109) 18% 06数组和指针721048 删除字符串的*号后缀76%(86/113) 15% 06数组和指针731049 删除字符串中所有的*号87%(92/106) 13% 06数组和指针741094 求矩阵的两对角线上的元素之和78%(66/85) 23% 06数组和指针751097 结构体:按成绩排序77%(43/56) 22% 07结构体761098 结构体:求最高分和最低分83%(40/48) 17% 07结构体771099 结构体:计算学生平均分74%(39/53) 27% 07结构体781100 结构体:在线编程评测系统的排名57%(34/60) 47% 07结构体791050 [初级竞赛题] 亲和数82%(89/109) 19% 09综合应用801051 [初级竞赛题] 陶陶摘苹果81%(70/86) 19% 09综合应用811052 [初级竞赛题] Lucky Number55%(36/66) 46% 09综合应用821053 [初级竞赛题] 阅读顺序61%(41/67) 38% 09综合应用831054 [初级竞赛题] Redraiment猜想97%(61/63) 3% 09综合应用841055 [初级竞赛题] Magic Number67%(20/30) 32% 09综合应用851056 [中级竞赛题] 不高兴的津津79%(46/58) 21% 09综合应用861057 [中级竞赛题] 整数拼数36%(26/73) 66% 09综合应用871058 [中级竞赛题] 最小倍数84%(36/43) 17% 09综合应用881059 [中级竞赛题] 循环移位84%(37/44) 16% 09综合应用891060 [中级竞赛题] 高低位交换85%(28/33) 16% 09综合应用901061 [中级竞赛题] 亲和数55%(35/64) 45% 09综合应用911062 [高级竞赛题] 分解因式97%(38/39) 3% 09综合应用921063 [高级竞赛题] 回文数87%(27/31) 14% 09综合应用931064 [高级竞赛题] 赋值问题43%(21/49) 60% 09综合应用941065 [高级竞赛题] 报数问题67%(28/42) 31% 09综合应用951066 [高级竞赛题] 移数问题74%(32/43) 26% 09综合应用961067 [高级竞赛题] 松鼠吃果子70%(30/43) 28% 09综合应用971091 [综合应用题] 自守数42%(14/33) 59% 09综合应用981092 [综合应用题] 角谷猜想95%(35/37) 6% 09综合应用991093 [综合应用题] 求解方程59%(40/68) 42% 09综合应用1001096 [综合应用题] 求同存异74%(37/50) 27% 09综合应用1011101 模拟EXCEL的排序39%(13/33) 61% 09综合应用。
经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题21.猴子吃桃问题 22.乒乓球比赛抽签问题23.打印菱形图案 24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印 28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用 35.设置文本颜色 36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和 39.数字插入数组重新排序 40.将一个数组逆序输出41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与 &52.学习使用按位或 |53.学习使用按位异或 ^ 54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~ 56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子 60.画图综合例子2 61.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse 64.利用ellipse and rectangle画图65.画个最优美的图案 66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题 70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表 74.连接两个链表 75.算一道简单题目76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密 90.专升本一题91.时间函数举例1 92.时间函数举例293.时间函数举例3 94.一个猜数游戏 95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘 98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a的值19.求解"完数"20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5!27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与&52.学习使用按位或|53.学习使用按位异或^54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子160.画图综合例子261.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse64.利用ellipse and rectangle画图65.画个最优美的图案66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针)78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密90.专升本一题91.时间函数举例192.时间函数举例293.时间函数举例394.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
60.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?_________________________________________________________________ _程序分析:兔子的规律为数列1,1,2,3,5,8,13,21...._________________________________________________________________ __程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!61.题目:判断101-200之间有多少个素数,并输出所有素数。
_________________________________________________________________ _程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
_________________________________________________________________ __程序源代码:#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);}62.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
_________________________________________________________________ _程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
_________________________________________________________________ __程序源代码:main(){int i,j,k,n;printf("'water flower'number is:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);}}printf("\n");}。
63.题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
_________________________________________________________________ _程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
_________________________________________________________________ __程序源代码:/* zheng int is divided yinshu*/main(){int n,i;printf("\nplease input a number:\n");scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i++){while(n!=i){if(n%i==0){ printf("%d*",i);n=n/i;}elsebreak;}}printf("%d",n);}64.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A 表示,60-89分之间的用B表示,60分以下的用C表示。
_________________________________________________________________ _程序分析:(a>b)?a:b这是条件运算符的基本例子。
_________________________________________________________________ __程序源代码:main(){int score;char grade;printf("please input a score\n");scanf("%d",&score);grade=score>=90?'A'score>=60?'B':'C');printf("%d belongs to %c",score,grade);}65.输入两个正整数m和n,求其最大公约数和最小公倍数。
_________________________________________________________________ _程序分析:利用辗除法。
_________________________________________________________________ __程序源代码:main(){int a,b,num1,num2,temp;printf("please input two numbers:\n");scanf("%d,%d",&num1,&num2);if(num1 { temp=num1;num1=num2;num2=temp;}a=num1;b=num2;while(b!=0)/*利用辗除法,直到b为0为止*/{temp=a%b;a=b;b=temp;}printf("gongyueshu:%d\n",a);printf("gongbeishu:%d\n",num1*num2/a);}66.题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
_________________________________________________________________ _程序分析:利用while语句,条件为输入的字符不为'\n'._________________________________________________________________ __程序源代码:#include "stdio.h"main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;elseothers++;}printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);}67.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
_________________________________________________________________ _程序分析:关键是计算出每一项的值。
_________________________________________________________________ __程序源代码:main(){int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\n");scanf("%d,%d",&a,&n);printf("a=%d,n=%d\n",a,n);while(count<=n){tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld\n",sn);}68.题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
_________________________________________________________________ __程序源代码:main(){static int k[10];int i,j,n,s;for(j=2;j<1000;j++){n=-1;s=j;for(i=1;i {if((j%i)==0){ n++;s=s-i;k[n]=i;}}if(s==0){printf("%d is a wanshu",j);for(i=0;i printf("%d,",k);printf("%d\n",k[n]);}}}69.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?_________________________________________________________________ __程序源代码:main(){float sn=100.0,hn=sn/2;int n;for(n=2;n<=10;n++){sn=sn+2*hn;/*第n次落地时共经过的米数*/hn=hn/2; /*第n次反跳高度*/}printf("the total of road is %f\n",sn);printf("the tenth is %f meter\n",hn);}70.题目:一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个._________________________________________________________________ __程序源代码:/* 猴子吃桃问题 */main(){int i,s,n=1;for(i=1;i<10;i++){s=(n+1)*2n=s;}printf("第一天共摘了%d个桃\n",s);}71.迭代法求方程根_________________________________________________________________ __/* 迭代法求一个数的平方根 */#define Epsilon 1.0E-6 /*控制解的精度*/#include<math.h>main(){float a,x0,x1;printf("请输入要求的数:");scanf("%f",&a);x0=a/2;x1=(x0+a/x0)/2;while(fabs(x1-x0)>=Epsilon){x0=x1;x1=(x0+a/x0)/2;}printf("%f的平方根:%f.5\n",x1);}/* 上题的另一种算法 */#define Epsilon 1.0E-6 /*控制解的精度*/#include <stdio.h>#include <math.h>main(){float num,pre,this;do{scanf("%f",&num);/*输入要求平方根的数*/}while(num<0);if (num==0)printf("the root is 0");else{this=1;do{pre=this;this=(pre+num/pre)/2;}while(fabs(pre-this)>Epsilon);/*用解的精度,控制循环次数*/ }printf("the root is %f",this);}用牛顿迭代法求方程 2*x*x*x-4*x*x+3*x-6 的根/* 牛顿迭代法 */#define Epsilon 1.0E-6 /*控制解的精度*/#include<math.h>main(){float x1,x0=1.5;x1=x0-(2*x0*x0*x0-4*x0*x0+3*x0-6)/(6*x0*x0-8*x0+3); while(fabs(x1-x0>=Epsilon){x0=x1;x1=x0-(2*x0*x0*x0-4*x0*x0+3*x0-6)/(6*x0*x0-8*x0+3);}printf("方程的根为%f\n",x1);}用二分法求上题/* 二分法 */#define Epsilon 1.0E-5 /*控制解的精度*/#include<math.h>main(){folat x1,x2,x0,f1,f2,f0;x0=(x1+x2)/2;f0=2*x0*x0*x0-4*x0*x0+3*x0-6; /* 求中点的函数值 */ while(fabs(f0)>=Epsilon){if(f0*f1<0){ x2=x0;f2=2*x2*x2*x2-4*x2*x2+3*x2-6;}if(f0*f2<0){ x1=x0;f1=2*x1*x1*x1-4*x1*x1+3*x1-6;}x0=(x1+x2)/2;f0=2*x0*x0*x0-4*x0*x0+3*x0-6;}printf("用二分法求得方程的根:%f\n",x0);}72.题目:打印出如下图案(菱形)****************************_________________________________________________________________ __程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。