C语言编程题精选及答案
经典练习C语言编程的题目及答案整理

1.逆序输出正三位数#include <stdio.h>int main(){int input,output= 0;scanf("%d",&input);while(input != 0){output = output*10 + input%10; input /= 10;}printf("%d\n",output);return 0;}2.百元找零函数#include <stdio.h>int main(){int amount=100;int price=0;printf("请输入金额(元)");scanf("%d",&price);printf("请输入票面");scanf("%d",&amount);int change=amount-price;printf("找您%d元。
\n",change);return 0;}3.求平均数#include <stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);double c=(a+b)/2.0;/*scanf("%d",&amount);这是注释,我随便放的,没意义int change=amount-price;*/printf("%d和%d的平均值是%f\n",a,b,c);return 0;}4.写出程序的输出:int i=1;switch(i/3){case0:printf("zero");case1:printf("one");case2:printf("two");}正确答案是:zeroonetwo。
(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言编程题及答案(精心整理)

)(*)(*)(*c s b s a s s ---C 语言编程题1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。
main(){float i=1,j=2,t=0,s,n,m;for(n=1;n<=20;n++)s=i/j,m=i,i=j,j=m+j,t=t+s;printf("t=%f",t);}2.(*)从键盘输入一个字符串,再将其逆序输出。
(如:输入abcde ,输出edcba ) main(){int i;char c[10];scanf("%s",c);for(i=9;i>=0;i--)printf("%c",c[i]);}3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。
main(){int a,b,c,x,y;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=1;c<=9;c++){ x=100*a+10*b+c;y=100*c+10*b+a;if(x+y==1333)printf("x=%d,y=%d",x,y);}}4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。
若输入的三边长不能构成 三角形,输出相应提示信息。
海伦公式如下:其中s=(a+b+c)/2三角形面积= #include"math.h"main(){ float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c&&a+c>b&&b+c>a)printf("area=%f",area);else.1 .printf("no");}5.(*)编程求出1!+2!+3!+…+8!+9!+10!的值并输出。
C语言练习题(带详解答案)

1、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
C语言经典编程100题(答案版)

C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。
利润(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.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
c语言的考试题目答案及解析

c语言的考试题目答案及解析1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C解析:在C语言中,变量名必须以字母或下划线开头,不能以数字开头。
因此,选项A和D是不合法的。
选项B虽然以字母开头,但是数字紧跟字母,没有下划线或空格分隔,所以也是不合法的。
选项C 以下划线开头,符合变量命名规则。
2. 题目:以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A解析:在C语言中,字符串字面量应该用双引号括起来。
选项B使用了单引号,这是用于字符字面量的,而不是字符串。
选项C和D是重复的,并且由于格式问题,它们可能没有正确显示,但假设它们是正确的字符串字面量,那么答案应该是A,因为它是第一个出现的合法字符串字面量。
3. 题目:以下哪个选项是C语言中正确的函数声明?A. int function(int x) {}B. void function() {}C. int function(int x, int y) {}D. All of the above答案:D解析:在C语言中,函数声明可以包含参数列表,也可以没有参数。
选项A和C都包含了参数列表,并且参数类型是int,这是合法的。
选项B没有参数列表,并且指定了返回类型为void,这也是合法的。
因此,所有选项都是正确的函数声明。
4. 题目:以下哪个选项是C语言中正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... }C. if (x > 0) { ... } else { ... }D. if (x > 0) { ... } elseif { ... }答案:C解析:在C语言中,条件语句必须使用if关键字,并且条件表达式需要用括号括起来。
c语言答案——精选推荐

C语言基础一、选择题(每题3分)1.指针运算:int *p1, *p2; int value;p1 = (int *)0x500; p2 = (int *) 0x518; value = p2-p1;问:value的值?A 8B 4C 2D 6答案:D2、void main(void){ char x = 127;char a = x + 1;long b = x + 1;printf("%d, %d, %d", a, b);}请问输出多少_____A: 128, 128 B: -128, -128 C: 128, -128 D: -128, 128答案:D3.下面堆(Heap)与栈(stack)的差别叙述不正确的是A) Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
B) C中的malloc函数分配的内存空间即在堆上C)局部非静态变量和函数的入参都在栈中分配。
D) 程序中定义变量尽可能从堆中分配,因为堆的效率比栈高答案:D4. 定义如下变题和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是for(i=0;i<3;i++)printf(“%d”,x[i][0]);A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9答案:B5.关于sizeof下列哪些说法是正确的(A)A)sizeof运算符在编译阶段执行。
B)sizeof的参数不可以是常量。
C)sizeof运算符在程序运行阶段执行。
D)sizeof运算符与系统字节对齐没有关系。
6.关于strlen和sizeof,下列哪些说法是正确的(B)A)sizeof函数是在程序运行阶段执行。
B)strlen函数是在程序运行阶段执行。
C)sizeof函数的结果跟字节序有关系。
D)strlen函数的结果跟字节对齐有关系。
7.关于编译的说法哪些是正确的(AB)A)#if #endif等标志符在预编译阶段处理。
c语言题库及详解答案百度文库

