C语言程序题库
C语言程序设计题库

第五章函数5.1 选择题1. C语言是由()构成。
A. 主程序和子程序B. 主函数和若干子函数C. 一个主函数和一个其他函数D. 主函数和子程序2.以下说法中正确的是()。
A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3.以下对C语言函数的有关描述中,正确的是()。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个源程序文件中4. C语言程序中,当函数调用时()。
A. 实参和形参各占一个独立的存储单元B. 实参和形参共用一个存储单元C. 可以由用户指定是否共用存储单元D. 计算机系统自动确定是否共用存储单元5.关于return语句,下列正确的说法是()。
A. 在主函数和其他函数中均要出现B. 必须在每个函数中出现C. 可以在同一个函数中出现多次D. 只能在除主函数之外的函数中出现一次6.一个函数返回值的类型是由()决定的。
A. return语句中表达式的类型B. 在调用函数时临时指定C. 定义函数时指定的函数类型D. 调用该函数的主调函数的类型7.在C语言的函数中,下列正确的说法是()。
A. 必须有形参B. 形参必须是变量名C. 可以有也可以没有形参D. 数组名不能作形参·2·C语言程序设计之上机指导及同步训练8.以下描述正确的是()。
A. 函数调用可以出现在执行语句或表达式中B. 函数调用不能作为一个函数的实参C. 函数调用可以作为一个函数的形参D. 以上都不正确9.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传回实参D. 传递方式由用户指定10.当调用函数时,实参是一个数组名,则向函数传送的是()。
《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。
2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。
3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。
4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。
5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。
6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。
7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。
8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。
9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。
10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。
11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。
......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。
你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。
每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。
如果遇到问题,可以参考相关的解法或向他人寻求帮助。
通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。
祝你编程愉快!。
(完整版)C语言程序设计题库及答案,推荐文档

