C语言典型例题整理
C语言经典例题及答案
C语言经典例题及答案C语言经典例题及答案引导语:C语言应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
以下是店铺整理的C语言经典例题及答案,欢迎参考阅读!一、求一个任意边长的矩形面积。
#includevoid main(){int w,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d ",sum);}二、求一个任意半径的圆的`面积及周长。
#define PI 3.14159#includevoid main(){float r,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f circle=%f ",area,c);}??三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。
##includevoid main(){ int w,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}一、从键盘上输入三个数,求出其中的最大值,并输出。
#includevoid main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("max=%d ",max);}??二、求sin300+sin600+cos300+cos600之和。
(注意:30*3.14159/180)#include#define PI 3.14159#includevoid main(){float a,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f ",sum);}三、比较两个数的大小。
c语言20题
1.计算球体积Problem Description根据输入的半径值,计算球的体积。
Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input1 1.5Sample Output4.189 14.1372.成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。
Output对于每组输入数据,输出一行。
如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input56 67 100 123Sample OutputE D A Score is error!3.第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。
Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input1985/1/20 2006/3/12Sample Output20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。
Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input3 1 2 34 2 3 4 5Sample Output3 155.平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
C语言经典例题
C语言经典例题第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是()A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是()A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置()A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由()括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是()A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从()A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是()A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行()A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于()A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是()A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是()A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括()A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下()是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下()是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下()是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下()是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是()A. 原码B. 反码C. 补码D. ASCII码19、以下()是正确的浮点数A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是()A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是()A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是()A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是()A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为()A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是()A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是()A. x=x*3=2B. x=(y==1)C. i=float(x)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是()A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是()A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是()A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是()A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为()A. 1B. 0C. 6D. 738、设整型变量a为5,使b不为2的表达式是()A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为()A. 1B. 0C. 2D. 340、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是()A. 7B. 8C. 9D. 1041、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为()A. 8B. 6C. 7D. 543、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为()A. 4B. 5C. 6D. 744、C语言的运算符按运算对象的个数可以分为()A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()A. scanf(“%d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);48、putchar()函数的功能是向终端输出()A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是()int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为()A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是()int a=0,b=0,c=0;if(a&&++b)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=‟A‟;p rintf(“%x,%d”,b,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是()A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是()char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为()A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是()A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为()A. 1B. tC. 0D. f59、能正确表示数学关系式800>=y>=500的C语言表达式为()A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为()A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
40个C语言的基础编程题
C语言基础编程题【程序1】题目:古典问题:有一对兔子,从出生后第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; /*前两个月加起来赋值给第三个月*/ }}================================= =======【程序2】题目:判断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++;if(h%10==0)printf("\n"); }leap=1;}printf("\nThe total is %d",h);} ========================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
c语言经典题
以下是一些经典的C语言题目:
1. 计算斐波那契数列的第n项
2. 实现冒泡排序
3. 实现选择排序
4. 实现插入排序
5. 实现快速排序
6. 实现归并排序
7. 实现二分查找
8. 实现字符串反转
9. 实现字符串连接
10. 实现字符串比较
11. 实现字符串分割
12. 实现链表操作(插入、删除、遍历等)
13. 实现二叉树操作(插入、查找、遍历等)
14. 实现队列操作(入队、出队、查看队首等)
15. 实现栈操作(入栈、出栈、查看栈顶等)
16. 实现哈希表操作(插入、查找、删除等)
17. 实现矩阵乘法
18. 实现矩阵转置
19. 实现矩阵求逆
20. 实现链表反转
21. 实现链表合并
22. 实现链表排序
23. 实现链表查找
24. 实现链表删除
25. 实现链表插入
26. 实现字符串匹配算法(KMP算法)
27. 实现回文判断算法(Manacher算法)
28. 实现字符串分割算法(Strtok算法)
29. 实现字符串转换算法(Base64算法)
30. 实现字符串加密算法(Caesar算法)。
C语言经典例题及答案
一、求一个任意边长的矩形面积。
#include <stdio.h>void main(){int w,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。
#define PI 3.14159#include <stdio.h>void main(){float r,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。
##include <stdio.h>void main(){ int w,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}一、从键盘上输入三个数,求出其中的最大值,并输出。
#include <stdio.h>void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("max=%d\n",max);}二、求sin300。
+sin600+cos300+cos600之和。
(注意:30*3.14159/180)#include <stdio.h>#define PI 3.14159#include <math.h>void main(){float a,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。
c语言经典题目100题
1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典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.程序分析:请利用数轴来分界,定位。
c语言经典题目
一,闰年问题#include<stdio.h>void main(){int a;printf("please input the data of years:");scanf("%d",&a);if(a%400==0||(a%4==0&&a%100!=0))printf("\n闰年:%d",a);}二,数字整除问题#include<stdio.h>void main(){int a=1,i=0;printf("能被7整除的数:\n");while(a<=100){if(a%7==0){printf("%4d",a);i++;if(i%5==0)printf("\n");}a++;}}三,五层递加三角#include<stdio.h>void main(){int a,b,n=1;while(n<=5){a=1,b=1;while(a<=5-n){printf(" ");a++;}while(b<=2*n-1){printf("*");b++;}printf("\n");n++;}}四,水仙花数#include<stdio.h>void main(){int a,m,n,q,p=1;a=100;while(a<1000){m=a/100;n=a/10-m*10;q=a-m*100-n*10;if(a==m*m*m+n*n*n+q*q*q){printf("%5d",a);if(p%2==0)printf("\n");p++;}a++;}}五,最小公倍数#include<stdio.h>int gy(int x,int y){int r;if(x<y){r=x;x=y;y=r;}r=x%y;while(r!=0){x=y;y=r;r=x%y;}return (y);}int gb(int m,int n){int p;p=m*n/gy(m,n);return (p);}void main(){int a,b,c;printf("please enter the data you want to handle:");scanf("%d,%d",&a,&b);c=gb(a,b);printf("%d",c);}六,1+1/3+1/5.....#include<stdio.h>void main(){int n,i;float sum=0.0;scanf("%d",&n);i=1;while(i<=n){sum +=___1.0/(2*i-1);i++;}printf("%.3f",sum);}七,1+1/(1+2)+1/(1+2+3).....#include<stdio.h>void main(){int a,b,c=0;float d=0.0;a=1;scanf("%d",&b);while(a<=b){c+=a;a++;d+=1.0/c;}printf("%d\n",c);printf("%.3f",d);}八,1/(1*2*3*4....*b)#include<stdio.h>void main(){int a,b,c=1;float d;scanf("%d",&b);a=1;while(a<=b){c*=a;a++;d=1.0/c;}printf("%d\n",c);printf("%.3f\n",d);}九,从大到小排列数组,求和,取极差#include<stdio.h>void main(){int a[10],m=0,i,j,t,c;float d=0.0;while(m<10){scanf("%d",&a[m]);m++;}for(i=0;i<10;i++)printf("%3d",a[9-i]);printf("\n");for(i=0;i<10;i++)for(j=0;j<9-i;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<10;i++)printf("%3d",a[i]);c=a[0]-a[9];printf("\n%d",c);for(i=0;i<10;i++)d+=a[i];printf("\n%.3f",d/10.0);}十,矩阵转置及其元素最大值#include<stdio.h>void main(){int i,j,a[2][3],b[3][2],max;for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<2;i++){for(j=0;j<3;j++)printf("a[%d][%d]=%d ",i,j,a[i][j]);printf("\n");}for(i=0;i<2;i++){for(j=0;j<3;j++){b[j][i]=a[i][j];}}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("b[%d][%d]=%2d ",i,j,b[i][j]);printf("\n");}max=a[0][0];for(i=0;i<2;i++)for(j=0;j<3;j++){if(max<a[i][j])max=a[i][j];}printf("max=%d",max);}十一,矩阵对角线元素和#include<stdio.h>void main(){int i,j,m=0,a[3][3];for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("a[%d][%d]=%2d ",i,j,a[i][j]);printf("\n");}printf("对角线之和为:");for(i=0;i<3;i++)m+=a[i][i];printf("%d",m);}十二,斐波那契数列#include<stdio.h>void main(){int fib[20]={1,1};int i;for(i=2;i<20;i++)fib[i]=fib[i-1]+fib[i-2];for(i=0;i<20;i++){if(i%5==0)printf("\n");printf("%5d",fib[i]);}}十三,杨辉三角#include<stdio.h>void main(){int a[10][10],i,j;for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}}十四,101-200之间的素数#include<stdio.h>void main(){int sum,num,i;for(num=101;num<=200;num++){sum=0;for(i=2;i<num;i++){if(num%i==0)sum++;}if(sum==0)printf("%5d",num);}}#include<stdio.h>void main(){int i,j,k;for(i=0;i<=20;i++)for(j=0;j<=33;j++)for(k=0;k<=99;k=k+3)if((i+j+k==100)&&(15*i+9*j+k==300))printf("i=%d j=%d k=%d\n",i,j,k);}十六,猴子吃桃#include<stdio.h>void main(){int x1,x2=1,day;for(day=9;day>0;day--){x1=2*(x2+1);x2=x1;}printf("第一天的桃子数:%d\n",x1);5.1 用π/4≈1-1/3+1/5-1/7+…公式求π的值,直到某一项的绝对值小于10-6为止。
c语言编程题经典100例
c语言编程题经典100例在计算机编程中,C语言是一种非常流行和常用的编程语言。
掌握C语言的编程技巧对于计算机科学和软件开发的学习者来说至关重要。
本文将介绍C语言编程中的100个经典例题,帮助读者提高他们的编程技巧和解决问题的能力。
1. 计算并输出1到100之间所有偶数的和。
```c#include<stdio.h>int main() {int sum = 0;for(int i = 0; i <= 100; i+=2) {sum += i;}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```2. 输入一个整数,判断是否是质数。
```c#include<stdio.h>#include<stdbool.h>bool is_prime(int num) {if(num <= 1) {return false;}for(int i = 2; i <= num / 2; ++i) { if(num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if(is_prime(num)) {printf("%d是质数\n", num);printf("%d不是质数\n", num);}return 0;}```3. 编写一个函数,接受3个整数参数,返回其中最大的一个数。
```c#include<stdio.h>int max_of_three(int a, int b, int c) {int max = a;if(b > max) {max = b;}if(c > max) {max = c;}return max;}int a, b, c;printf("请输入三个整数: ");scanf("%d%d%d", &a, &b, &c);int max = max_of_three(a, b, c);printf("最大的数是: %d\n", max); return 0;}```4. 使用递归函数计算斐波那契数列。
C语言经典例题总结
1、在指定的C文件内编写程序。
程序的功能是:从键盘输入10个同学的成绩,输出低于平均分的成绩。
找出最高分并输出,找出最低分并输出。
(输入输出数据格式均为整形)#include<stdio.h>int main(void){int x[10],sum=0,i,max,min,n=0;float ave;for(i=0;i<10;i++){scanf("%d",&x[i]);sum+=x[i];}ave=sum/10.0;for(i=0;i<10;i++)if(x[i]<ave)printf("%d ",x[i]);max=x[0];for(i=1;i<10;i++)if(x[i]>max) max=x[i];printf("max=%d\n",max);min=x[0];for(i=1;i<10;i++)if(x[i]<min) min=x[i];printf("min=%d\n",min);}2、/*功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果。
请编写fun函数。
例如:若n值为5,则结果为153。
(不要更改主函数结构和语句)*/#include<stdio.h>#include<math.h>long int fun(int n){int i,n1=1,sum=0;for(i=1;i<=n;i++){n1*=i;sum+=n1;}return sum;}main(){int n;long int result;printf("please input a number: n\n");scanf("%d",&n);result=fun(n);printf("%ld\n",result);return 0;}3、/*功能:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。
c语言经典编程试题12例(带答案)
int i,num=0;
float a[10],sum=0.0;
printf("请输入10个数\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
for(i=0;i<10;i++)
if(i>=0)
{
num++;
sum+=a[i];
}
printf("10个数中非负数的个数为:%d\n",num);
void main()
{
char a[50];
char *p,*q;
printf("请输入一个字符串:");
gets(a);
for(p=a;*p!=0;)
if(*p=='a')
{
q=p;
while(*p)
{
*p=*(p+1);
p++;
}
p=q;
}
else
p++;
printf("%s\n",a);
}
12、一个皮球从100米的高度自由落下,每次落地后反弹回原来高度的一半,再落下,在反弹。求当它第10次落地时,共经过了多少米,第十次反弹多高?
printf("100之内偶数的和位: %d\n",sum);
}
7、求1*2*3+3*4*5+…99*100*101的值。
解题思路:
定义一个变量从1到101,再有标志变量j确定乘够3个数之后便重新开始下一次乘积。跳出循环后加上最后一次乘积。
c语言题库(60道题)
第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。
苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。
某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。
要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典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.程序分析:请利用数轴来分界,定位。
C语言程序设计100个经典例子
经典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.画图综合例子261.打印杨辉三角形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/n 77.填空练习(指向指针的指针) 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语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
C语言经典例题100例
Tubro C programming for HNCRE 20051题:100个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元,每3个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?程序:main( ){ int a,b,c;for(a=1;a<=20;a++)for(b=1;b<=33;b++){ c=100—a—b;if((20*a+33*b+c/3)= =100)printf(“%d,%d,%d\n”,a,b,c);}getch( );}答案:6种:3,20,77;4,18,78;8,11,81;11,6,83;12,4,84.2题:50个小学生按1至50序号顺时针围成一圈,做出局游戏,老师站在圈外逆时针从最后一个人数起,每数到5时,这人从圈里出来,继续数1,2,3,4,5,数到第5个学生时,他就出局,已出局的位置不再参加记数,直至所有的学生出局为止,问最后一个出局的学生序号是多少号?程序:main(){int i,k,sum,l,t=0;int a[50];clrscr();for(i=1;i<=50;i++)a[i]=1;for(k=1,sum=0,l=0;k<=50;k++){for(i=50;i>0;i--){sum+=a[i];if(sum==5) {sum=0;l++;a[i]=0;}if(l==49) {t=1;break;}}if(t==1)break;}for(i=1;i<=50;i++){if(a[i]==1) printf("%d",i);}getch();}答案:32号3题:50元兑换成5元,2元和1元的计算方法有多少种?程序:main( ){ int x,f,t,n;x=0;f=0;while(f<=10){t=0;while (t<=25){n=50—f*5—T*2;if(n>=o) x++;t++:}f++;}printf(“%d”,x);}答案:1464.A、B、C三个正整数,当满足1/A*A+1/B*B=1/C*C关系时,称为倒勾股数。
C语言编程题_经典40题(附解答)
9、编写函数,将两个递增有序的表,合并成一 个递增有序的表。
#define N 50
#define SeqList struct seqlist
SeqList
{ int data[N];
int length;
};
合并函数如下: SeqList *mergelist(a,b) SeqList a,b; { SeqList c; int i=0, j=0, k=0; while((i<a.length)&&(j <b.length)) if(a.data[i])<=b.data[j]) c.data[k++]= a.data[i++]); else c.data[k++]= b.data[j++]); while(i<a.length) c.data[k++]= a.data[i++]); while (j <b.length) c.data[k++]= b.data[j++]); c.length=k; return c; }
(6)一旦出现a[i]小于x,则将x插入到i+1位置。
(7)输出插入后的有序序列。
(3)完整的程序如下 #include ―stdio.h‖ #define N 10 main( ) { int i , j, x, n, a[N]; /*数字a的最大容量为N*/ printf(―请输入数组的实际元素个数n:\n‖); scanf(―%d‖, &n ); /*要求实际元素个数n小于N */ printf(―请输入%d个整数:\n‖, n ); for( i=0; i<n; i++) scanf(―%d‖, &a[i]); selectsort(a , n) ; /*排序*/ output ( a, n);/*输出插入前的序列*/ scanf(―%d‖, &x ); /*读入要插入的元素x */ i=n-1; /*从表尾往表头方向搜索插入位置*/ while (( i >=0) && ( x <a[i])) {a[i+1]=a[i]; i--;} /*元素后移*/ a[i+1]=x; /*插入元素x*/ output( a, n);/*输出插入后的序列*/ }
c语言经典题目100题
c语言经典题目100题C语言经典题目100题C语言经典题目一直是程序员们提高编程技能和理解语言细节的重要手段之一。
在这篇文档中,我将为你准备100道C语言经典题目,帮助你更好地掌握和应用C语言的基础知识。
这些题目将涵盖C语言的各个方面,包括基本数据类型、运算符、流程控制、函数等。
请注意,本文所提供的代码示例可以供你借鉴参考,但请务必自行思考和尝试解决这些问题。
题目1:编写一个C程序,交换两个变量的值。
```c#include<stdio.h>int main(){int a = 5, b = 10;int temp;printf("交换前:a = %d, b = %d\n", a, b);temp = a;a = b;b = temp;printf("交换后:a = %d, b = %d\n", a, b);return 0;```题目2:编写一个C程序,判断一个数是奇数还是偶数。
```c#include<stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0)printf("%d 是偶数\n", num);elseprintf("%d 是奇数\n", num);return 0;}```题目3:编写一个C程序,求两个数的最大公约数。
```c#include<stdio.h>int main()int num1, num2;int gcd;printf("请输入两个正整数:");scanf("%d %d", &num1, &num2);for(int i = 1; i <= num1 && i <= num2; i++){if(num1 % i == 0 && num2 % i == 0)gcd = i;}printf("%d 和 %d 的最大公约数是 %d\n", num1, num2, gcd);return 0;}```题目4:编写一个C程序,判断一个数是否为素数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void sort(int a[N])
{
int i,j,t;
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
void main()
{
int i,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
sort(a);
for(i=0;i<N;i++)
printf("%d\t",a[i]);
printf("\n");
}
逆序三位数
#include<stdio.h>
void main()
{
int x,y=0,m;
printf("请输入一个三位数:");
scanf("%d",&x);
scanf("%s",x.c);
printf("%s\n",x.c);
}
删除
#include<stdio.h>
void main()
{
int a[7]={2,32,45,67,88,91,94};
int j,x;
for(j=0;j<7;j++)
{
printf("%d ",a[j]);
}
printf("\n");
{
if(x<a[i])
break;
}
for(j=7;j>i;j--)
{
a[j]=a[j-1];
}
a[i]=x;
for(i=0;i<8;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
查找
#include<stdio.h>
void main()
{
int a[]={3,6,8,10,12,33,38,56,60};
}
}
共用体的意义
#include <stdio.h>
void main()
{
int i;
union data
{
int a;
char b;
char c[20];
}x;
scanf("%d",&x.a);
printf("%d\n",x.a);
scanf("%c",&x.b);
printf("%c\n",x.b);
return;
}
}
printf("%d在数组中没找到!\n");
}
带参数的main
#include <stdio.h>
void main(int argc,char*argv[])
{
int i;
printf("argc=%d\n",argc);
for(i=0;i<argc;i++)
{
printf("argv[%d]=%s\n",i,argv[i]);
#include<stdio.h>
void main()
{
float a,h,s;
scanf("%f%f",&a,&h);
s=1.0/2*a*h; /*1.0/2不能写作1/2*/
printf("s=%f\n",s);
}
变量作用域
# include <stdio.h>
int count; /* count是全局变量*/
#include<stdio.h>
#define M 3
#define N 4
void conert(int a[][N],int b[][N]);
void main()
{
int i,j;
int b[M][N],a[M][N]={1,2,-4,6,-9,11,32,-45,-22,-7,67,91};
conert(a,b);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
}
void conert(int a[][N],int b[][N])
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(strcmp(p[min],p[j])>0)
min=j;
}
if(min!=i)
{
char*q;
q=p[min];
p[min]=p[i];
p[i]=q;
}
}
}
void main()
{
int i,a[]={23,6,78,15,88,123};
char *name[]={"FORTRAN","BASIC","C++","Java","VB","C"};
int x,top=0,bottom=8,mid;
scanf("%d",&x);
while(bottom>=top)
{
mid=(top+bottom)/2;
if(x>a[mid])
top=mid+1;
else
if(x<a[mid])
bottom=mid-1;
else
{
printf("%d在数组中找到,下标为%d\n",x,mid);
}
插入
#include<stdio.h>
void main()
{
int a[8]={2,32,45,67,88,91,94};
int i,j,x;
for(i=0;i<7;i++)
{
printf("%d ",a[i]);
}
printf("\n");
scanf("%d",&x);
for(i=0;i<7;i++)
extern int a=10;
int max(int x,int y)
{
return x>y?x:y;
}
int min(int x,int y)
{
return x<y?x:y;
}
分段函数
#include<stdio.h>
void main()
{
double x,y;
scanf("%lf",&x);
word=0;
else
{
if(word==0)
{
num++;
word=1;
}
}
printf("%d\n",num);
}
选择排序
#include<stdio.h>
#include<string.h>
void nsort(int*p,int n)
{
int i,j,min;
for(i=0;i<n-1;i++)
if(flag==0)
flag=1;
}
else
{
if(flag)
{
number[j]=n;
j++;
n=0;
flag=0;
}
}
i++;
}
if(flag)
number[j]=n;
for(i=0;i<=j;i++)
printf("%d\t",number[i]);
printf("\n");
}
最大公约数
#include<stdio.h>
sum=add(a,3,4);
printf("%lf\n",sum);
}
double add(double a[],int n,int m)
{
int i;
double s=0;
for(i=n;i<n+m;i++)
{
s+=a[i];
}
return s;
}
素数
/*编写判断素数的函数,再调用该函数判断1937是否是素数。*/
nsort(a,6);
for(i=0;i<6;i++)
printf("%d\t",a[i]);
printf("\n");