求1000以内的完数C语言

合集下载

C语言经典算法题目及答案

C语言经典算法题目及答案

C语言经典算法题目及答案题目:有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)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;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}====================================== ========================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

2022年齐鲁工业大学公共课《C语言》科目期末试卷B(有答案)

2022年齐鲁工业大学公共课《C语言》科目期末试卷B(有答案)

2022年齐鲁工业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、在C语言源程序中,一个变量代表【】。

4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+105、C语言中的标识符可分为关键字、_______和_______3类。

6、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。

9、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。

10、以下程序的运行结果是_______。

#include <stdio.h>int main(){char s[]="ab\'cdefg\",*p=s+1;printf("%c”,*(p++));printf("%s",p+2);return(0);}二、选择题11、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。

C语言求完数(完全数)

C语言求完数(完全数)

C语言求完数(完全数)问题描述求某一范围内完数的个数。

如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。

例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

问题分析根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将各因子累加到变量s (记录所有因子之和),若s等于i,则可确认i为完数,反之则不是完数。

算法设计对于这类求某一范围(由于本题范围不固定,在编程过程中采用键盘输入的方式)内满足条件的数时,一般釆用遍历的方式,对给定范围内的数值一个一个地去判断是否满足条件,这一过程可利用循环来实现。

本题的关键是求出选取数值i的因子,即从1到i-1范围内能整除i的数,看某一个数j是否为i的因子,可利用语句if(i%j==0)进行判断,求某一个数的所有因子,需要在1到i-1范围内进行遍历,同样釆用循环实现。

因此,本题从整体上看可利用两层循环来实现。

外层循环控制该数的范围2〜n;内层循环j控制除数的范围为1〜i,通过i对j取余,是否等于0,找到该数的各个因子。

另外应注意每次判断下一个选定数之前,必须将变量s的值重新置为0,编程过程中一定要注意变量s重新置0的位置。

程序流程图:下面是完整的代码:1.#include<stdio.h>2.int main()3.{4.int i, j, s, n;/*变量i控制选定数范围,j控制除数范围,s记录累加因子之和*/5.printf("请输入所选范围上限:");6.scanf("%d",&n);/* n的值由键盘输入*/7.for( i=2; i<=n; i++)8.{9. s=0;/*保证每次循环时s的初值为0*/10.for( j=1; j<i; j++)11.{12.if(i%j ==0)/*判断j是否为i的因子*/13. s += j;14.}15.if(s == i)/*判断因子这和是否和原数相等*/16.printf("It's a perfect number:%d\n", i);17.}18.return0;19.}运行结果:请输入所选范围上限:10000↙︎It's a perfect number:6It's a perfect number:28It's a perfect number:496It's a perfect number:8128知识点补充上述程序中求某数的因子时,釆用从1到i-1范围内进行遍历的方法,一个数一个数地去试。

2011年计算机二级C语言编写程序题及答案解析精选1

2011年计算机二级C语言编写程序题及答案解析精选1

2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4.2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。

若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。

【4.3】编写一个简单计算器程序,输入格式为:data1op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4.4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4.6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4.12】输入n值,输出如图所示图形。

【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

【4.16】输入n值,输出如图所示图形。

(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

C语言编辑作业二(1)

C语言编辑作业二(1)
int main()
{
int n;
for(n=100;n<=200;n++)
if(n%3!=0)
printf("%3d\n",n);
return 0;
}
2.编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)。
#include<stdio.h>
#define N 3
float b[3][3];
#include<stdio.h>
int main()
{int i,n,s1,s2,s3;
for(i=1,s1=0,s2=0,s3=0;i<=100;i++)
{scanf("%d",&n);
if(n>0) s1=s1+1;
if(n<0) s2=s2+1;
if(n==0) s3=s3+1;
}
printf("s1=%d s2=%d s3=%d\n",s1,s2,s3);
printf("\n");
t=a[0]+a[1]+a[9];
for(i=1;i<9;i++)
{b=a[i-1]+a[i]+a[i+1];
if(t>b)
t=b;
}
printf("The smallest number is:%6.2f\n",t);
return 0;
}
4.编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。
}
int cpy(char s[],int m)

