C语言复习资料.docx

上传人:b****3 文档编号:10465627 上传时间:2023-05-26 格式:DOCX 页数:36 大小:26.41KB
下载 相关 举报
C语言复习资料.docx_第1页
第1页 / 共36页
C语言复习资料.docx_第2页
第2页 / 共36页
C语言复习资料.docx_第3页
第3页 / 共36页
C语言复习资料.docx_第4页
第4页 / 共36页
C语言复习资料.docx_第5页
第5页 / 共36页
C语言复习资料.docx_第6页
第6页 / 共36页
C语言复习资料.docx_第7页
第7页 / 共36页
C语言复习资料.docx_第8页
第8页 / 共36页
C语言复习资料.docx_第9页
第9页 / 共36页
C语言复习资料.docx_第10页
第10页 / 共36页
C语言复习资料.docx_第11页
第11页 / 共36页
C语言复习资料.docx_第12页
第12页 / 共36页
C语言复习资料.docx_第13页
第13页 / 共36页
C语言复习资料.docx_第14页
第14页 / 共36页
C语言复习资料.docx_第15页
第15页 / 共36页
C语言复习资料.docx_第16页
第16页 / 共36页
C语言复习资料.docx_第17页
第17页 / 共36页
C语言复习资料.docx_第18页
第18页 / 共36页
C语言复习资料.docx_第19页
第19页 / 共36页
C语言复习资料.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言复习资料.docx

《C语言复习资料.docx》由会员分享,可在线阅读,更多相关《C语言复习资料.docx(36页珍藏版)》请在冰点文库上搜索。

C语言复习资料.docx

C语言复习资料

C语言例题

1、计算任意一个四位数的位数相加的和

voidmain()

