C语言基础编程题
- 格式:docx
- 大小:71.04 KB
- 文档页数:35
c语言编程题库100题,单项选择题1.有char c=’1’,下面说法中正确的是()。
A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。
A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。
A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。
x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。
A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。
A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。
A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。
A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。
A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。
《C语言编程基础》试卷一、填空题:(每空2分,共40分)1、十进制数125用一个字节的二进制表示是。
2、源程序经过编译后产生的结果称为,其扩展名为。
3、一个C语言函数由和两部分组成。
4、设指针变量fp,打开指定名为“abb.txt”的ASCII码文件只是为了写的表达式为。
5、在内存中应该开辟个字节来存放一个字符。
6、字符串”ab\n\\012\\\’”的长度是。
7、以下程序的输出结果是。
#include<stdio.h>main( ){ int i=6,j; j=(++i)+(i++) ;printf(“j=%d\n”,j);}8、有int x,y;执行y=(x=1,++x,x+2)后,赋值表达式的值为。
9、在C语言中,没有专门为存储字符串的变量,但可以用来存储字符串,其定义格式为。
10、设x,y,z均为int型变量,请写出描述x,y和z中有两个为负数的表达式:。
11、下列程序段中循环体的执行次数是。
a=10;b=0;do {b+=2;a-=2+b;}while(a>=0);12、定义:int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2]得到的初值是,a[2][1]得到的初值是。
13、下面程序段的运行结果是。
char x[]=”the teacher”;i=0;while(x[++i]!=’\0’)if(x[i-1]==’t’)printf(“%c”,x[i]);14、程序#include<stdio.h>main(){int j,i=1; j=-i++; printf(“%d,%d\n”,j,i);}运行后输出结果为15、程序#include<stdio.h>main(){int a=177; printf(“a=%o\n”,a);}运行后输出结果为16、若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;则语句:p+=2,*(p++);执行后的结果(值)是二、选择题:(每题2分,共40分)1、程序: main(){int a=4,b=3,c=1,d=2,e=0;if(a>b) {if(c>d) e=1;}else e=4; printf(“%d\n”,e);} 运行结果为( ).A、0B、4、C、6D、82、下列字符中不属于转义字符的是( )。
《C语言编程基础》习题答案C语言编程基础习题答案一、选择题1. 答案:B解析:选项A中的“;”是分号而不是逗号,选项C中漏写了int,选项D中多了一个等号。
2. 答案:C解析:sizeof()函数返回的是指定数据类型的大小,选项A和选项B 中给出的返回值是错误的,选项D中给出的是数组元素的个数。
3. 答案:D解析:在C语言中,0表示假,非0表示真。
4. 答案:A解析:scanf()函数用于从标准输入流中读取数据,并将数据赋值给指定的变量。
5. 答案:B解析:变量名是用来标识内存位置的,它是由字母、数字和下划线组成的,且必须以字母或下划线开头。
二、填空题1. 答案:int解析:函数返回值类型应该与函数定义中的返回值类型一致。
2. 答案:sum+=i;解析:表示将i的值累加到sum中。
3. 答案:float解析:num是一个浮点型变量。
4. 答案:while解析:while循环会循环执行一段代码,直到给定的条件不再满足时退出循环。
5. 答案:true解析:true是C语言中的关键字,表示真。
三、编程题1. 答案:```c#include <stdio.h>int main(){int n, i, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for(i = 1; i <= n; i++){sum += i;}printf("1到%d的和为:%d\n", n, sum);return 0;}```解析:该程序计算了从1到n的整数之和。
2. 答案:```c#include <stdio.h>int main(){int num, i, is_prime = 1;printf("请输入一个整数:");scanf("%d", &num);for(i = 2; i < num; i++){if(num % i == 0){is_prime = 0;break;}}if(is_prime){printf("%d是一个素数\n", num); }else{printf("%d不是一个素数\n", num); }return 0;}```解析:该程序判断一个整数是否为素数。
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程序设计编程题1。
输入2个整数,求两数的平方和并输出。
#include <stdio。
h〉void main(){ 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);}2. 输入一个圆半径(r),当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include 〈stdio.h>#define PI 3。
14void main(){ float r ,s , l;printf(”please input r:\n”);scanf("%f",&r);if (r〉=0){s=pi*r*r;l=2*i*r ;printf(”the area is %f\n”,s);printf(”the circumference is %f\n”,l);}elseprintf("input error!\n”);}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。
#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、编写一个程序,从4个整数中找出最小的数,并显示此数.#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;}printf (“min = %d \n”,a);}5.有一函数当x〈0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x 值,输出y值。
c语言初学者编程题目
C语言是一门广泛应用于计算机科学领域的编程语言,它的语法简单
易懂,适合初学者学习。
在学习C语言的过程中,编程练习是非常重
要的一部分。
以下是几个适合初学者的C语言编程题目。
1. 计算两个数的和
编写一个程序,要求用户输入两个数,然后计算它们的和并输出结果。
2. 判断一个数是奇数还是偶数
编写一个程序,要求用户输入一个整数,然后判断它是奇数还是偶数,并输出结果。
3. 计算一个数的阶乘
编写一个程序,要求用户输入一个正整数,然后计算它的阶乘并输出
结果。
例如,输入5,输出120。
4. 判断一个数是否为质数
编写一个程序,要求用户输入一个正整数,然后判断它是否为质数,并输出结果。
质数是指只能被1和它本身整除的数,例如2、3、5、7等。
5. 猜数字游戏
编写一个程序,随机生成一个1到100之间的整数,然后要求用户猜这个数是多少。
如果用户猜的数比随机数大,程序会提示用户猜的数太大;如果用户猜的数比随机数小,程序会提示用户猜的数太小。
直到用户猜中这个数为止,程序才会结束。
以上是几个适合初学者的C语言编程题目。
通过编写这些程序,可以帮助初学者熟悉C语言的语法和基本操作,提高编程能力。
同时,这些题目也可以帮助初学者培养逻辑思维和解决问题的能力。
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万元的部分,可可提成%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long?int?i;int?bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*;bonus2=bonus1+100000*;bonus4=bonus2+200000*;bonus6=bonus4+200000*;bonus10=bonus6+400000*;if(i<=100000)bonus=i*;else?if(i<=200000)bonus=bonus1+(i-100000)*;else?if(i<=400000)bonus=bonus2+(i-200000)*;else?if(i<=600000)bonus=bonus4+(i-400000)*;else?if(i<=1000000)bonus=bonus6+(i-600000)*;elsebonus=bonus10+(i-1000000)*;printf("bonus=%d",bonus);}?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。
对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。
下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。
1. 输出"Hello, World!"。
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. 输入一个字符串,将其中的标点符号移到字符串的开头。
c基础编程试题及答案1. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char答案:A5. 在C语言中,如何声明一个指向整型的指针变量?A. int *ptr;B. *int ptr;C. ptr int;D. int *ptr;答案:A6. C语言中,哪个函数用于计算数组中的元素个数?A. sizeofB. countC. lengthD. size答案:A7. C语言中,用于输出格式化字符串的函数是什么?A. printfB. scanfC. sprintfD. fprintf答案:A8. 在C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. classD. union答案:A9. C语言中,哪个运算符用于计算两个整数的差?A. -B. +C. /D. *答案:A10. 在C语言中,如何声明一个具有10个元素的整型数组?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A。
c语言编程题入门题库及详解答案C语言编程题入门题库及详解答案1. 编写一个C程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C程序,实现输入一个字符,判断它是大写字母、小写字母还是其他字符。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("这是一个大写字母。
\n");} else if (ch >= 'a' && ch <= 'z') {printf("这是一个小写字母。
\n");} else {printf("这不是字母。
\n");}return 0;}```3. 编写一个C程序,实现输入三个整数,找出最大值并输出。
```c#include <stdio.h>int main() {int a, b, c, max;printf("请输入三个整数:");scanf("%d %d %d", &a, &b, &c);max = a;if (b > max) max = b;if (c > max) max = c;printf("最大值是:%d\n", max);return 0;}```4. 编写一个C程序,实现输入一个整数,判断它是否为素数。
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=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
c语言编程题经典100例下面是经典的c语言编程题100例,每道题目都涵盖了c语言编程的各个方面,包括基本数据类型、条件语句、循环结构、函数与指针等。
通过这100道题目的练习,可以帮助初学者快速掌握c语言编程的基础知识,也有助于进一步深入了解c语言的高级特性。
1. 打印Hello World。
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. 输入一个表达式,求它的值。
一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。
A 。
mainB 。
MAIN C. name D 。
function2. 在以下关于C 语言的注释的叙述中,不正确的是 。
A .注释可用”/*”、"*/”形式表示,也可用"//”形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是 。
A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+ B 。
#KDJF C. 67KDJ D. DK3_5. 关于字符串和字符的关系正确的是A. “A"与'A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A"是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为 。
A. PAd ,P #d ,b-b,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy,〈fr>,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”E OF= -\61\””的长度是.A.8B.9 C.12 D.非法字符串9.数学式xsin在C程序中对应的不正确的表达式为。
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;}?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言基础编程题This model paper was revised by the Standardization Office on December 10, 20205-1求幂之和(15分)本题要求编写程序,计算sum=2^1 + 2^2 + 2^3 + \cdots + 2^n sum=21+22+23++2n。
可以调用pow函数求幂。
输入格式:输入在一行中给出正整数n n(\le≤10)。
输出格式:按照格式“result = 计算结果”输出。
输入样例:输出样例:#include<>#include<>int main(){int i,n,sum=0;scanf("%d",&n);for(i=1;i<=n;i++){sum=sum+pow(2,i);}printf("result = %d\n",sum);return 0;}5-2近似求PI(15分)本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。
\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times 5} + \frac{3!}{3\times 5\times 7}+ \cdots +\frac{i!}{3\times 5\times \cdots \times (2\times i+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+输入格式:输入在一行中给出精度eps,可以使用以下语句来读输入:输出格式:在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位):输入样例:输出样例:#include<>#include<>int main(){double a=1,b=3,i=1,j=3;double eps,m=1,sum=0;scanf("%le", &eps);while(m>eps){m=a/b;sum=sum+m;i=i+1;j=j+2;a=a*i;b=b*j;}printf("PI = %.5lf\n",2+2*sum);return 0;}5-3判断素数(15分)输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
输入格式:在一行中输入一个正整数m。
输出格式:对每一组输入,在一行中输出结果并换行。
输入样例:输出样例:#include<>#include<>int main(){int i,j,n;scanf("%d",&n); j=sqrt(n);for(i=2;i<=j;i++) if(n%i==0) break; if(i>=j && n!=1) printf("YES\n"); elseprintf("NO\n");return 0;}5-4出生年(15分)以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。
”也就是说,直到2013年才达到“4个数字都不相同”的要求。
本题请你根据要输出样例1:输入样例2:输出样例2:#include<>#include<>int main(){int y,n,a,b,c,d,f[10],l=0; scanf("%d %d",&y,&n);for(int i=y;i<10000;i++) {a=i/1000;b=i/100%10;c=i%100/10;d=i%10;memset(f,0,sizeof(f)); f[a]=1;if(f[b]!=1)f[b]=1;if(f[c]!=1)f[c]=1;if(f[d]!=1)f[d]=1;int sum=0;for(int j=0;j<10;j++) {sum=sum+f[j];}if(sum==n&&l==0){printf("%d %04d\n",i-y,i);l++;}}return 0;}5-5计算函数P(n,x)(10分)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个整数n (n>=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。
1 (n=0)x (n=1)((2n-1)p(n-1,x)-(n-1)*p(n-2,x))/n (n>1)例:括号内是说明输入样例:1 (n=1,x= 10 (n=10,x=输出样例:p(0,=p(1,=p(10,=时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学题目判定解题程序#include<>int main(){double p(int n,double x);int repeat,ri,n;double x,result;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d %lf",&n,&x);result=p(n,x);printf("p(%d,%.2lf)=%.2lf\n",n,x,result); }return 0;}double p(int n,double x){double t;if(n==0)t=1;else if(n==1)t=x;elset=((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n;return t;}5-6在数组中查找指定元素(10分)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数 n (1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应元素的最小下标,否则输出"Not found"。
要求定义并调用函数search(list, n, x),它的功能是在数组list中查找元素x,若找到则返回相应元素的最小下标,否则返回-1,函数形参 list 的类型是整型指针,形参n 和x的类型是int,函数的类型是int。
输出格式语句:printf("index = %d\n", );输入输出示例:括号内为说明,无需输入输出输入样例:2 (repeat=2)3 (n=3)1 2 -62 (x=2)5 (n=5)1 2 2 5 40 (x=0)输出样例:index = 1Not found时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学#include<>int main(){int search(int list[], int n, int x);int n,i,a[10],res,x,repeat,index,ri;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&x);res=search(a,n,x);if(res!=-1)printf("index = %d\n",res);elseprintf("Not found\n");}return 0;}int search(int list[], int n, int x){int i,q=-1;for(i=0;i<n;i++){if(list[i]==x){return i;}}return q;}5-7使用函数的选择法排序(10分)输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入一个正整数 n (1<n<=10),再输入 n 个整数存入数组 a 中,用选择法将数组 a 中的元素按升序排列,最后输出排序后的数组元素。
要求定义并调用函数 sort(a,n),它的功能是采用选择排序算法,将数组 a 的前 n 个元素按从小到大的顺序排序,函数形参 a 的类型是整型指针,形参n的类型是int,函数的类型是void。
输出格式:数据直接以空格分隔,最后的一个数据后面没有空格。
输入输出示例:括号内为说明,无需输入输出输入样例:输出样例:After sorted: 1 5 6 7After sorted: 1 2 3After sorted: 1 2 3 4 5时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学题目判定解题程序#include <>#define MAXN 10void sort( int a[], int n ); int main(){int i,n,x,j;int a[MAXN];scanf("%d",&x);for(j=0;j<x;j++){scanf("%d", &n);for( i=0; i<n; i++ ) scanf("%d", &a[i]);sort(a, n);printf("After sorted: "); for(i=0;i<n-1;i++)printf("%d ", a[i]); printf("%d",a[i]);printf("\n");}return 0;}void sort(int a[],int n) {int i,x,j,temp;for(i=0;i<n-1;i++){x=i;for(j=i+1;j<n;j++)if(a[j]<a[x])x=j;if(x!=i){temp=a[x];a[x]=a[i];a[i]=temp;}}}5-8求组合数(15分)本题要求编写程序,根据公式C^{m}_{n} = \frac{n!}{m!(n-m)!}Cnm=m!(nm)!n!算出从n n个不同元素中取出m m个元素(m\le n m≤n)的组合数。