C语言第六章复习题(含答案)

C语言第六章复习题(含答案)

1.t为int类型,进入下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是( B )(A) 循环控制表达式的值为0 (B) 循环控制表达式的值为1(C) 循环控制表达式不合法(D) 以上说法都不对2.有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是 ( D )。

(A) 自然数1~9的累加和 (B) 自然数1~10的累加和(C) 自然数1~9中的奇数之和 (D) 自然数1~10中的偶数之和3.以下程序段的输出结果是( C )。

int x=3;do{ printf("%3d",x-=2); }while(!(- -x));(A)1 (B)30 (C)1 -2 (D)死循环4.以下程序中,while循环的循环次数是( D)。

main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D) 死循环,不能确定次数5.下面程序的输出是( B )。

(A)741 (B)852 (C)963 (D)875421main(){int y=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}}}6.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( A)。

for (i=5;i;i--)for(j=0;j<4;j++){...}(A)20 (B)25 (C)24 (D)307.执行语句: for(i=l;i++<4;;);后,变量i的值是(C)。

(A) 3 (B) 4 (C) 5 (D) 不定8.假定a和b为int型变量,则执行以下语句后b的值为( D )。

C语言程序设计试题与答案-

C语言程序设计试题与答案-

《C语言程序设计》试题(闭卷)一、单项选择题:(每题 2 分,共 30 分)1. C 语言规定:在一个源程序中,main函数的位置_____________。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下列说法中错误的是_____________。

A. 主函数可以分为两个部分:函数头和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将_____________。

A. 生成目标文件B. 生成可执行目标文件C. 输出运行结果D. 自动保存源文件4. 以下选项中,不正确的 C 语言浮点型常量是_____________。

A. 160.B. 0.12C. 2e4.2D. 0.05. 以下用户标识符中,合法的是_____________。

A. intB. nitC. 123D. a+b6. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____________。

A. 算术运算、关系运算、赋值运算B. 算术运算、赋值运算、关系运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算7. 设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是_____________。

A. 1,1B. 0,1C. 1,0D. 0,08. sizeof (char)的结果值是_____________。

A. 4B. 2C. 1D.出错9. 设 a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是_____________。

A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。

大一C语言题库

大一C语言题库

一、编程大题1.有一函数:当x〈0时,y=-1;当x=0时,y=0;当x>0时,y=1。

编一程序,输入x的值,输出y的值。

#include<stdio。

h〉int main(){int x,y;scanf(”%d”,&x);if (x>=0)if (x>0)y=1;else y=0;else y=-1;printf("x=%d,y=%d\n",x,y);return 0;}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数.#include 〈stdio。