{

intshu,shu1,shu2,shu3,shu4;

for(inti=1;i<=5;++i){

printf("\n请输入一个四位数:

");

scanf("%d",&shu);

printf("还能输入%d次\n",5-i);

if(shu>=1000&&shu<=9999){

shu1=shu%10;

shu2=shu/10%10;

shu3=shu/100%10;

shu4=shu/1000;

printf("\n个位数为:

%d\n十位数为:

%d\n百位数为:

%d\n千位数为:

%d\n和为:

%d\n",shu1,shu2,shu3,shu4,shu1+shu2+shu3+shu4);

}else{

printf("输入的数字错误!

");

}

}

}

2、输入小写字母将其转换成对应的大写字母输出

voidmain()

{

for(inti=1;i<5;++i)

{

charnum;

printf("\n请输入一个小写的英文字母:

");

scanf("%c",&num);

fflush(stdin);//去掉回车

if(num>=97&&num<=122)

{

charNum=(char)(num-32);

printf("\n这个字母的大写为:

%c",Num);

}

else

{

printf("\n输入的字母不符合要求,请重新输入!

\n");

}

}

}

用户输入的两个数的+-*/%运算

voidmain(){

floatnum1,num2;

charop;

for(inti=1;i<=5;++i){

fflush(stdin);

printf("\n请输入两个数字(中间用空格区分):

");

scanf("%f%f",&num1,&num2);

fflush(stdin);

printf("\n确定运算方式(+-*/%%):

");

scanf("%c",&op);

if(op=='+'){

printf("\n输入的两位数的运算过程:

%.2f%c%.2f=%.3f\n",num1,op,num2,num1+num2);

}elseif(op=='-'){

printf("\n输入的两位数的运算过程:

%.2f%c%.2f=%.3f\n",num1,op,num2,num1-num2);

}elseif(op=='*'){printf("\n输入的两位数的运算过程:

%.2f%c%.2f=%.3f\n",num1,op,num2,num1*num2);

}elseif(op=='/'){

if(num2==0){

printf("\n除数不能为0!

\n,Errer");

}else{

printf("\n输入的两位数的运算过程:

%.2f%c%.2f=%.3f\n",num1,op,num2,num1/num2);

}

}elseif(op=='%'){

intshu=(int)num1%(int)num2;

printf("\n输入的两位数的运算过程:

%.2f%c%.2f=%d\n",num1,op,num2,shu);

}else{

printf("\n输入的运算符号不符合要求!

\n");

}

}

}

3、判断用户输入的年份是否是闰年

voidmain()

{

intyear;

charxuan;

do

{

printf("\n请输入年份:

");

scanf("%d",&year);

fflush(stdin);

if(year%4==0&&year%100!

=0||year%400==0)

{

printf("\n输入的年份是闰年!

\n");

}

else

{

printf("\n输入的年份不是闰年!

\n");

}

printf("\n是否继续判断年份?

(y/n)");

scanf("%c",&xuan);

fflush(stdin);

}

while(xuan=='y'||xuan=='Y');

}

4、判断一个输入的数是否是素数(素数是只能被1和他本身整除的数)

voidmain()

{

intsushu,i,b,a,k=1;

printf("请输入一个数字:

");

scanf("%d",&sushu);

fflush(stdin);

if(sushu>1)

{

for(i=2;i

{

b=sushu%i;

if(b==0)

{

k=0;

}

}

if(k==0)

{

printf("%d这个数不是素数\n",sushu);

}

else

{

printf("%d这个数是素数\n",sushu);

}

}

else

{

printf("%d这个数不是素数\n",sushu);

}

}

5、输入一个正整数,求出该数的阶乘

voidmain()

{

intsum=1,i;

printf("请输入一个数(数最大值为16否则程序无法计算):

\n");

scanf("%d",&i);

for(inta=1;a<=i;++a)

{

sum*=a;

if(a==i)

{

printf("%d",a);

}

else

{

printf("%d*",a);

}

}

printf("=%d\n",sum);

}

求1-100之间的跳过3的倍数的数

voidmain()

{

for(inti=1;i<=100;++i)

{

if(i%3==0)

{

continue;

}

printf("%d",i);

}

printf("\n");

}

6、输出1000以内的水仙花数(水仙花数:

一个数的各位上的数的立方的和等于它本身)

voidmain()

{

intshu=1,sum;

printf("一千以内的水仙花数:

\n");

for(inta=1;a<=1000;++a)

{

inti=a;

sum=0;

while(i>0)

{

inttemp=i%10;

shu=temp*temp*temp;

sum+=shu;

i=i/10;

}

if(sum==a)

{

printf("%d\n",a);

}

}

}

7、冒泡排序法排一组数据的最大和最小

voidmain()

{

intnums[10]={10,15,1,13,28,520,0,11,15,23};

printf("原始数据顺序:

\n");

for(inti=0;i<=9;++i)

{

printf("%d\t",nums[i]);

}

for(inti=0;i<9;++i)

{

for(intj=0;j<9-i;++j)

{

if(nums[j]>nums[j+1])

{

inttemp=nums[j+1];

nums[j+1]=nums[j];

nums[j]=temp;

}

}

}

printf("排序后的数据顺序:

\n");

for(inti=0;i<=9;++i)

{

printf("%d\t",nums[i]);

}

}

8、二分法给数组插入数据

voidmain()

{

intshu[6]={1,2,3,4,5},num,d=0;

printf("请输入要插入的数据");

scanf("%d",&num);

for(inti=0;i<=4;++i)

{

if(num

{

d=1;

for(inta=4;a>=i;--a)

{

shu[a+1]=shu[a];

}

shu[i]=num;

break;

}

}

if(d==0)

{

shu[5]=num;

}

for(inti=0;i<=5;i++)

{

printf("%d\t",shu[i]);

}

printf("\n");

}

9、显示10行以内的杨辉三角形

voidmain()

{

inti,j;

inta[10][10];

for(i=0;i<10;i++)

{

a[i][0]=1;

a[i][i]=1;

for(j=1;j

{

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

}

for(i=0;i<10;i++)

{

for(j=0;j<=i;j++)

{

printf("%5d",a[i][j]);

}

printf("\n");

}

}

10、输入n值,输出如图所示高为n的等腰三角形。

main()

{inti,j,n;

printf("\nPleaseEntern:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)

printf("");

for(j=1;j<=2*i-1;j++)

printf("*");

printf("\n");

}

}

二级C编程题

1.编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。

例如:

n为1000时,函数值应为s=96.979379。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

doublefun(intn)

{

 

}

main()

{

clrscr();

printf("s=%f\n",fun(1000));

}

2.请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。

其中Fibonacci数列F(n)的定义为

F(0)=0,F

(1)=1

F(n)=F(n-1)+F(n-2)

例如:

t=1000时,函数值为987。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

intfun(intt)

{

 

}

main()

{

intn;

clrscr();

n=1000;

printf("n=%d,f=%d\n",n,fun(n));

}

3.请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。

例如:

主函数从键盘给输入n的值为56,则输出为sum=1113。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

longfun(intn)

{

 

}

main()

{

intn;

longsum;

printf("Inputn:

");

scanf("%d",&n);

sum=fun(n);

printf("sum=%ld\n",sum);

}

4.程序定义了N×N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N],intn),该函数的功能是使数组左下半三角元素中的值加上n。

例如:

若n的值为3,a数组中的值为

a=254

169

537

则返回主程序后a数组中的值应为

554

499

8610

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

#defineN5

fun(inta[][N],intn)

{

 

}

main()

{

inta[N][N],n,i,j;

clrscr();

printf("*****Thearray*****\n");

for(i=0;i

{

for(j=0;j

{

a[i][j]=rand()%10;

printf("%4d",a[i][j]);

}

printf("\n");

}

do

n=rand()%10;/*产生一个小于5的随机数n*/

while(n>=5);

printf("n=%4d\n",n);

fun(a,n);

printf("*****THERESULT*****\n");

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

}

5.m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。

例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

intfun(intscore[],intm,intup[])

{

 

}

main()

{

inti,n,up[9];

intscore[9]={24,35,88,76,90,54,59,66,96};

clrscr();

n=fun(score,9,up);

printf("\nuptotheaveragescoreare:

");

for(i=0;i

printf("%d",up[i]);

}

6.请编写函数voidfun(intx,intpp[],int*n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

voidfun(intx,intpp[],int*n)

{

 

}

main()

{

intx,aa[1000],n,i;

clrscr();

printf("\nPleaseenteranintegernumber:

\n");

scanf("%d",&x);

fun(x,aa,&n);

for(i=0;i

printf("%d",aa[i]);

printf("\n");

}

7.请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。

例如,若输入15,5,则应输出16,18,20,21,22。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

voidfun(intm,intk,intxx[])

{

 

}

main()

{

intm,n,zz[1000];

clrscr();

printf("\nPleaseentertwointegers:

");

scanf("%d%d",&m,&n);

fun(m,n,zz);

for(m=0;m

printf("%d",zz[m]);

printf("\n");

}

8.请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。

例如,输入如下整数:

234345753134436458100321135760

则输出结果为6,100。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

intfun(int*s,intt,int*k)

{

 

}

main()

{

inta[10]={234,345,753,134,436,458,100,321,135,760},k;

clrscr();

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);

}

9.下列程序定义了N×N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。

例如a数组中的值为

a=456

179

326,

则返回主程序后a数组中的值应为

000

100

320

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

#defineN5

intfun(inta[][N])

{

 

}

main()

{

inta[N][N],i,j;

clrscr();

printf("*****Thearray*****\n");

for(i=0;i

{for(j=0;j

{a[i][j]=rand()%10;

printf("%4d",a[i][j]);

}

printf("\n");

}

fun(a);

printf("THERESULT\n");

for(i=0;i

{for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

}

10.下列程序定义了N×N的二维数组,并在主函数中赋值。

请编写函数fun(),函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的s。

例如:

若a数组中的值为

a=01279

1112155

2216111

979102

54141

则返回主程序后s的值应为310。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

#defineN5

intfun(intw[][N])

{

 

}

main()

{

inta[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1};

inti,j;

ints;

clrscr();

printf("*****Thearray*****\n");

for(i=0;i

{for(j=0;j

{printf("%4d",a[i][j]);}

printf("\n");

}

s=fun(a);

printf("*****THERESULT*****\n");

printf("Thesumis:

%d\n",s);

}

11.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun(),它的功能是:

找出学生的最低分,由函数值返回。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#defineN8

structslist

{doubles;

structslist*next;

};

typedefstructslistSTRUC;

doublefun(STRUC*h)

{

 

}

STRUC*creat(double*s)

{

STRUC*h,*p,*q;

inti=0;

h=p=(STRUC*)malloc(sizeof(STRUC));

p->s=0;

while(i

{q=(STRUC*)malloc(sizeof(STRUC));

p->s=s[i];i++;p->next=q;p=q;

}

p->next=NULL;

returnh;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2