c语言专升本编程题(c语言编程题经典100例)

2023-11-24 18:59:45 数码极客 bianji01

 

湖北普通专升本的C语言怎么找学校试题刷?主要刷哪类题目?

现在大家知道湖北普通专升本的C语言怎么找学校试题刷?主要刷哪类题目?下面我们就一起来看看吧!

找院校试题

找一下你所考院校它们的期末考试的C语言试题,很可能是专升本考试题目的来源,对专升本考试很有帮助。C语言备考第一是要十分过细,多注重细节问题。因为考试是笔试,所以多用手在纸上写编程题,然后在电脑上面调试。保证一次性写对,没有任何语法问题。我们的C语言课程中就包含了许多院校的试题,这些题目练起来是非常有帮助的。

要多刷题,多刷编程题。编程题对整个C语言的掌握程度的考查非常全面,提升编程题能力,就提升了C语言考试能力。

多看编程题

要多看题,多看编程题。在初期,C语言的很多算法,你自己是想不出来的,这需要大量编程实例阅读的堆砌。代码读多了,看多了,碰到题,自然也就会写了。C语言的很多问题也都会迎刃而解。书上的例题是重点琢磨和推敲的对象!

现在大家知道湖北普通专升本的C语言怎么找学校试题刷,主要刷哪类题目了吧,大家现在都清楚了吗?

【学信网可查】学历提升

先录取后缴费送助学礼

¥100元起

【快速下证】大专本科专升本高升专

学信网查先录取后缴费

¥100元起

【真实学历】自考国开成人高考

官方远程函授站点

¥100元起

全日制大专、在职人员可报

学信网真实可查

¥100元起

【国家认可】零基础学历提升

全程辅导助学服务

¥100元起

教师资格、职业资格证、职业技能考试

官网可查零基础可报考

学信网可查

谁给我提供一套C语言编程题库

题目:打印出杨辉三角形(要求打印出10行如下图)

1.程序分析:

14641

15101051

2.程序源代码:

main()