h〉int main(){ float a,b,c,t;scanf("%f,%f,%f”,&a,&b,&c);if(a〈b){t=a;a=b; b=t;}if(a〈c){t=a;a=c; c=t;}if(b<c){ t=b;b=c; c=t; }printf(”%5.2f,%5。

2f,%5.2f\n",a,b,c);return 0;}3.有三个整数a,b,c,由键盘输入,输出其中最大者.#include〈stdio.h〉int main(){int a,b,c,max;printf(”请输入a,b,c\n”);scanf(”%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max〈c)max=c;printf("最大的数为%d\n",max);return 0;}4。

编程求圆面积、圆周长。

要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

{float r,l,s;float pi=3.1415926;printf(”表输入圆半径r:”);scanf(”%f", &r);l=2*pi*r;s=pi*r*r;printf(”圆周长为:l=%6。

C语言程序开发经典实例

C语言程序开发经典实例

main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}==============================================================【程序24】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

2.程序源代码:main(){int n,t,number=20;float a=2,b=1,s=0;for(n=1;n<=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/}printf("sum is %9.6f\n",s);for(i=0;i<5;i++)printf("\40:%d!=%d\n",i,fact(i));}int fact(j)int j;{int sum;if(j==0)sum=1;elsesum=j*fact(j-1);return sum;}==============================================================【程序27】题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

1000以内的完数求解

1000以内的完数求解

1000以内的完数求解一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

编程找出1000以内的所有完数,并按下面格式输出其因子:6its factors are 1,2,3,分析:对于本题来说,只能要依次找出它的因子,就很容易做了,这里可以采用循环的方式,从1开始到n/2就可以了,(设想一下,比方这个数是6,在n/2的范围内就会有1,2,3这三个因子,如果再到4以上去试,它的最小因子i应该从2开始,但是i>n/2,必然会有2*i>n,也就是不会它的因子存在了。

)C语言代码:#include <stdio.h>/**CopyRight@fantasy0707*/#define N 1000 //完数求解范围main(){int i,j,sum; //sum用来存放因子之和for(i=1;i<N;i++) //对1到1000以内的数依次尝试{sum=0; //给sum赋值,同时也是对上一次的值清空for(j=1;j<=i/2;j++) //查找因子{if(i%j==0) // 如果是因子{sum+=j; //把当前的因子累加到sum中}}if(sum==i) //判断是不是完数,即因子之和等于自身{printf("%-5d its factors are: ",i); //是完数,输出for(j=1;j<=i/2;j++) //再次找出这个完数的因子 {if(i%j==0) //输出各个因子printf("%d,",j);}printf("\n");}}}java 代码:public class Test {/*** by: fantasy0707*/public static void main(String[] args) {int i,j,sum; //sum用来存放因子之和for(i=1;i<1000;i++) //对1到1000以内的数依次尝试{sum = 0; //给sum赋值,同时也是对上一次的值清空for(j=1;j<=i/2;j++) //查找因子{if(i%j==0) // 如果是因子{sum+=j; //把当前的因子累加到sum中}}if(sum==i) //判断是不是完数,即因子之和等于自身{System.out.print(i+" its factors are: "); //是完数,输出 for(j=1;j<=i/2;j++) //再次找出这个完数的因子{if(i%j==0) //输出各个因子System.out.print(j+", ");}System.out.println();}}}}程序运行结果:6 its factors are: 1,2,3,28 its factors are: 1,2,4,7,14,496 its factors are: 1,2,4,8,16,31,62,124,248,。

蓝桥杯b组c语言历年题目

蓝桥杯b组c语言历年题目

蓝桥杯b组c语言历年题目全文共四篇示例,供读者参考第一篇示例:蓝桥杯是中国面向大学生的计算机科学与编程竞赛,设立了不同级别的组别和不同的题目形式,其中B组是C语言编程的比赛,考察参赛选手对于C语言编程的理解和应用能力。

参加B组比赛需要具备一定的编程基础和C语言知识,适合有一定编程经验的大学生参与。

历年来,蓝桥杯B组的C语言题目围绕着各种不同的主题展开,涵盖了计算机科学与编程的各个方面,从基础的数据结构和算法到高级的计算机网络和操作系统等内容,题目设计丰富多样,旨在考察参赛选手的编程能力和创新思维。

以下是部分历年蓝桥杯B组的C语言题目:1. 编写一个程序,实现一个简单的计算器功能,支持加减乘除运算,并能够处理输入错误的情况。

2. 设计一个程序,实现一个简单的俄罗斯方块游戏,要求具备显示界面和键盘控制功能。

3. 编程实现一个简单的网络聊天程序,要求实现客户端和服务器端的通信功能,支持实时消息传输。

4. 设计一个程序,模拟实现一个简单的操作系统,包括进程管理、文件系统和内存管理等功能。

5. 编写一个程序,实现一个简单的图形界面,包括按钮、文本框和标签等控件,能够响应用户的操作。

这些题目涵盖了C语言编程中的各个方面,要求选手具备良好的编程基础和解决问题的能力,能够独立完成编程任务并提供有效的解决方案。

蓝桥杯B组的C语言题目旨在培养参赛选手的编程能力和创新思维,帮助他们提升对计算机科学和编程的理解和实践能力。

参加蓝桥杯B组比赛不仅可以锻炼参赛选手的编程技能,还可以拓宽他们的视野,了解计算机科学与技术领域的最新动态和发展趋势。

通过参加蓝桥杯的比赛,参赛选手可以结识志同道合的朋友,与他们共同探讨问题,交流经验,共同进步。

第二篇示例:蓝桥杯是中国首个面向大学生的计算机程序设计和算法竞赛,有A、B、C、D四个组别,其中B组使用C语言进行比赛。

蓝桥杯B组的比赛题目涵盖了C语言的基础知识、算法和数据结构等方面,旨在考察参赛选手的编程能力和解决问题的能力。

C语言试题含答案及评分标准

C语言试题含答案及评分标准

C语言试题一、单项选择题。

(每小题1分,共10分)1.数组名作为参数传递给函数,作为实在参数的数组名被处理为【】。

A)该数组的长度B)该数组的元素个数C)数组中元素的值D)该数组的首地址2.以下程序段执行后,c3的值是【】。

