湖南科技大学C语言上机题库.docx

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

湖南科技大学C语言上机题库.docx

《湖南科技大学C语言上机题库.docx》由会员分享,可在线阅读,更多相关《湖南科技大学C语言上机题库.docx(55页珍藏版)》请在冰点文库上搜索。

湖南科技大学C语言上机题库.docx

湖南科技大学C语言上机题库

第一套

1、设计一个程序,从键盘输入3个整数,按由大到小的顺序输出。

#include

main()

{

inta,b,c,t;

printf("请输入3个整数(用逗号分开):

");

scanf("%d,%d,%d",&a,&b,&c);

if(a

{

t=a;a=b;b=t;

}

if(b

{

t=b;b=c;c=t;

}

if(a

{

t=a;a=b;b=t;

}

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

}

2、求1+3+5+7+……+95+97+99的和。

#include

main()

{

intn,sum=0;

for(n=1;n<100;)

{

sum=sum+n;

n=n+2;

}

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

}

3、写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此整数为素数”,否则输出“整数非素数”。

(要求从主函数输入整数)

#include

#include

main()

{

intx,n,flag=1;

scanf("%d",&x);

for(n=2;n<=x-1;n++)

if(x%n==0)

flag=0;

if(flag==1)

printf("%d是素数\n",x);

else

printf("%d不是素数\n",x);

}

第二套

4、从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出,然后求出这10个数的和并输出。

#include

main()

{

shorti,a[10],total=0;

printf("请连续输入10个整数(空格分开):

\n");

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

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

printf("这10个整数逆序输出得:

\n");

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

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

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

total=total+a[i];

printf("\n这10个整数的和为:

%d\n",total);

}

5、输入n个国家的英文名,要求按字母先后顺序,并按照顺序输出。

#include

#include

main()

{

char*nation[]={"China","Russia","France","England","Japan","UnitedStatesOFAmerice","Australia"};

inti,m;

voidsort(char*name[],int);

m=sizeof(nation)/sizeof(char*);

sort(nation,m);

for(i=0;i

printf("%9s\n",nation[i]);

}

voidsort(char*name[],intn)/*选择排序*/

{

char*t;

inti,j,k;

for(i=0;i

{

k=i;

for(j=i+1;j

if(strcmp(name[k],name[j])>0)

k=j;/*第j个元素更小*/

if(k!

=i)/*最小元素是该趟的第一个元素,则不需要交换*/

{

t=name[i];name[i]=name[k];name[k]=t;

}

}

}

#include

#include

voidmain()

{

inta,b;

charc[5][20],d[20];

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

scanf("%s",c[a]);

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

for(b=a;b<=4;b++)

{

if(c[b][0]<=c[a][0])

{

strcpy(d,c[a]);

strcpy(c[a],c[b]);

strcpy(c[b],d);

}

}

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

printf("%s\n",c[a]);

}

6、某年级共有4个班,每班各有30名学生,有6个科目的考试成绩,要求输出每门课程最高分的学生的班级、学号和姓名,并计算各班每个学生的平均成绩并输出。

#include

#defineN14

#defineN230

#defineN36

main()

{

floatscore[N1][N2][N3],studav[N1][N2];

inti,j,k;

floatsum;

for(i=0;i

for(j=0;j

for(k=0;k

{

printf("请输入%d班学号为%d的科目%d成绩"

"score[%d][%d][%d]:

",i+1,j+1,k+1,i,j,k);

scanf("%f",&score[i][j][k]);

}

for(i=0;i

for(j=0;j

{

sum=0;

for(k=0;k

sum=sum+score[i][j][k];

studav[i][j]=sum/N3;

printf("%d班学号为%d的学生的平均成绩studav[%d][%d]为:

"

"%f\n",i+1,j+1,k+1,studav[i][j]);

}

}

第三套

7、求从键盘上输入10个数据(实数)中的最大值,并求和。

#include

main()

{

floata[10],sum=0;

inti,maxi;

printf("请输入十个的实数:

\n");

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

scanf("%f",&a[i]);

maxi=0;

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

{

if(a[i]>a[maxi])

maxi=i;

}

printf("%f\n",a[maxi]);

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

sum=sum+a[i];

printf("%f\n",sum);

}

#include

main()

{

floata[10],sum=0,max;

inti;

printf("请输入十个的实数:

\n");

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

scanf("%f",&a[i]);

max=a[0];

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

{

if(a[i]>max)

max=a[i];

}

printf("%f\n",max);

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

sum=sum+a[i];

printf("%f\n",sum);

}

8、给出三角形的三边A、B、C,求三角形的面积。

(先判断三边是否能构成三角形)。

#include

#include

main()

{

floata,b,c,area,p;

scanf("%f,%f,%f",&a,&b,&c);

p=(a+b+c)/2;

if(a+b>c&&a+c>b&&b+c>a)

{

area=sqrt(p*(p-a)*(p-b)*(p-c));

printf("Area=%6.2f\n",area);

}

elseprintf("Error\n");

}

9、编写程序求一个字符串的第n个字符开始、长度为m的字串。

#include

main()

{

charc[100],s[100];

intn,m,i;

printf("请输入一字符串:

");

gets(c);

printf("n,m的值\n");

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

for(i=0;i

{

s[i]=c[n+i-1];

}

printf("%s",s);

}

10、

#include

main()

{

intdate;

printf("Inputadate:

");

scanf("%d",&date);

if(date==123)

printf("RIGHT\n");

else

{

printf("WRONG\n");

if(date>123)

printf("ItisLARGE\n");

else

printf("ItisSMALL\n");

}

}

11、

#include

main()

{

charc[50];

inti,n=0;

scanf("%s",c);

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

if(c[i]!

='\0')

{

if(c[i]=='A')n++;

if(c[i]=='a')n++;

if(c[i]=='E')n++;

if(c[i]=='e')n++;

if(c[i]=='I')n++;

if(c[i]=='i')n++;

if(c[i]=='O')n++;

if(c[i]=='o')n++;

if(c[i]=='U')n++;

if(c[i]=='u')n++;

}

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

}

12、

#include

main()

{

intx;

for(x=1;x<=100;x++)

if(x*x%10==x||x%100==x)

printf("%5d",x);

printf("\n");

}

13、

#include

main()

{

inti;

printf("请输入一个整数:

");

scanf("%d",&i);

if(i%7==0)

printf("YES");

else

printf("NO");

}

14、

#include

intstrcmp(charstr1[],charstr2[])

{

inti=0;

while(str1[i]==str2[i]&&str1[i]!

='\0'&&str2[i]!

='\0')

i++;

returnstr1[i]-str2[i];

}

main()

{

charstr[20];

intx=0;

do

{

printf("\nEnterpassword:

");

gets(str);

if(strcmp(str,"12345"))

x++;

else

{

printf("\nYouarepass!

\n");

break;}

}while(x<3);

if(x==3)

printf("\nYouarefalrure!

\n");

}

15、

#include

main()

{

inti,n,sum=0,s;

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

{

s=1;

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

{

s=s*i;

}

sum=sum+s;

}

printf("%d",sum);

}

16、#include

main()

{

inti,j,row=0,colum=0,max;

staticinta[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}};

max=a[0][0];

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

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

{

if(a[i][j]>max)

{

max=a[i][j];

row=i;colum=j;

}

}

printf("max=%d,row=%d,colum=%d",max,row,colum);

}

17、#include

main()

{

inti,n=0;

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

{

if(i%5==0)

n++;

}

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

}

18、#include

main()

{

longinti,j=0,t,a;

printf("输入一个小于65535的正整数:

");

scanf("%ld",&i);

a=i;

do

{

t=i%10;

j=j*10+t;

i=i/10;

}

while(i>0);

printf("它的逆序数为:

%ld",j);

if(j==a)

printf("它是回文数");

else

printf("它不是回文数");

}

19、#include

main()

{

longintx,y=0;

intt,n=0;

printf("请输入一个不多于5位数的数:

\n");

scanf("%ld",&x);

printf("此数的每一位为(由个位开始):

\n");

while(x>0)

{

t=x%10;

y=y*10+t;

x=x/10;

n++;

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

}

printf("此数有%d位\n",n);

printf("此数的逆序数为%ld\n",y);

}

#include

voidfun(void)

{

inta1,a2,a3,a4,a5;

longa,b;

printf("请您输入一个5位以内的数\n");

scanf("%ld",&a);

if(a<99999)

{

printf("您输入的数在所求范围里面\n");

a1=a/10000;

a=a-a1*10000;

a2=a/1000;

a=a-a2*1000;

a3=a/100;

a=a-a3*100;

a4=a/10;

a=a-a4*10;

a5=a/1;

if(a1!

=0)

{

b=a5*10000+a4*1000+a3*100+a2*10+a1;

printf("此数有5位\n");

}

elseif(a1==0&&a2!

=0)

{

b=a5*1000+a4*100+a3*10+a2;

printf("此数有4位\n");

}

elseif(a1==0&&a2==0&&a3!

=0)

{

b=a5*100+a4*10+a3;

printf("此数有3位\n");

}

elseif(a1==0&&a2==0&&a3==0&&a4!

=0)

{

b=a5*10+a4;

printf("此数有2位\n");

}

else

{

b=a5;

printf("此数有1位\n");

}

printf("这个数按逆向表示为%ld\n",b);

}

else

{

printf("您输入的数不在此范围内,请您重新输入:

\n");

fun();

}

}

main()

{

fun();

}

20、#include

main()

{

inta[4][4],i,j,sum=0;

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

{

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

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

}

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

{

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

{

if(i+j==3||i==j)

sum=sum+a[i][j];

}

}

printf("%d",sum);

}

21、#include

#include

main()

{

longt;

chara[100],b[100];

printf("请您分别输入2个字符串\n");

scanf("%s",a);

scanf("%s",b);

t=strcmp(a,b);

if(t==0)

printf("您输入的两个字符串相同\n");

else

printf("您输入的两个字符串不相同\n");

}

22,#include

main()

{

intn;

for(n=100;n<=200;n++)

if(n%3==0&&n%7!

=0)

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

}

23、#include

main()

{

intn;

printf("请输入一个1-12数字,分别代表着月份:

\n");

scanf("%d",&n);

switch(n)

{

case1:

printf("您输入的月份是:

January\n");break;

case2:

printf("您输入的月份是:

February\n");break;

case3:

printf("您输入的月份是:

March\n");break;

case4:

printf("您输入的月份是:

April\n");break;

case5:

printf("您输入的月份是:

May\n");break;

case6:

printf("您输入的月份是:

June\n");break;

case7:

printf("您输入的月份是:

July\n");break;

case8:

printf("您输入的月份是:

Augest\n");break;

case9:

printf("您输入的月份是:

September\n");break;

case10:

printf("您输入的月份是:

October\n");break;

case11:

printf("您输入的月份是:

November\n");break;

case12:

printf("您输入的月份是:

December\n");break;

default:

printf("您的输入有误");

}

}

24、#include

#defineN5

voidsmp_selsesort(intr[],intn)/*简单选择排序*/

{

inti,j,t;

for(i=0;i

for(j=i+1;j

if(r[i]>r[j])

{

t=r[i];

r[i]=r[j];

r[j]=t;

}

}

main()

{

inti,a[N];

printf("请输入%d个整数:

\n",N);

for(i=0;i

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

smp_selsesort(a,N);

printf("排序后的输出为:

\n");

for(i=0;i

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

}

25、#include

main()

{

longinta[10],c,s=0;

floatb;

printf("请您输入十个整数\n");

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

scanf("%ld",&a[c]);

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

s=s+a[c];

b=s*1.0/10;

printf("平均值b=%f\n",b);

printf("这组数中大于平均值的数为:

\n");

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

if(a[c]>b)

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

}

26、#include

main()

{

inta,b,s;

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

{

for(b=a;b<=9;b++)

{

s=a*b;

printf("%d*%d=%d\t",a,b,s);

}

printf("\n");

}

}

27、#include

#include

main()

{

intc,w[2],d=0,t=1,q=0;

chara[100],b[10];

printf("请您输入一个主字符串:

\n");

scanf("%s",a);

printf("请您输入在字符串中多次出现的字符串:

\n");

scanf("%s",b);

w[0]=strlen(b);

w[1]=strlen(a);

for(c=0;c

{

if(a[c]==b[d])

{

if(d>=w[0])

d=0;

d=d+1;

if(a[c+1]==b[d])

t=t+1;

else

{

d=0;

t=1;

}

}

else

{d=0;t=1;}

if(t==w[0])

q=q+1;

}

printf("您输入的字符%s在主字符串中出现的次数为:

\n",b);

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

}

28、#include

voidfun(void)

{

inta;

printf("请您输入您的分数,我们将根据您的分数对其进行评定\n");

scanf("%d",&a);

printf("您的分数等级为:

\n");

if(a<=100&&a>=90)

printf("A\n");

elseif(a<90&&a>=80)

printf("B\n")

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

当前位置:首页 > 工程科技 > 能源化工

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

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