{inti,j;

inta[10][10];

printf("\n");

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

{a[i][0]=1;

a[i][i]=1;}

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

for(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j];

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

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

printf("]",a[i][j]);

printf("\n");

==============================================================

【程序62】

题目:学习putpixel画点。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"graphics.h"

main()

inti,j,driVer=VGA,mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(YELLOW);

for(i=50;i<=230;i+=20)

for(j=50;j<=230;j++)

putpixel(i,j,1);

for(j=50;j<=230;j+=20)

for(i=50;i<=230;i++)

putpixel(i,j,1);

==============================================================

【程序63】

题目:画椭圆ellipse

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"graphics.h"

#include"conio.h"

main()

intx=360,y=160,driver=VGA,mode=VGAHI;

intnum=20,i;

inttop,bottom;

initgraph(&driver,&mode,"");

top=y-30;

bottom=y-30;

for(i=0;i{

ellipse(250,250,0,360,top,bottom);

top-=5;

bottom+=5;

getch();

==============================================================

【程序64】

题目:利用ellipseandrectangle画图。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"graphics.h"

#include"conio.h"

main()

intdriver=VGA,mode=VGAHI;

inti,num=15,top=50;

intleft=20,right=50;

initgraph(&driver,&mode,"");

for(i=0;i{

ellipse(250,250,0,360,right,left);

ellipse(250,250,0,360,20,top);

rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));

right+=5;

left+=5;

top+=10;

getch();

==============================================================

【程序65】

题目:一个最优美的图案。

1.程序分析:

2.程序源代码:

#include"graphics.h"

#include"math.h"

#include"dos.h"

#include"conio.h"

#include"stdlib.h"

#include"stdio.h"

#include"stdarg.h"

#defineMAXPTS15

#definePI3.1415926

structPTS{

intx,y;

doubleAspectRatio=0.85;

voidLineToDemo(void)

structviewporttypevp;

structPTSpoints[MAXPTS];

inti,j,h,w,xcenter,ycenter;

intradius,angle,step;

doublerads;

printf("MoveTo/LineToDemonstration");

getviewsettings(&vp);

h=vp.bottom-vp.top;

w=vp.right-vp.left;

xcenter=w/2;/*Determinethecenterofcircle*/

ycenter=h/2;

radius=(h-30)/(AspectRatio*2);

step=360/MAXPTS;/*Determine#ofincrements*/

angle=0;/*Beginatzerodegrees*/

for(i=0;irads=(double)angle*PI/180.0;/*Convertangletoradians*/

points[i].x=xcenter+(int)(cos(rads)*radius);

points[i].y=ycenter-(int)(sin(rads)*radius*AspectRatio);

angle+=step;/*Movetonextincrement*/

circle(xcenter,ycenter,radius);/*Drawboundingcircle*/

for(i=0;ifor(j=i;jmoveto(points[i].x,points[i].y);/*Movetobeginningofcord*/

lineto(points[j].x,points[j].y);/*Drawthecord*/

main()

{intdriver,mode;

driver=CGA;mode=CGAC0;

initgraph(&driver,&mode,"");

setcolor(3);

setbkcolor(GREEN);

LineToDemo();}

==============================================================

【程序66】

题目:输入3个数a,b,c,按大小顺序输出。

1.程序分析:利用指针方法。

2.程序源代码:

/*pointer*/

main()

intn1,n2,n3;

int*pointer1,*pointer2,*pointer3;

printf("pleaseinput3number:n1,n2,n3:");

scanf("%d,%d,%d",&n1,&n2,&n3);

pointer1=&n1;

pointer2=&n2;

pointer3=&n3;

if(n1>n2)swap(pointer1,pointer2);

if(n1>n3)swap(pointer1,pointer3);

if(n2>n3)swap(pointer2,pointer3);

printf("thesortednumbersare:%d,%d,%d\n",n1,n2,n3);

swap(p1,p2)

int*p1,*p2;

{intp;

p=*p1;*p1=*p2;*p2=p;

==============================================================

【程序67】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

1.程序分析:谭浩强的书中答案有问题。

2.程序源代码:

main()

intnumber[10];

input(number);

max_min(number);

output(number);

input(number)

intnumber[10];

{inti;

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

scanf("%d,",&number[i]);

scanf("%d",&number[9]);

max_min(array)

intarray[10];

{int*max,*min,k,l;

int*p,*arr_end;

arr_end=array+10;

max=min=array;

for(p=array+1;pif(*p>*max)max=p;

elseif(*p<*min)min=p;

k=*max;

l=*min;

*p=array[0];array[0]=l;l=*p;

*p=array[9];array[9]=k;k=*p;

return;

output(array)

intarray[10];

{int*p;

for(p=array;pprintf("%d,",*p);

printf("%d\n",array[9]);

==============================================================

【程序68】

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

1.程序分析:

2.程序源代码:

main()

intnumber[20],n,m,i;

printf("thetotalnumbersis:");

scanf("%d",&n);

printf("backm:");

scanf("%d",&m);

for(i=0;iscanf("%d,",&number[i]);

scanf("%d",&number[n-1]);

move(number,n,m);

for(i=0;iprintf("%d,",number[i]);

printf("%d",number[n-1]);

move(array,n,m)

intn,m,array[20];

int*p,array_end;

array_end=*(array+n-1);

for(p=array+n-1;p>array;p--)

*p=*(p-1);

*array=array_end;

if(m>0)move(array,n,m);

==============================================================

【程序69】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出

圈子,问最后留下的是原来第几号的那位。

1.程序分析:

2.程序源代码:

#definenmax50

main()

inti,k,m,n,num[nmax],*p;

printf("pleaseinputthetotalofnumbers:");

scanf("%d",&n);

p=num;

for(i=0;i*(p+i)=i+1;

while(m{

if(*(p+i)!=0)k++;

if(k==3)

{*(p+i)=0;

if(i==n)i=0;

while(*p==0)p++;

printf("%disleft\n",*p);

==============================================================

【程序70】

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

1.程序分析:

2.程序源代码:

main()

intlen;

char*str[20];

printf("pleaseinputastring:\n");

scanf("%s",str);

len=lenGTh(str);

printf("thestringhas%dcharacters.",len);

length(p)

char*p;

intn;

while(*p!=\0)

returnn;

【程序71】

题目:编写input()和output()函数输入,输出5个学生的数据记录。

1.程序分析:

2.程序源代码:

#defineN5

structstudent

{charnum[6];

charname[8];

intscore[4];

}stu[N];

input(stu)

structstudentstu[];

{inti,j;

for(i=0;i{printf("\npleaseinput%dof%d\n",i+1,N);

printf("num:");

scanf("%s",stu[i].num);

printf("name:");

scanf("%s",stu[i].name);

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

{printf("score%d.",j+1);

scanf("%d",&stu[i].score[j]);

printf("\n");

print(stu)

structstudentstu[];

{inti,j;

printf("\nNo.NameSco1Sco2Sco3\n");

for(i=0;i{printf("%-6s%-10s",stu[i].num,stu[i].name);

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

printf("%-8d",stu[i].score[j]);

printf("\n");

main()

input();

print();

==============================================================

【程序72】

题目:创建一个链表。

1.程序分析:

2.程序源代码:

/*creatalist*/

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

structlist*next;

typedefstructlistnode;

typedefnode*link;

voidmain()

{linkptr,head;

intnum,i;

ptr=(link)malloc(sizeof(node));

ptr=head;

printf("pleaseinput5numbers==>\n");

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

scanf("%d",&num);

ptr->data=num;

ptr->next=(link)malloc(sizeof(node));

if(i==4)ptr->next=NULL;

elseptr=ptr->next;

ptr=head;

while(ptr!=NULL)

{printf("Thevalueis==>%d\n",ptr->data);

ptr=ptr->next;

==============================================================

【程序73】

题目:反向输出一个链表。

1.程序分析:

2.程序源代码:

/*reverseoutputalist*/

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

structlist*next;

typedefstructlistnode;

typedefnode*link;

voidmain()

{linkptr,head,tail;

intnum,i;

tail=(link)malloc(sizeof(node));

tail->next=NULL;

ptr=tail;

printf("\npleaseinput5data==>\n");

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

scanf("%d",&num);

ptr->data=num;

head=(link)malloc(sizeof(node));

head->next=ptr;

ptr=head;

ptr=ptr->next;

while(ptr!=NULL)

{printf("Thevalueis==>%d\n",ptr->data);

ptr=ptr->next;

==============================================================

【程序74】

题目:连接两个链表。

1.程序分析:

2.程序源代码:

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

structlist*next;

typedefstructlistnode;

typedefnode*link;

linkdelete_node(linkpointer,linktmp)

{if(tmp==NULL)/*deletefirstnode*/

returnpointer->next;

{if(tmp->next->next==NULL)/*deletelastnode*/

tmp->next=NULL;

else/*deletetheothernode*/

tmp->next=tmp->next->next;

returnpointer;

voidselection_sort(linkpointer,intnum)

{linktmp,btmp;

inti,min;

for(i=0;i{

tmp=pointer;

min=tmp->data;

btmp=NULL;

while(tmp->next)

{if(min>tmp->next->data)

{min=tmp->next->data;

btmp=tmp;

tmp=tmp->next;

printf("\40:%d\n",min);

pointer=delete_node(pointer,btmp);

linkcreate_list(intarray[],intnum)

{linktmp1,tmp2,pointer;

inti;

pointer=(link)malloc(sizeof(node));

pointer->data=array[0];

tmp1=pointer;

for(i=1;i{tmp2=(link)malloc(sizeof(node));

tmp2->next=NULL;

tmp2->data=array[i];

tmp1->next=tmp2;

tmp1=tmp1->next;

returnpointer;

linkconcatenate(linkpointer1,linkpointer2)

{linktmp;

tmp=pointer1;

while(tmp->next)

tmp=tmp->next;

tmp->next=pointer2;

returnpointer1;

voidmain(void)

{intarr1[]={3,12,8,9,11};

linkptr;

ptr=create_list(arr1,5);

selection_sort(ptr,5);

==============================================================

【程序75】

题目:放松一下,算一道简单的题目。

1.程序分析:

2.程序源代码:

main()

inti,n;

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

{n=0;

if(i!=1)

n=n+1;

if(i==3)

n=n+1;

if(i==4)

n=n+1;

if(i!=4)

n=n+1;

if(n==3)

printf("zhuhaoshideshi:%c",64+i);

==============================================================

【程序76】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

1/1+1/3+...+1/n(利用指针函数)

1.程序分析:

2.程序源代码:

main()

#include"stdio.h"

main()

floatpeven(),podd(),dcall();

floatsum;

intn;

while(1)

scanf("%d",&n);

if(n>1)

break;

if(n%2==0)

printf("Even=");

sum=dcall(peven,n);

printf("Odd=");

sum=dcall(podd,n);

printf("%f",sum);

floatpeven(intn)

floats;

inti;

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

s+=1/(float)i;

return(s);

floatpodd(n)

intn;

floats;

inti;

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

s+=1/(float)i;

return(s);

floatdcall(fp,n)

float(*fp)();

intn;

floats;

s=(*fp)(n);

return(s);

==============================================================

【程序77】

题目:填空练习(指向指针的指针)

1.程序分析:

2.程序源代码:

main()

{char*s[]={"man","woman","girl","boy","sister"};

char**q;

intk;

for(k=0;k<5;k++)

{;/*这里填写什么语句*/

printf("%s\n",*q);

==============================================================

【程序78】

题目:找到年龄最大的人,并输出。请找出程序中有什么问题。

1.程序分析:

2.程序源代码:

#defineN4

#include"stdio.h"

staticstructman

{charname[20];

intage;

}person[N]={"li",18,"wang",19,"zhang",20,"sun",22};

main()

{structman*q,*p;

inti,m=0;

p=person;

for(i=0;i{if(mage)

q=p++;

m=q->age;}

printf("%s,%d",(*q).name,(*q).age);

==============================================================

【程序79】

题目:字符串排序。

1.程序分析:

2.程序源代码:

main()

char*str1[20],*str2[20],*str3[20];

charswap();

printf("pleaseinputthreestrings\n");

scanf("%s",str1);

scanf("%s",str2);

scanf("%s",str3);

if(strcmp(str1,str2)>0)swap(str1,str2);

if(strcmp(str1,str3)>0)swap(str1,str3);

if(strcmp(str2,str3)>0)swap(str2,str3);

printf("afterbeingsorted\n");

printf("%s\n%s\n%s\n",str1,str2,str3);

charswap(p1,p2)

char*p1,*p2;

char*p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

==============================================================

【程序80】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只

猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了

一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,

问海滩上原来最少有多少个桃子?

1.程序分析:

2.程序源代码:

main()

{inti,m,j,k,count;

for(i=4;i<10000;i+=4)

{count=0;

for(k=0;k<5;k++)

j=i/4*5+1;

if(j%4==0)

count++;

break;

if(count==4)

{printf("%d\n",count);

break;}

【程序81】

题目:809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

1.程序分析:

2.程序源代码:

output(longb,longi)

{printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);

main()

{longinta,b,i;

a=809;

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

{b=i*a+1;

if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)

output(b,i);}

==============================================================

【程序82】

题目:八进制转换为十进制

1.程序分析:

2.程序源代码:

main()

{char*p,s[6];intn;

gets(p);

while(*(p)!=\0)

{n=n*8+*p-0;

p++;}

printf("%d",n);

==============================================================

【程序83】

题目:求0—7所能组成的奇数个数。

1.程序分析:

2.程序源代码:

main()

longsum=4,s=4;

intj;

for(j=2;j<=8;j++)/*jisplaceofnumber*/

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

if(j<=2)

s*=7;

s*=8;

sum+=s;}

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

==============================================================

【程序84】

题目:一个偶数总能表示为两个素数之和。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"math.h"

main()

{inta,b,c,d;

scanf("%d",&a);

for(b=3;b<=a/2;b+=2)

{for(c=2;c<=sqrt(b);c++)

if(b%c==0)break;

if(c>sqrt(b))

d=a-b;

break;

for(c=2;c<=sqrt(d);c++)

if(d%c==0)break;

if(c>sqrt(d))

printf("%d=%d+%d\n",a,b,d);

==============================================================

【程序85】

题目:判断一个素数能被几个9整除

1.程序分析:

2.程序源代码:

main()

{longintm9=9,sum=9;

intzi,n1=1,c9=1;

scanf("%d",&zi);

while(n1!=0)

{if(!(sum%zi))

n1=0;

{m9=m9*10;

sum=sum+m9;

c9++;

printf("%ld,canbedividedby%d\"9\"",sum,c9);

==============================================================

【程序86】

题目:两个字符串连接程序

1.程序分析:

2.程序源代码:

#include"stdio.h"

main()

{chara[]="acegikm";

charb[]="bdfhjlnpq";

charc[80],*p;

inti=0,j=0,k=0;

while(a[i]!=\0&&b[j]!=\0)

{if(a[i]{c[k]=a[i];i++;}

c[k]=b[j++];

c[k]=\0;

if(a[i]==\0)

p=b+j;

p=a+i;

strcat(c,p);

puts(c);

==============================================================

【程序87】

题目:回答结果(结构体变量传递)

1.程序分析:

2.程序源代码:

#include"stdio.h"

structstudent

{intx;

charc;

main()

{a.x=3;

a.c=a;

f(a);

printf("%d,%c",a.x,a.c);

f(structstudentb)

b.x=20;

b.c=y;

==============================================================

【程序88】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

1.程序分析:

2.程序源代码:

main()

{inti,a,n=1;

while(n<=7)

scanf("%d",&a);

}while(a<1||a>50);

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

printf("*");

printf("\n");

n++;}

getch();

==============================================================

【程序89】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

1.程序分析:

2.程序源代码:

main()

{inta,i,aa[4],t;

scanf("%d",&a);

aa[0]=a;

aa[1]=a0/10;

aa[2]=a00/100;

aa[3]=a/1000;

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

{aa[i]+=5;

aa[i]%=10;

for(i=0;i<=3/2;i++)

{t=aa[i];

aa[i]=aa[3-i];

aa[3-i]=t;

for(i=3;i>=0;i--)

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

==============================================================

【程序90】

题目:专升本一题,读结果。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#defineM5

main()

{inta[M]={1,2,3,4,5};

inti,j,t;

i=0;j=M-1;

while(i{t=*(a+i);

*(a+i)=*(a+j);

*(a+j)=t;

i++;j--;

for(i=0;iprintf("%d",*(a+i));

【程序91】

题目:时间函数举例1

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"time.h"

voidmain()

{time_tlt;/*definealonginttimevarible*/

lt=time(NULL);/*systemtimeanddate*/

printf(ctime(<));/*englishformatoutput*/

printf(asctime(localtime(<)));/*tranfertotm*/

printf(asctime(gmtime(<)));/*tranfertoGreenwichtime*/

==============================================================

【程序92】

题目:时间函数举例2

1.程序分析:

2.程序源代码:

/*calculatetime*/

#include"time.h"

#include"stdio.h"

main()

{time_tstart,end;

inti;

start=time(NULL);

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

{printf("\1\1\1\1\1\1\1\1\1\1\n");}

end=time(NULL);

printf("\1:Thedifferentis%6.3f\n",difftime(end,start));

==============================================================

【程序93】

题目:时间函数举例3

1.程序分析:

2.程序源代码:

/*calculatetime*/

#include"time.h"

#include"stdio.h"

main()

{clock_tstart,end;

inti;

doublevar;

start=clock();

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

{printf("\1\1\1\1\1\1\1\1\1\1\n");}

end=clock();

printf("\1:Thedifferentis%6.3f\n",(double)(end-start));

==============================================================

【程序94】

题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)

1.程序分析:

2.程序源代码:

#include"time.h"

#include"stdlib.h"

#include"stdio.h"

main()

{charc;

clock_tstart,end;

time_ta,b;

doublevar;

inti,guess;

srand(time(NULL));

printf("doyouwanttoplayit.(yorn)\n");

loop:

while((c=getchar())==y)

i=rand()0;

printf("\npleaseinputnumberyouguess:\n");

start=clock();

a=time(NULL);

scanf("%d",&guess);

while(guess!=i)

{if(guess>i)

{printf("pleaseinputalittlesmaller.\n");

scanf("%d",&guess);}

{printf("pleaseinputalittlebigger.\n");

scanf("%d",&guess);}

end=clock();

b=time(NULL);

printf("\1:Ittookyou%6.3fseconds\n",var=(double)(end-start)/18.2);

printf("\1:ittookyou%6.3fseconds\n\n",difftime(b,a));

if(var<15)

printf("\1\1Youareveryclever!\1\1\n\n");

elseif(var<25)

printf("\1\1youarenormal!\1\1\n\n");

printf("\1\1youarestupid!\1\1\n\n");

printf("\1\1Congradulations\1\1\n\n");

printf("Thenumberyouguessis%d",i);

printf("\ndoyouwanttotryitagain?(\"yy\".or.\"n\")\n");

if((c=getch())==y)

gotoloop;

==============================================================

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告