c语言编程实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程实例相关的知识,希望对你有一定的参考价值。
求编程实例。我是菜鸟不要太难啊
【程序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;
else
bonus=bonus10+(i-1000000)*0.01;
printf(“bonus=%d“,bonus);
==============================================================
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码:
#include “math.h“
main()
long int i,x,y,z;
for (i=1;i〈100000;i++)
x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf(“\\n%ld\\n“,i);
==============================================================
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
int day,month,year,sum,leap;
printf(“\\nplease input year,month,day\\n“);
scanf(“%d,%d,%d“,&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf(“data error“);break;
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month〉2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf(“It is the %dth day.“,sum);
==============================================================
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x〉y则将x与y的值进行交换,
然后再用x与z进行比较,如果x〉z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
main()
int x,y,z,t;
scanf(“%d%d%d“,&x,&y,&z);
if (x〉y)
t=x;x=y;y=t; /*交换x,y的值*/
if(x〉z)
t=z;z=x;x=t;/*交换x,z的值*/
if(y〉z)
t=y;y=z;z=t;/*交换z,y的值*/
printf(“small to big: %d %d %d\\n“,x,y,z);
==============================================================
【程序6】
题目:用*号输出字母C的图案。
1.程序分析:可先用’*’号在纸上写出字母C,再分行输出。
2.程序源代码:
#include “stdio.h“
main()
printf(“Hello C-world!\\n“);
printf(“ ****\\n“);
printf(“ *\\n“);
printf(“ * \\n“);
printf(“ ****\\n“);
==============================================================
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
1.程序分析:字符共有256个。不同字符,图形不一样。
2.程序源代码:
#include “stdio.h“
main()
char a=176,b=219;
printf(“%c%c%c%c%c\\n“,b,a,a,a,b);
printf(“%c%c%c%c%c\\n“,a,b,a,b,a);
printf(“%c%c%c%c%c\\n“,a,a,b,a,a);
printf(“%c%c%c%c%c\\n“,a,b,a,b,a);
printf(“%c%c%c%c%c\\n“,b,a,a,a,b);
==============================================================
【程序8】
题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:
#include “stdio.h“
main()
int i,j,result;
printf(“\\n“);
for (i=1;i〈10;i++)
for(j=1;j〈10;j++)
result=i*j;
printf(“%d*%d=%-3d“,i,j,result);/*-3d表示左对齐,占3位*/
printf(“\\n“);/*每一行后换行*/
==============================================================
【程序9】
题目:要求输出国际象棋棋盘。
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
2.程序源代码:
#include “stdio.h“
main()
int i,j;
for(i=0;i〈8;i++)
for(j=0;j〈8;j++)
if((i+j)%2==0)
printf(“%c%c“,219,219);
else
printf(“ “);
printf(“\\n“);
==============================================================
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸。
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
2.程序源代码:
#include “stdio.h“
main()
int i,j;
printf(“\\1\\1\\n“);/*输出两个笑脸*/
for(i=1;i〈11;i++)
for(j=1;j〈=i;j++)
printf(“%c%c“,219,219);
printf(“\\n“);
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
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; /*前两个月加起来赋值给第三个月*/
==============================================================
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
2.程序源代码:
#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++;<br> if(h%10==0)<br> printf(“\\n“);<br>
leap=1;
printf(“\\nThe total is %d“,h);
==============================================================
【程序13】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
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“);
==============================================================
【程序14】
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。2.程序源代码:
/* 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;
else
break;
printf(“%d“,n);
==============================================================
【程序15】
题目:利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,
60分以下的用C表示。
1.程序分析:(a〉b)?a:b这是条件运算符的基本例子。
2.程序源代码:
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);
==============================================================
【程序16】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。2.程序源代码:
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);
==============================================================
【程序17】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为’\\n’.
2.程序源代码:
#include “stdio.h“
main()
char c;<br> int letters=0,space=0,digit=0,others=0;<br> printf(“please input some characters\\n“);<br> while((c=getchar())!=’\\n’)<br> <br> if(c〉=’a’&&c〈=’z’||c〉=’A’&&c〈=’Z’)<br> letters++;<br> else if(c==’ ’)<br> space++;<br> else if(c〉=’0’&&c〈=’9’)<br> digit++;<br> else<br> others++;<br>
printf(“all in all:char=%d space=%d digit=%d others=%d\\n“,letters,
space,digit,others);
==============================================================
【程序18】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
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);
==============================================================
【程序19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。
1. 程序分析:请参照程序〈--上页程序14.
2.程序源代码:
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]);
==============================================================
【程序20】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10次落地时,共经过多少米?第10次反弹多高?
1.程序分析:见下面注释
2.程序源代码:
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);
参考技术A 你这个问得很那个呀!能不能说明白的啊!给个a+b=c;你会不会啊! 参考技术B http://www.ibook8.com/book/vb.htm 有很多,自己选吧~
200多个C语言经典编程实例
资料内容包括初识C语言、简单的C程序、算法入门、常用数据类型、运算符与表达式、数据输入与输出函数、选择和分支结构程序设计、循环结构、数组、函数编程基础、指针、常用数据结构、位运算操作符、存储管理、预处理和函数类型、文件读写、图形图像处理。
目录
实例001 第一个C语言程序
实例002 一个完整的C语言程序
实例003 输出名言
实例004 用TC 2.0打开文件
实例005 计算正方形的周长
第2章 简单的C程序
实例006 输出一个正方形
实例007 输出一个三角形
实例008 一个简单的求和程序
实例009 求10!
实例010 3个数由小到大排序
实例011 猴子吃桃
实例012 阳阳买苹果
第3章 算法入门
实例013 任意次方后的最后三位
实例014 计算某日是该年的第几天
实例015 婚礼上的谎言
实例016 百元买百鸡
实例017 打渔晒网问题
实例018 判断三角形的类型
实例019 直接插入排序
实例020 希尔排序
实例021 冒泡排序
实例022 快速排序
实例023 选择排序
实例024 归并排序
实例025 二分查找
实例026 分块查找
实例027 哈希查找
实例028 斐波那契数列
实例029 哥德巴赫猜想
实例030 尼科彻斯定理
第4章 常用数据类型
实例031 数值型常量的使用
实例032 字符型变量的使用
实例033 求100~200之间的素数
实例034 利用#输出三角形
实例035 十进制转换为二进制
实例036 n进制转换为十进制
实例037 小球下落问题
实例038 巧分苹果
实例039 老师分糖果
实例040 IP地址形式输出
实例041 特殊的完全平方数
实例042 一数三平方
实例043 求等差数列
实例044 亲密数
实例045 自守数
第5章 运算符与表达式
实例046 求二元一次不定方程
实例047 可逆素数
实例048 判断闰年
实例049 黑纸与白纸
实例050 阿姆斯特朗数
实例051 最大公约数和最小公倍数
实例052 求一元二次方程的根
实例053 自然对数的底e的计算
实例054 满足abcd=(ab+cd)2的数
实例055 整数加减法练习
实例056 判断整倍数
实例057 阶梯问题
实例058 乘积大于和的数
实例059 求各位数之和为5的数
第6章 数据输入与输出函数
实例060 使用字符函数输入/输出字符
实例061 输出相对的最小整数
实例062 将小写字母转换为大写字母
实例063 水池注水问题
实例064 用*号输出图案
实例065 输出一个字符的前驱字符
实例066 求学生总成绩和平均成绩
实例067 回文素数
第7章 选择和分支结构程序设计
实例068 判断偶数
实例069 判断字母是否为大写
实例070 检查字符类型
实例071 求最低分和最高分
实例072 模拟自动售货机
实例073 计算工资
实例074 平方和值判断
实例075 加油站加油
实例076 简单计算器
第8章 循环结构
实例077 使用while语句求n!
实例078 使用while为用户提供
菜单显示
实例079 一元钱的兑换方案
实例080 特殊等式
实例081 打印乘法口诀表
实例082 平方和运算的问题
实例083 求从键盘中输入字符的个数
实例084 打印杨辉三角
实例085 求总数问题
实例086 彩球问题
实例087 新同学年龄
实例088 灯塔数量
实例089 计算12+22+…+102
实例090 循环显示随机数
实例091 卖西瓜
实例092 银行存款问题
实例093 统计不及格的人数
实例094 猜数字游戏
第9章 数组
实例095 求各元素之和
实例096 使用二维数组保存数据
实例097 计算字符串中有多少个单词
实例098 不使用strcpy()函数实现字符串复制功能
实例099 逆序存放数据
实例100 相邻元素之和
实例101 选票统计
实例102 使用数组统计学生成绩
实例103 查找数组中的最值
实例104 判断一个数是否存在数组中
实例105 求二维数组对角线之和
实例106 模拟比赛打分
实例107 矩阵的转置
实例108 设计魔方阵
实例109 字符升序排列
实例110 在指定位置插入字符
实例111 删除字符串中的连续字符
实例112 统计各种字符个数
实例113 字符串替换
实例114 回文字符串
实例115 字符串加密和解密
实例116 对调最大数与最小数位置
第10章 函数编程基础
实例117 输出两个数中的最大值
实例118 判断素数
实例119 递归解决年龄问题
实例120 递归解决分鱼问题
实例121 小数分离
实例122 求任意数的n次幂
实例123 固定格式输出当前时间
实例124 设计函数计算学生平均身高
实例125 求数组元素中的最小值
实例126 打印1~5的阶乘
实例127 求最大公约数和最小公倍数
实例128 求直角三角形的斜边
实例129 相对的最小整数
实例130 当前时间转换
实例131 显示程序运行时间
实例132 显示当前日期及时间
实例133 设置DOS系统日期
实例134 设置DOS系统时间
实例135 读取并设置BIOS的时钟
实例136 任意大写字母转小写
实例137 字符串复制到指定空间
实例138 查找位置信息
实例139 复制当前目录
实例140 产生唯一文件
实例141 不同亮度显示
实例142 字母检测
实例143 建立目录
实例144 删除目录
实例145 对数组进行升序和降序排序
实例146 设置组合键
实例147 获取当前日期与时间
实例148 获取当地日期与时间
实例149 获取格林尼治平时
实例150 设置系统日期
实例151 获取BIOS常规内存容量
实例152 读/写BIOS计时器
实例153 获取CMOS密码
实例154 获取Ctrl+Break消息
实例155 鼠标中断
实例156 设置文本显示模式
实例157 显卡类型测试
实例158 获取系统配置信息
实例159 访问系统temp中的文件
实例160 控制扬声器声音
实例161 获取Caps Lock键状态
实例162 获取环境变量
实例163 贪吃蛇游戏
实例164 五子棋游戏
实例165 弹力球游戏
第11章 指针
实例166 使用指针实现整数排序
实例167 指向结构体变量的指针
实例168 使用指针输出数组元素
实例169 使用指针查找数列中的最大值和最小值
实例170 使用指针的指针输出字符串
实例171 使用指向指针的指针对字符串排序
实例172 使用返回指针的函数查找最大值
实例173 使用指针连接两个字符串
实例174 用指针实现逆序存放数组元素值
实例175 用指针数组构造字符串数组
实例176 用指针函数输出学生成绩
实例177 寻找相同元素的指针
实例178 查找成绩不及格的学生
实例179 使用指针实现冒泡排序
实例180 输入月份号并输出英文月份名
实例181 使用指针插入元素
实例182 使用指针交换两个数组中的最大值
实例183 输出二维数组有关值
实例184 输出二维数组任一行任一列值
实例185 将若干字符串按照字母顺序输出
实例186 用指向函数的指针比较大小
实例187 寻找指定元素的指针
实例188 字符串的匹配
第12章 常用数据结构
实例189 比较计数
实例190 找出最高分
实例191 信息查询
实例192 候选人选票程序
实例193 计算开机时间
实例194 取出整型数据的高字节数据
实例195 使用共用体存放学生和老师信息
实例196 使用共用体处理任意类型数据
实例197 输出今天星期几
实例198 创建单向链表
实例199 创建双向链表
实例200 创建循环链表
实例201 使用头插入法建立单链表
实例202 双链表逆序输出
实例203 约瑟夫环
实例204 创建顺序表并插入元素
实例205 合并两个链表
实例206 单链表节点逆置
实例207 应用栈实现进制转换
实例208 用栈实现行编辑程序
实例209 用栈设置密码
实例210 括号匹配检测
实例211 用栈及递归计算多项式
实例212 链队列
实例213 循环缓冲区问题
实例214 简单的文本编辑器
第13章 位运算操作符
实例215 使二进制数特定位翻转
实例216 将输入的数左移两位并输出
实例217 编写循环移位函数
实例218 取出给定16位二进制数的奇数位
实例219 取一个整数的后四位
实例220 求一个数的补码
实例221 普通的位运算
实例222 整数与0异或
第14章 存储管理
实例223 使用malloc()函数分配内存
实例224 调用calloc()函数动态分配内存
实例225 为具有3个数组元素的数组分配内存
实例226 为二维数组动态分配内存
实例227 商品信息的动态存放
第15章 预处理和函数类型
实例228 用不带参数的宏定义求平行四边形面积
实例229 使用宏定义实现数组值的互换
实例230 编写头文件包含圆面积的计算公式
实例231 利用宏定义求偶数和
实例232 利用文件包含设计输出模式
实例233 使用条件编译隐藏密码
第16章 文件读写
实例234 关闭所有打开的文件
实例235 同时显示两个文件的内容
实例236 创建文件
实例237 格式化读写文件
实例238 创建临时文件
实例239 成块读写操作
实例240 随机读写文件
实例241 以行为单位读写文件
实例242 查找文件
实例243 重命名文件
实例244 删除文件
实例245 删除文件中的记录
实例246 文件内容复制
实例247 错误处理
实例248 合并两个文件信息
实例249 统计文件内容
实例250 读取磁盘文件
实例251 将数据写入磁盘文件
实例252 显示目录内同类型文件
实例253 文件分割
实例254 文件加密
实例255 自毁程序
实例256 明码序列号保护
实例257 非明码序列号保护
实例258 恺撒加密
实例259 RSA加密
实例260 获取当前磁盘空间信息
实例261 DES加密
实例262 获取系统配置信息
实例263 获取寄存器信息
第17章 图形图像处理
实例264 绘制直线
实例265 绘制矩形
实例266 绘制表格
实例267 绘制立体窗口
实例268 绘制椭圆
实例269 绘制圆弧线
实例270 绘制扇区
实例271 绘制空心圆
实例272 绘制箭头
实例273 绘制正弦曲线
实例274 绘制彩带
实例275 绘制黄色网格填充的椭圆
实例276 绘制红色间隔点填充的多边形
实例277 绘制五角星
实例278 颜色变换
实例279 彩色扇形
实例280 输出不同字体
实例281 相同图案的输出
实例282 设置文本及背景颜色
...
以上是关于c语言编程实例的主要内容,如果未能解决你的问题,请参考以下文章