int c1=1,c2=2,c3;c3=c2*c1;A)0B)C) 1D) 23.以下程序段执行后,a的值为【】。

int *p,a=10,b=1p=&a; a=*p+b;A)12B)11C)10D)编译出错4.如下程序运行后的输出结果是【】。

main(){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf(“a=%d,b=%d\n”,a,b);}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=25.如下程序运行后的输出结果是【】。

main(){ f loat x=,y;if(x< y=;else if(x< y=x;else y=;printf(“%f\n”,y);}A)B)C)D)6.如下程序运行后的输出结果是【】。

main(){ int i,sum=0;for(i=1;i<=3;i++) sum+=i;printf(“%d\n”,i);}A) 6B) 3C)死循环D) 47.如下程序的输出结果是【】。

int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}A)12B)13C)14D)158.对于基类型相同的两个指针变量,不能进行的运算是【】。

A)<B)=C)+D)-9.以下函数返回a所指数组中最小的值所在的下标值,在下划线处应填入的是【】。

fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;++i)if(a[i]<a[p]) ;return(p);}A)i=pB)a[p]=a[i]C)p=jD)p=i10.下面程序执行后,文件test中的内容是【】。

2022年湖南城市学院公共课《C语言》科目期末试卷B(有答案)

2022年湖南城市学院公共课《C语言》科目期末试卷B(有答案)

2022年湖南城市学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中的实型变量分为两种类型,它们是_______和_______。

5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+106、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。

若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。

7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);9、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。

10、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。

2022年保险职业学院公共课《C语言》科目期末试卷B(有答案)

2022年保险职业学院公共课《C语言》科目期末试卷B(有答案)

2022年保险职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、结构化程序由________、________ 、________ 3种基本结构组成。

2、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}3、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}4、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。

5、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

6、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。

7、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;_______}node;8、下面程序wdm的运行结果是_______。

int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);9、在C语言中,二维数组元素在内存中的存放顺序是_______。

10、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");二、选择题11、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一种字符12、以下正确的叙述是( )。

C语言作业题(第5至6章)-20111008

C语言作业题(第5至6章)-20111008
二、填空题
【1】下面程序用“顺序查找法”查找数组a中是否存在某一关键字。请填空。
#include <stdio.h>
voidmain( )
{ int a[9]= {25,57,48,37,12,92,86,33},i,x;
scanf (″%d″,&x);
; i=0;
while(a[i]! =x)i++;
printf(″%d\n″,n);
}
【6】下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。请填空。
#include<stdio.h>
void main()
{ int i,j,k;
printf(″\n hong bai hei \n″);
for (i=1;i<=3;i++)
{ int m=0,n=0;
char c;
while (([1]!='\n’))
{ if(c>='A’&&c<='Z’) m++;
if(c>=பைடு நூலகம்a’&&c<='z’) n++;
}
printf ("%d\n",m<n ?[2]);
}
[1]A) c=getchar() B)putchar()C) c=getch()D)scanf("%c",c)
for (; m++)
{ x=m/100;
y=;
z=m%10;
if (x*100+y*10+z==x*x*x+y*y*y+z*z*z)

C 语言程序设计试卷7

C 语言程序设计试卷7

C 语言程序设计试卷(7)一、单项选择题(每题1分,共20分)1. 一个C语言程序是由( ① )。

A. 一个主程序和若干子程序组成B. 若干函数组成C. 若干过程组成D. 若干子程序组成2. 已知:char *s="\Name\\Address\n";则s所指的字符串的长度为( ① ).A. 18B. 16C. 13D. 143. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( ① )。

A. (exp==0)B. (exp!=0)C. exp==1D. (exp!=1)4. 已知:a=b=c=1且均为int型变量,则执行以下语句:++a||++b&&++c;变量a值为( ① ),b值为( ② )。

①A. 不正确B. 0C. 2D. 1②A. 1B. 2C. 不正确D. 05. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ① )。