c语言题库及详解答案百度文库C语言作为一门广泛应用的编程语言,其题库及详解答案在百度文库中有着丰富的资源。
以下内容将对C语言题库中的一些典型题目进行简要的介绍,并提供相应的详解答案。
1. 基础语法题- 题目:请写出一个C语言的Hello World程序。
- 解答:C语言中最基本的程序是打印"Hello World"。
以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量和数据类型题- 题目:如何声明一个整型变量并赋值?- 解答:在C语言中,声明一个整型变量并赋值可以通过以下方式实现:```cint number = 10;```3. 控制结构题- 题目:使用if语句判断一个数是否为正数。
- 解答:if语句用于条件判断,以下是一个示例代码:```cint num = 5;if (num > 0) {printf("%d is positive.\n", num);}```4. 循环结构题- 题目:使用for循环打印1到10的数字。
- 解答:for循环可以用于重复执行代码块。
以下是打印1到10的示例代码:```cfor (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```5. 数组和字符串题- 题目:如何声明并初始化一个整型数组?- 解答:在C语言中,声明并初始化一个整型数组可以通过以下方式:```cint numbers[] = {1, 2, 3, 4, 5};```6. 函数题- 题目:编写一个函数,计算两个整数的和。
- 解答:函数是C语言中实现代码复用的一种方式。
以下是一个计算两个整数和的函数示例:```cint add(int a, int b) {return a + b;}```7. 指针题- 题目:使用指针交换两个变量的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(c=1;c<=r;c++)
printf("*");
printf("\n");
}
}
}
5、
#include <>
void main()
{
int n,r,c;
printf("请输入行数:");
scanf("%d",&n);
if(n<0)
printf("行数错误!\n");
C语言学习2010-11-30 15:49:22阅读27评论0字号:大中小订阅
1、
#include <>
#include <>
void main()
{
float x,y;
printf("Please input x:");
scanf("%f",&x);
y=2*x+1;
y=(float)pow(y+1,2);
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
15.编程打印图形(考虑将输出的行数由输入的值来控制):
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
40.在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。
41.编程将1...100间能被2、3、5分别整除的数的和求出来并输出。注意,在判断时要按照2、3、5的先后次序来确定优先顺序,如6既能被2整除,又能被3整除,则只算到能被2整除的这种情况里。
42.编程将1...100间能被2、3、5整除的数的和求出来并输出。注意,在判断时如果一个数能同时被多个数整除,则要算到多种情况里去。如6既能被2整除,又能被3整除,则要同时算到能被2整除的和能被3整除这两种情况里。
37.假设字符数组存放有三行字符,每行的长度最长为80个字符,编程:分别统计出其中大写字母、小写字母、数字字符、空格字符以及其它字符的个数。
38.编写程序,读一个在字母C和X之间的字符,打印出该字母在中间的相邻五个字母。如输入F,则输出DEFGH。
39.编程输入一个小写字母,以该字母为第一个字母按字母表逆序输出字母表中所有小写字母。(例:输入m,则输出:mlkjihgfedcbazyxwvutsrqpon)
请分析谁最有可能是案犯。
71.找赛手:2个羽毛球队比赛,各出3人,每个人只比一次。甲队为A,B,C三人,乙队为X,Y,Z三人。有人打听比赛名单,A说他不和X比,C说不和X,Z比。请编程找出三队赛手的名单。
72.求以下不定方程组的所有正整数解(提示:可以考虑让计算机在一定范围内穷举):
73.编程从键盘输入20个数,要求输出其中最大的前5个。
76.某班综合考评,根据参加集体活动的次数加分,规则如下:
参加1次及以下:加1分;
参加2至3次:加2分;
参加4至7次:参加几次加几分;
参加8至10次:加8分;
参加10次以上:加10分。
程序运行时输入某人参加活动的次数,则输出其应该加的分数;如果输入为负值,则给出相应提示。
C语言编程题精选(答案1-45)
26.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第6个元素互换,第2个元素与第7个元素互换……第5个元素与第10个元素互换。分别输出数组原来各元素的值和对换后各元素的值。
27.从键盘输入一组数,先按原来顺序输出,再将其中最大的一个找出来与第一个元素交换(即将最大的一个放到最前面)后将所有数重新输出。
22.输入n,求下列级数前n项的和。
1+1/2-2/3+3/4……
23.编写程序用于判断一个数是否是素数。
24.编程序输出1--1000内的所有素数。所谓素数是指除了能被1和它本身之外不能被其它数整除的数。
25.输入20个数,先按原来顺序输出,再将数组中元素逆置后输出,即将第1个数跟第20个互换、第2个数跟第19个互换.....印图形(考虑将输出的行数由输入的值来控制):
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 1 1
17.编程打印图形(考虑将输出的行数由输入的值来控制):
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 1 1
18.输入一个大写字母打印菱形。菱形中间一行由该字母组成,相邻的各行由前面的字母依次组成,直到字母A出现在第一行和最末行为止。例如输入字母D,输出图形如下:
60.输入两个正整数m和n,求其最大公约数和最小公倍数。(利用辗转相除法)
61.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米第10次反弹多高
62.计算~∏之间各数的正弦及余弦值,各值之间以为间距。
63.利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大一个数的位置(即下标)并输出。
C语言编程题精选
C语言学习2010-11-30 15:48:25阅读47评论0字号:大中小订阅
1.有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。
2.任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
3.在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):
43.编写程序输入三位数(100—999),然后按数字逆序输出。(例:输入123↙,输出321)。
44.编写程序打印所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。
45.将一个二维数组a[2][3]={{1,2,3},{4,5,6}}转置,存到数组b中并输出b。
50.编一个程序计算一元二次方程的根。
51.编程输入一个整数,若为四位正整数则要求正确分离出其个、十、百、千位及中间的两位数并分别输出,如输入的是1234,则输出应该为4、3、2、1、23;否则给出一个出错提示。
52.任意输入三个数,按从大到小的降序输出。
53.编程计算1+2+3+.....+10000
68.今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍
69.一个四位数,当它逆向排列时得到的4位数是它自身的整数倍,请找出所有符合这一条件的四位数。
70.某处发生一起案件,侦察得知如下可靠线索:
ABCD四人都有作案可能
AB中至少一人参与作案
BC中至少一人参与作案
CD中至少一人参与作案
AC中至少一人未参与作案
74.编程序输出1-1000以内的完全平方数并统计个数。所谓完全平方数是指其算术平方根为一整数,如4、9、100等。
75.我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。在自然数中也有类似情形,比如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。编程序输出1到10000内的所有回文数并统计个数。
printf("The result is:%f\n",y);
}
2、
#include <>
void main()
{
char a,b,c;
printf("Please input 3 characters:");
scanf("%c%c%c",&a,&b,&c);
printf("%c%c%c",c,b,a);
64.利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大及最小两个数的位置(即下标)并输出。
65.按如下公式计算表达式的值(用递归实现):
66.编一程序,从键盘输入若干个数,降序排序后存入文件中去,同时将结果在屏幕上显示。
67.百鸡问题:用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只
54.编程计算1-2+3-4+5-6+……-10000
55.编程计算2+4+6+......+100的结果
56.编和计算1+3+5+……+99的和
57.编程计算1+4+9+16+25+……+10000之和
58.编程计算下式的值,其中的n在程序运行时由用户通过键盘输入:
59.根据数学方面的知识,圆周率的计算可按下式进行,试编程序计算机圆周率,并试着将n取不同的值(至少在100以上),看计算出的圆周率结果有何不同。
10.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
*****
***
*
11.编写打印如下图形的程序(考虑将输出的行数由输入的值来控制):
* * * * *
* * * * *
* * * * *
* * * * *
12.编制程序打印如下图形(考虑将输出的行数由输入的值来控制):
28.输入一组数,先按原来顺序输出,再找其中最大及最小元素,分别与第一个及最后一个交换后再将这一组数重新输出一遍。注意从一组数中找出最大或者最小数的方法。
29.用冒泡或选择法将一组数按从大到小的降序排序后输出。