A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
C语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
#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,求应发放奖金总数?程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
#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;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机试题(一)1.#include"stdio.h"#include"math.h"main(){int a,b,i,n,m;m=716699;n=(int)sqrt(m);i=2;while(a<n){i++;a=n-i;if(m%a==0) break;}printf("A is %d\n",a);}2.#include "stdio.h"int main(void){int i,Sum=0;for(i=100;i<999;i+=2){if((i/1000+((i/100)%10)+((i/10)%10)+(i%10))%15==0){#ifdef _DEBUGprintf("%d\t",i);#endifSum+=i;}}printf("三位数的偶数中,所有各位数字之和是15的倍数的数的和为%d",Sum); return 0;}上机试题(二)1.#include<stdio.h>#include<stdlib.h>int settle(){int i = 0, j = 0;int result = 0;for(i = 100; i < 1000; ++i){if((i%2 != 0) && (((i/100) + (i - 100*(i/100))/10 +(i - 100*(i/100) - ((i - 100*(i/100))/10)*10 ))%12 == 0)){result += i;}else{continue;}}return result;}int main(void){int sum = 0;sum = settle();printf("最后的结果为:\n");printf("%d\n", sum);return 0;}2.#include<stdio.h>void main(){int i,j,k,m=0;for(i=5;i<=65;i++)for(j=5;j<=35;j++)for(k=5;k<=17;k++){if(i+2*j+k*5==100)m+=1;}printf("%d",m);printf("\n");}上机试题(三)1.#include "stdio.h"int main(){int i;int k1, k2, k3, k4;long total = 0;for (i = 1000; i < 10000; i++){if (i % 2 == 0){continue;}k1 = i / 1000;k2 = (i / 100) % 10;;k3 = (i / 10) % 10;k4 = i % 10;if ((k1 + k2 + k3 + k4) % 25 == 0){total += i;}}printf("%d\n", total);return 0;}2.上机试题(四)1.#include "stdio.h"main(){int a;int e,f;int g,h;int i=0;int b,c,d;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=0;c<=9;c++){for(d=0;d<=9;d++){for(f=1;f<=9;f++){for(e=2;e<=9;e++){g=(10000*a+1000*b+100*c+10*d+f)*e;h=10000*f+1000*d+100*c+10*b+a;if(g==h)i++;}}}}}}printf("%d",i);}2.#include<stdio.h>void main(){int i,j,sum=1;for(i=200;i<=500;i++){ sum=1;for(j=2;j<i;j++)if( i%j==0) sum+=j;if(i==sum)printf("%d,",i);}}上机试题(五)1.#include<stdio.h>int prime(int m){int i,f=1;if(m==1)f=0;for(i=2;i<m;i++)if(m%i==0){f=0;break;}return f;}void main(){int m,s=0;for(m=101;m<=999;m=m+2){if(prime(m)&&prime(m%100)&&prime(m%10)&&(m/10%10)!=0)s++;}printf("%d",s);}2.#include<stdio.h>void main() {int j = 0;for(int i=1;i<5000;i++)if((5000%17)||(5000%23)) j++;printf("%i",j);}上机试题(六)1.#include <stdio.h>int main(){long int i;int p=0,e;for (e=2;e<10;e++){for (i=1000;i<10000;i++){if (i*e==i%1000*10+e)p+=i;}}printf("%d\n",p);return 0;}2.#include <stdio.h>int prime(long p){long i;for(i=3;i<p/2;i++,i++)if(p%i==0) return 0; //原为return 1;return 1; //原为return 0; }void main(){int n,count=0;int a=40,b=119;long p;for(n=a;n<=b;n++)p=n*(n+1)-1;if(prime(p)) count++;}if(count!=0)printf("[%d,%d]之间友数对的数目是%d\n",a,b,count);elseprintf("[%d,%d]之间没有友数对!\n",a,b);getchar();}上机试题(七)1.#include <stdio.h>int main(){float money=1.0f;//所分钱的总额int one,two,five;//分别是一分的两分五分的数量int num=0; //所能分方法的总数for(one=8;one<100;one++)for(two=8;two<50;two++)for(five=8;five<20;five++){float t=one*0.01+two*0.02+five*0.05;if(t==money){num++;printf("第%d种:%d一分\t%d两分\t%d三分\n",num,one,two,five);}}printf("共有%d种\n",num);system("pause");return 0;}2.#include "stdio.h"void main(){int x,y,z,u,i,s=0;for(i=1000;i<10000;i++) {x=i/1000;y=(i%1000)/100;z=(i%100)/10;u=i%10;if( (x+y+z+u)%24==0&&i%2==0)s++;printf("sum=%d\n",s);}上机试题(八)1.不准确#include<iostream>using namespace std;int main(){int a,b,c,i,sum=2;for(i=3;i<=10000000;i++){c=a+b;a=b;b=c;sum+=c;}cout<<sum<<endl;return 0;}2.#include <stdio.h>int main() {int i,a,b,count=0;for (i=0;i<50;i++){a=i%10; /*取个位*/b=i/10; /*取十位*/if ((a*b) > (a+b))count+=1;}printf("%d\n",count);return 0;}上机试题(九)1.#include <stdio.h>int fib_count(int n);int fib_iter(int i, int j, int n, int partial_count);int main(){int i = 10000000;printf("%d\n", fib_count(i));return 0;}int fib_count(int n){return fib_iter(1, 1, n, 0);}int fib_iter(int i, int j, int n, int partial_count) {if (i >= n) {return partial_count;} else {return fib_iter(j, i + j, n, partial_count + 1); }}2.#include<stdio.h>int main(){int i,n,m,count=0;printf("所有的回文数字如下:\n");for(i=1000;i<=9999;i++){n=i;m=0;while(n){m=m*10+n%10;n/=10;}if(m==i){printf("%d ",m);count++;}}printf("\n共%d个\n",count);getchar();return 0;}上机试题(十)1.#include<stdio.h>void main(){int i,j,s=0;for(i=10;i<100;i++)for(j=i+1;j<100;j++){int t[2],tt[2],c,d;t[0]=i%10;t[1]=i/10;tt[0]=j%10;tt[1]=j/10;c=t[0]+t[1];d=tt[0]+tt[1];if(i*d==j*c) s+=i+j;}printf("%d\n",s);}2.#include <stdio.h>int main(){int i,sum=0;for (i=1;i<=6000;i++){if ((i%3)==0 || (i%5)==0)sum+=1;}printf("%d\n",sum);return 0;}上机试题(十一)1.#include<stdio.h>void main(){int m;int s=0;for(m=2;m<=1000;m++){if((m*m)%10==m || (m*m)%100==m || (m*m)%1000==m) {s+=m;}}printf("%d\n",s);}2.#include<stdio.h>void main(){int i,j,k,m=0;for(i=5;i<=20;i++)for(j=5;j<=20;j++)for(k=5;k<=10;k++){if(i+2*j+k*5==50&&i+j+k==20)m+=1;}printf("%d",m);printf("\n");}上机试题(十二)1.2.#include "stdio.h"int main(void){int i,Sum=0;for(i=100;i<500;i++){if(i%5==4 && i%7==2)Sum+=i;}printf("%d",Sum);return 0;}上机试题(十三)1.#include<stdio.h>int main(){int a1,a2,a3,a4;int i;int sum=0;for(i=1001;i<10000;i+=2){a1=i/1000;a2=i/100%10;a3=i/10%10;if(a2*a3==0)continue;a4=i%10;if((a1*a2*a3*a4)%125==0)sum+=i;}printf("%d\n",sum);return 0;}2.#include"math.h"main(){int m,i,k,a=0,n=0;for(m=201;m<=1000;m=m+2)if(abc(m))if(abc(m+2)){printf("{%d,%d}",m,m+2);n++;}printf("%4d",n);}int abc(int a){int i;for(i=2;i<=a/2;i++)if(a%i==0)return(0);return(1);}上机试题(十四)1.#include <stdio.h>int main() {int i,a,b,sum=0;for (i=100;i<201;i++){a=i%100; /*取个位*/b=i/100; /*取百位*/if (a==b)sum+=i;printf("%d\n",sum);return 0;}2.#include<stdio.h>void main(){ int i,n=0,t,j;for(i=1;i<=100;i++){ t=0;for(j=1;j<=i;j++)if(i%j==0) t++; if(i%t==0) n++;}printf("%d\n",n);}上机试题(十五)1.#include<stdio.h>#include<math.h>int main(){int x,y,z;double t, min = 0;for (x = -55; x <= 55; x++){for (y = -55; y <= 55; y++){for (z = -55; z <= 55; z++){if ((x*x + y*y + z*z == 55*55) && (x < y) && (y < z)) {t = fabs(x) + fabs(y) + fabs(z);min=t;if (t <min ){min = t;}}}}printf("|x|+|y|+|z|最小值为 :%.f\n", min); return (0);}2.#include <stdio.h>int main(){int a[35];int i,sum;a[1]=0;a[2]=0;a[3]=1;sum=1;for(i=4;i<31;i++){a[i]=a[i-1]+a[i-2]+a[i-3];sum+=a[i];}printf("%d/n",sum);return 0;}上机试题(十六)1.#include <stdio.h>#include <math.h>int main() {int i,temp,S=0;for (i=1;i<30;i++){temp=(int)pow(2,i);S+=temp;if (S>2500){S-=temp;printf("%d\n",S);break;}}return 0;}2.上机试题(十七)1.#include <stdio.h>#include <math.h>void main(){int i, j, sum = 0, s;for (i = 3; i < 200; i += 2){s = sqrt((double)i);for (j = 2; j < s; ++j){if (i % j == 0)break;}if (j == s)sum += i;}printf("3到200之间的所有非偶数非素数的数之和为:%d\n", sum); }2.重复上机试题(十八)1.#include<stdio.h>int prime(int m){int i,f=1;if(m==1)f=0;for(i=2;i<m;i++)if(m%i==0){f=0;break;}return f;}void main(){int m,s=0;for(m=101;m<=999;m=m+2){if(prime(m)&&prime(m%100)&&prime(m%10)&&(m/10%10)!=0) s+=m;}printf("%d",s);}2. #include<stdio.h>main(){int i,sum=0;for (i=200;i<=1000;i++)if (i%4==3&&i%7==4&&i%9==4)sum=sum+i;printf("sum=%d\n",sum);}上机试题(十九)1.重复2.#include<stdio.h>int main(){int x,y;int count = 0;for (x = -100; x <= 100; x++){for (y = -50; y <= 50; y++){if ((9 * x) - (19 * y) == 1){count++;}}}printf("整数解个数为:%d\n", count);return (0);}上机试题(二十)1. #include<stdio.h>main(){int i,sum=0;for (i=200;i<=1000;i++)if (i%4==3&&i%7==4&&i%9==4)sum=sum+i;printf("sum=%d\n",sum);}2.#include <stdio.h>#include <math.h>void main(){ int i,n=0,j,k;for (i=1;i<=100;i++)for (j=i;j<=100;j++)for (k=j;k<=100;k++)if (fabs(1.0/(k*k)+1.0/(j*j)-1.0/(i*i))<1e-10){ n++;printf("%d,%d,%d\n",i,j,k); }printf("%d\n",n);}上机试题(二十一)1.#include<stdio.h>void main(){int a,b,c,d,i=0,s;for(s=1000;s<10000;s++){if(s%15==0){a=s/1000;b=(s-a*1000)/100;c=(s-a*1000-b*100)/10;d=s%10;if(a+d==b+c)i=i+1;}}printf("%d\n",i);}2.#include<stdio.h>void main(){int i;float f1=1,f2=1,sum=0,t;for(i=1;i<=30;i++){sum=sum+f1/f2;t=f2;f2=f2+f1;f1=t;}printf("%.2f\n",sum);}上机试题(二十二)1.#include<stdio.h>void fun(int n);int main(void){ int n;printf("n=");scanf("%d",&n);fun(n);}void fun(int n){ int i;double s=0;for(i=1;i<=n;i++) s+=1.0/((i+1)*i);printf("%lf\n",s);}2.#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){int i,j,k,sum=0;float num1,num2;for(i=1;i<=100;i++)for(j=i+1;j<=100;j++){num1=sqrt(i+j);num2=sqrt(j-i);//num1-(int)num1==0意思是num1是整数,也就是说i+j是平方数,num2同理if(num1-(int)num1==0&&num2-(int)num2==0)sum+=i-j;}printf("%d\n",sum);}上机试题(二十三)1.#include <stdio.h>int satisfy(int n) {return (n / 1000 + n / 100 % 10 + n/10%10+n%10) % 25 == 0; }int main() {int sum = 0, i;for (i = 1000; i != 10000; i += 1)if (satisfy(i))sum += i;printf("%d\n", sum);return 0;}2.#include <stdio.h>#include <math.h>int main() {int i,temp,S=0;for (i=1;i<30;i++){temp=(int)pow(2,i);S+=temp;if (S>1500){S-=temp;printf("%d\n",S);break;}}return 0;}上机试题(二十四)1.#include<stdio.h>int prime(int m){int i,f=1;if(m==1)f=0;for(i=2;i<m;i++)if(m%i==0){f=0;break;}return f;}void main(){int m,s=0;for(m=101;m<=999;m=m+2){if(prime(m)&&prime(m%100)&&prime(m%10)&&(m/10%10)!=0)s+=m;}printf("%d",s);}2.#include <stdio.h>int main(){int i,count=0;for(i=1;i<=800;i++)if(i%3==0&&i%8==0)count++;printf("count=%d\n",count);return 0;}上机试题(二十五)1.#include <stdio.h>int main(){long int i;int p_max=0,e;for (e=2;e<10;e++){for (i=1000;i<10000;i++){if ((i*e==i%1000*10+e)&& i>p_max)p_max=i;}}printf("%d\n",p_max);return 0;}2.#include"stdio.h"main(){int i,j,k,t=0;for(i=5;i<=50;i++)for(j=1;j<50;j++)for(k=j+1;k<50;k++)if(i*i==j*j+k*k)t=t+1;printf("%d",t);}上机试题(二十六)1.#include<stdio.h>void main(){int i,j,k,m=0;for(i=11;i<=33;i++)for(j=11;j<=22;j++)for(k=11;k<=15;k++){if(i+2*j+k*5==100)m+=1;}printf("%d",m);printf("\n");}2.#include<math.h>main(){int n=0;int a,b,c,d,e,m;for(m=32;m<=99;m++){e=m*m;a=e/1000;b=(e%1000)/100;c=((e%1000)%100)/10;d=((e%1000)%100)%10;if(a+b==10&&c*d==18){if(e==m*m)n=n+1;}}printf("\n%d\n",n);}上机试题(二十七)1.#include<stdio.h>void main(){int m;for(m=2;m<=1000;m++){if((m*m)%10==m || (m*m)%100==m || (m*m)%1000==m) {s+=1;}}printf("%d\n",s);}2.#include "stdio.h"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");}上机试题(二十八)1.#include<stdio.h>void main(){ int i,j,a,b,c,k;for ( i=800;i>=300;i-- ){ a=i; c=a%10; a/=10; b=a%10; a/=10;if ( (c+b)%10==a ){ for ( j=2,k=1;j<=i/2;j++ ) if ( i%j==0 ) { k=0; break; }if ( k ) { printf("%d\n",i); break; }}}}2.#include<stdio.h>void main(){int i;for(i=1;i<=500;i++){if(i%5==0 || i%9==0)s+=1.0/i;}printf("%.2f\n",s);}上机试题(二十九)1.#include "stdio.h"#include "conio.h"main(){int a=100,b,c,d=0;for(a=100;a<200;a++) {c=a%10;b=a/100;if(b==c){printf("%d是回文数\n",a);}d=d+a;if(a==200)break;}printf("所有回文数的和是:%d \n",d);getch();}2.#include <stdio.h>int main(){int y,x;int cnt = 0;for (x = 1; x < 19; x++){for (y = 1; y < 32; y++){if (100-5*x-3*y>0){cnt ++;printf ("%d %d %d\n",x,y,100-5*x-3*y);}}}printf("共有%d种", cnt);return 0;}上机试题(三十)1.#include <stdio.h>int main(){int a[35];int i,sum;a[1]=0;a[2]=0;a[3]=1;sum=1;for(i=4;i<31;i++){a[i]=a[i-1]+a[i-2]+a[i-3];sum+=a[i];}printf("%d/n",sum);return 0;}2.#include <stdio.h>void main(){int c=60;int sum=0;for(int a=1;a<60;a++){for(int b=1;b<a;b++){if((a+b>c)&&(b+c>a)&&(a+c>b)&&(a-b<c)&&(a-c<b)&&(b-c<a)&&(b-a<c)&&(c-a<b)&&(c-b <a)){if((a+b+c)%3==0){sum++;printf("%d,%d,%d\n",a,b,c);}}}}printf("这类三角形一共有%d个\n",sum);}上机试题(三十一)1.#include<stdio.h>#include<math.h>int isprim(int n){int i,k;k=(int)sqrt(n);for(i=2;i<=k;i++)if(n%i==0) return 0;if(i>k) return 1;}void main(){ int i,n,count=0,k;printf("请输入一个偶数:");scanf("%d",&n);k=n/2;for(i=1;i<=k;i++)if(isprim(i) && isprim(n-i)){count++;printf("%3d +%3d =%4d\n",i,n-i,n );}printf("%d\n",count);}2.#include <stdio.h>void main(){int i,n=0;int g,s,b,q;for (i=1000;i<10000;i++){g=i%10;q=i/1000;s=i%100/10;b=i/100%10;if(q*q+s*s==g*g*g+b*b*b)printf("%2d:%6d\n",++n,i);}}上机试题(三十二)1.#include<iostream>using namespace std;int main(){int num=0;//分子int bum=0;//分母int num_s=0;//拆开后的分子int bum_s=0;//拆开后的分母int sum=0;//总和for (num = 10;num<100;num++){for (bum = (num + 1);bum<100;bum++){num_s = num/10 + num%10;bum_s = bum/10 + bum%10;if ( (num*bum_s) == (bum*num_s)){// cout<<num<<"/"<<bum<<endl;sum = sum + num + bum;}}}cout<<sum;return 0;}2.#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){int i,j,k,sum=0;float num1,num2;for(i=1;i<=100;i++)for(j=i+1;j<=100;j++){num1=sqrt(i+j);num2=sqrt(j-i);//num1-(int)num1==0意思是num1是整数,也就是说i+j是平方数,num2同理if(num1-(int)num1==0&&num2-(int)num2==0)sum+=i-j;}printf("%d\n",sum);}上机试题(三十三)1.#include<stdio.h>void main(){int N=30,i;long a[31],sum;a[0]=1;a[1]=2;a[2]=3;sum=a[0]+a[1]+a[2];for(i=3;i<=N;i++){a[i]=a[i-1]+2*a[i-1]-5*a[i-3];sum+=a[i];}printf("sum=%d\n",sum);}2.#include "stdio.h"int main(void){int i,j,Value,Sum=0;for(i=200;i<=500;i++){Value=0;for(j=1;j<i;j++){if(i%j==0) Value+=j;}if(Value==i){#ifdef _DEBUGprintf("%d\t",i);#endifSum+=i;}}printf("200-500以内的完数的和为%d",Sum);return 0;}上机试题(三十四)1.#include<conio.h>#include<stdio.h>int main(){int i,sum=0;for(i=1;i<=5000;i++){if(i%7==0) sum+=i;if(sum>1500){sum-=i;break;}}printf("sum = %d",sum);getch();return 1;}2.#include <stdio.h>int prime(long p){long i;for(i=3;i<p/2;i++,i++)if(p%i==0) return 0; //原为return 1;return 1; //原为return 0;}void main(){int n,count=0;int a=40,b=119;long p;for(n=a;n<=b;n++){p=n*(n+1)-1;if(prime(p)) count++;}if(count!=0)printf("[%d,%d]之间友数对的数目是%d\n",a,b,count);elseprintf("[%d,%d]之间没有友数对!\n",a,b);getchar();}上机试题(三十五)1.#include "stdio.h"void main(){int a,b,c,i=0;//a为百位,b为十位,c为个位int is_prime(int x);for(a=1;a<10;a++)//范围100到999,所以百位从1到9,十位,个位,从0到9for(b=0;b<10;b++)for(c=0;c<10;c++)if(((b+c)%10==a)&&is_prime(a*100+b*10+c))//满足题中条件时,计数器加1 i++;printf("i=%d\n",i);}int is_prime(int x)//判断是否是素数的函数,是素数,返回1,不是则返回0{int i;for(i=2;i<=x/2;i++)if(x%i==0)return 0;return 1;}2.#include<stdio.h>void main(){int N=30,i;long a[31],sum;a[0]=1;a[1]=2;a[2]=3;sum=a[0]+a[1]+a[2];for(i=3;i<=N;i++){a[i]=a[i-1]+2*a[i-1]-5*a[i-3];sum+=a[i];}printf("sum=%d\n",sum);}上机试题(三十六)1.#include <stdio.h>int main(){int a;//定义循环变量。