c语言项目一
⑴ c语言的经典项目
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
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);
}
getch();
}
==============================================================
【程序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.程序源代码:
#include "stdio.h"
#include "conio.h"
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);
getch();
}
==============================================================
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码:
#include "math.h"
#include "stdio.h"
#include "conio.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);
}
getch();
}
==============================================================
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
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);
getch();
}
==============================================================
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
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);
getch();
}
==============================================================
【程序6】
题目:用*号输出字母C的图案。
1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
getch();
}
==============================================================
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
1.程序分析:字符共有256个。不同字符,图形不一样。
2.程序源代码:
#include "stdio.h"
#include "conio.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);
getch();
}
==============================================================
【程序8】
题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:
#include "stdio.h"
#include "conio.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"); /*每一行后换行*/
}
getch();
}
==============================================================
【程序9】
题目:要求输出国际象棋棋盘。
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
2.程序源代码:
#include "stdio.h"
#include "conio.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");
}
getch();
}
==============================================================
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸。
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
2.程序源代码:
#include "stdio.h"
#include "conio.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");
}
getch();
}
经典c程序100例==11--20
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
#include "stdio.h"
#include "conio.h"
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; /*前两个月加起来赋值给第三个月*/
}
getch();
}
⑵ 怎么用C语言做项目
所谓项目,在一定的时间内,利用有限的资源和时间,完成特定的目的,这就是项目。
Turbo C 是一种工具,它有它擅长的地方,也有它不擅长的地方
我98年接过一个项目,用TC开发,结果失败,前前后后写了10000多行代码,只完成了一个图形化界面的部分,当时Win 95已经出来了,我写了一个学期的东西,人家用VB一下午就出来了。
但是我也知道TC是完全可以做项目的,我毕业后找工作,一家软件公司差点就要我了,他们就是用TC做项目的,写驱动程序,TC+汇编
写了这么多,不知你看明白了没有,TC能不能做项目,答案是肯定的。至于你要代码,我只能说,要到的可能性不大。因为项目的特性之一就是独特性,每一个项目都有它自己的特点,别人的代码给你也用不上,最多只是起个学习作用。但是对于别人来说,那是职业道德问题,哪个公司的源代码也不会允许拿给外人的。
⑶ C语言实训项目编程一般步骤
称 计算机工程系 专业 网路安全 指导教师
学生姓名 班级
实训
时间 年 月 日---------- 年 月 日
实训项目和地点:
实训项目:C++程序的设计与应用
地点:
实训目的:
在实践过程中,使我们进一步巩固C++程序设计课程所学知识,更加深入地了解面向对象程序设计的主要技术特点以及C++语言的强大编程功能指导学生利用获取信息的手段进一步获取新知识,以解决实训过程中遇到的技术难点,从中提高自学能力;按照软件开发的基本要求引导我们完成实训课题,以便我们了解软件开发的几个重要环节;提高我们的编程技术,使程序的编写更趋于专业化,为从业打下良好的基础、培养我们分工协作的团队精神。
实训设备及器材:
1、计算机配置:Celeron cpu 2.66GHz 1G内存 计算机一台
2、操作系统平台: Windows XP
3、软件开发平台:Visual C++ 6.0
4、其它应用软件:Microsoft Access / SQL Server 、Word、Visio等
实训的步骤和内容:
设计题目:输入4个整数,要求按由大到小的顺序输出
第1步、问题描述:
输入4个整数,要求按由大到小的顺序输出。
第2步、基本思路:
利用选择法进行排序。
第3步、编写程序:
#include<stdio.h>
void main()
{
int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<b)
{t=a;
a=b;
b=t;}
if(a<c)
{t=a;
a=c;
c=t;}
if(a<d)
{t=a;
a=d;
d=t;}
if(b<c)
{t=b;
b=c;
c=t;}
if(b<d)
{t=b;
b=d;
d=t;}
if(c<d)
{t=c;
c=d;
d=t;}
printf("%d,%d,%d,%d",a,b,c,d);
}
第4步、运行结果:_
输入:5,7,9,4
输出:9,7,5,4
实训结果分析及其心得体会:
通过C++实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没用,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是 一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。
自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。
当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态!
感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的互相探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同,也增加了同学老师之间的感情。希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。
⑷ 特基础的c语言看不懂(泪) 项目一:分析语句,写出结果。 #include<stdio.
在C语言里,是以分号为一条语句。而if的判断句后,若没有花括号且判断成立,就执行那条语句。否则,就执行此语句后的else语句(else处没有花括号,就与其后语句同为一句)。整理此题得:
#include<stdio.h>
voidmain()
{
inta=2,b=-1,c=2;
if(a<b)if(b<0)c=0;
elsec+=1;
printf("c=%d",c);
}
其中的else是属于其上面判断b的if,因为此if的语句后面与这个else紧挨。
如是:
#include<stdio.h>
voidmain()
{
inta=2,b=-1,c=2;
if(a<b)if(b<0)c=0;
elsec+=1;
elsec-=1;
printf("c=%d",c);
}
则第二个else是属于if(a<b)的。
如果再深入些,其实一个花括号括起来的代码叫做代码块,相当于一条语句。
在此代码块后的else,指其前面的if。也可以说成,在此单条语句(一个分号是一条语句)后的else,指其前面的if
学过汇编的知道,if语句和else语句都是跳转语句。如果if里面的语句成立,就继续顺序执行(有什么执行什么),然后到else处,else发现其上面的if是成立的,就跳出else的语句(或者说是代码块);若if不成立,在当时,就跳转到else里面,这时会不会执行else的检测我不知道,但这次跳转之后,就再次顺序执行。
要是在易语言里,,,,,那个中文的“如果”判断语句就直接没有了“否则”,,,“如果”下面就是两个箭头,,,,指向判断成立时的代码和不成立时的代码。。很易于理解是不是??...
⑸ 一个C语言项目要求都包括什么啊例如一个学生的管理系统为例
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define MAXLEN 100
#define Null 0
typedef struct node {
int num; // 学号
char name[MAXLEN]; // 姓名
int score; // 分数
struct node *next; // 指针域
}list;
list *creat() // 新增成绩
{
list *head,*p,*r;
int i,n; // n 为学生人数
head=(list *)malloc(sizeof(list));
head->next=Null;
r=head;
printf("请输入学生人数.\n");
scanf("%d",&n);
for(i=1;i<=n;i++) {
p=(list *)malloc(sizeof(list));
printf("请输入学生学号:\n");
scanf("%d",&p->num);
printf("请输入学生姓名:\n");
scanf("%s",&p->name);
printf("请输入学生成绩:\n");
scanf("%d",&p->score);
p->next=Null;
r->next=p;
r=r->next;
}
return (head);
}
list *del (list *h) // 删除成绩
{
int k; // 要删除的学生学号
list *p,*q; // 为什么要两个指针呢?
q=h;
p=h->next;
printf("请输入待删除的学生学号:\n");
scanf("%d",&k);
while (p && p->num!=k) {
q=p;
p=p->next;
}
if(p) {
q->next=p->next;
free(p);
}
else
printf("没有此学生的记录,无法删除!\n");
return (h);
}
void output(list *h) // 输出成绩
{
list *p;
printf("学号\t姓名\t成绩\n");
p=h->next;
while (p!=NULL) {
printf("%d\t%s\t%d\n",p->num,p->name,p->score);
p=p->next;
}
}
void main()
{
list *p;
int k; // 控制循环的标志
while (1) {
printf(" ---------------------------------------\n");
printf(" | 学生成绩管理系统 |\n");
printf(" ---------------------------------------\n");
printf(" | 1. 登记成绩 |\n");
printf(" | 2. 删除成绩 |\n");
printf(" | 3. 输出所有学生成绩 |\n");
printf(" | 0. 退出系统 |\n");
printf(" ---------------------------------------\n");
printf("请输入你的选择:\n");
scanf("%d",&k);
switch(k) {
case 1: p=creat(); break;
case 2: p=del(p); break;
case 3: output(p); break;
case 0: exit(0);
default : printf("选择错误,重新开始!\n");
}
}
}
⑹ c语言能做什么项目
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:
其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。[3]
其二,简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。[3]
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
⑺ C语言怎么做项目
和所有的项目开发一样,首先进行可行性分析,然后进行需求分析,完成之后进行概要设计,这些工作都和使用的语言无关;再往后,就要给出详细设计,此时开始和开发语言开始建立联系啦,调试,完成后发布。
所以说,项目和语言开发工具有一定的联系,这种联系这发生在软件的开发过程中。
⑻ C语言中项目的定义是什么
项目 project, 是一组代码的统称
这一组代码 必须实现一个完整的功能, 可以是一个完整的程序, 也可以是其中一个模块。
项目的创立,就是为了更好的组织管理这些代码。
对于初学者来说, 项目往往只有一个文件 几个函数
这是体现不出项目的价值
但一旦完成一个比较大的功能时,项目代码可以达到几千上万个文件
这时项目的管理就很有必要了。
⑼ 使用C语言编写一个项目都有什么思路呀
要看平台呀,但是一般情况下,有两种选择,一是阻塞式,二是异步式的,阻塞式的就不用多说了,异步式程序:
主函数-》初始化-》建立不要的子线程用来管理以后的子线程,绘图,更新时间等等,然后在主函数中设置无限循环检查有没有消息送到程序中,有就按照适合的算法处理它,没有就继续循环。
这是框架思路,当然更细的感觉是自己一点点用脚(手指)上的泡换来的,很难用言语表达,自己尝试着制作一个软件级别的程序,成功了马上就会有感觉的。
⑽ 请问一下C语言编写项目整体流程是什么样子的
一般是:需求调查 设计 编写代码 测试 试运行 然后就是不断的维护。一般所有用程序编写的项目,其步骤相差不大,仅在不同的程序语言用处不同,其细节处理不同而已,宏观上基本相同。
每种程序实现的功能,有一些其它程序语言也能实现,看自己怎么做。