A. 地址传递B. 单向值传递C. 双向值传递。

即由实参传给形参,再由形参传回给实参D. 由用户指定传递方式6. 以下正确的函数形式是( ① )。

A.double fun1(int x,int y){z=x+y;return z;}B.fun1(int x, y){int z;return z;}C.fun1(x,y){int x,y;double z;z=x+y;return z;}D.double fun1(int x, int y){double z;z=x+y;return z;}7. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ① )。

A. float型B. int型C. long型D. double型8. 以下程序有语法性错误,有关错误原因的正确说法是( ① )。

void main(void){int k;void prt_char();……k=prt_char(G);……}A. 语句void prt_char();有错,它是函数调用语句,不能用void说明。

C语言题库

C语言题库

C语言题库1. 输入一个整数,判断它是几位数?(*)2. 编制一函数,得到一个整数的某一位的数字。

(*)3. 求出所有的水仙花数。

水仙花数是一个三位数,其各位数字的立方和等于该数。

例如153=1^3+5^3+3^3。

(**)4、编写函数fun求1000以内所有7的倍数之和。

(*)int fun(int m){ }5、将一个数组中的元素按逆序存放。

(*)6、输入三个整数x,y,z,请把这三个数由小到大输出。

(*)7、递归调用计算阶乘, 输入n,求n的阶乘(*)8、删除字符串中的数字字符。

例如:输入字符串:48CTYP9E6,则输出:CTYPE。

(**)9、计算并输出500以内最大的10个能被13或17整除的自然数之和。

(*)10、统计一个字符串中的字母、数字、空格和其它字符的个数。

(*)11、不用第三个变量,实现两个数的对调操作。

(**)12、求1!+3!+5!+……+n!的和。

(**)13、求一批数中最大值和最小值的差。

(*)14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。

每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。

例如:求前20项之和的值为32.660259。

(**)15、打印出如下图(菱形)(**)*************************16、用冒泡法对数组a进行由小到大的排序。

(*)17、求出二维数组中的最大元素值(*)18、输入一个字符串,对字符串逆序输出(*)19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。

编程打印此数,直到某项的值超过200为止。

(***)20、计算平均成绩并统计90分以上人数。

(*)21、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(***)22、判断101-200之间有多少个素数,并输出所有素数。

c语言课后题答案

c语言课后题答案

1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave 和总成绩除3的余数rem。

程序如下:#include"stdio.h"main(){int score1,score2,score3,sum,ave,rem;printf("Please input 3 scores:");scanf("%d%d%d",&score1,&score2,&score3);sum=score1+score2+score3;ave=sum/3;rem=sum%3;printf("sum=%d,ave=%d,rem=%d",sum,ave,rem);}2.输入三角形的三边长,求三角形的面积。

已知三角形的三边长求三角形的面识公式为:area=))()((csbsass---,其中a、b、c为三角形三边,s=(a+b+c)/2。

程序如下:#include"stdio.h"#include"math.h"main(){float s,a,b,c,area;printf("Please input a,b,c:");scanf("%f%f%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%f",area);}3.用格式控制符打印以下图形。

****************程序如下:#include"stdio.h"main(){printf("*\n");printf("***\n");printf("*****\n");printf("*******");}4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档