C语言上机题库三.docx

上传人:b****2 文档编号:1304272 上传时间:2022-10-20 格式:DOCX 页数:20 大小:20.16KB
下载 相关 举报
C语言上机题库三.docx_第1页
第1页 / 共20页
C语言上机题库三.docx_第2页
第2页 / 共20页
C语言上机题库三.docx_第3页
第3页 / 共20页
C语言上机题库三.docx_第4页
第4页 / 共20页
C语言上机题库三.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言上机题库三.docx

《C语言上机题库三.docx》由会员分享,可在线阅读,更多相关《C语言上机题库三.docx(20页珍藏版)》请在冰豆网上搜索。

C语言上机题库三.docx

C语言上机题库三

软件学院/信息学院C语言上机试题

大家学习C语言是为了使用,不是为了考试,所以我希望你们能先自己动手做做,然后再参考一下答案。

我知道有些同学喜欢死记硬背,也许可以把这些题目的答案都背下来,但是那样做一点好处都没有。

大学里,别把分数看得那么重要。

找工作没人在乎你到底考了多少分。

能诚实的对待考试,正确的看待分数,真才实学才是最应该得到的。

大家可以到,一般我晚上开)

特别声明:

出题老师请您注意!

去年C语言笔试卷子时,有些题目是只有软件学院/信息学院的同学需要做的,但是卷头写的是“此题只有信息学院的同学做”,小心呀,今年别才出现这样的错误了!

别忘了软件学院!

!

!

第三部分-复杂的数组/字符串处理:

3-1.编程,任意输入10个整数,按从小到大的顺序输出。

————

main()

{

intnum[10],i,j,temp;

for(i=0;i<10;i++)scanf("%d",&num[i]);

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

if(num[i]>num[j]){temp=num[j];num[j]=num[i];num[i]=temp;}

for(i=0;i<10;i++)printf("%4d",num[i]);

}

3-2.编程,任意输入10个人的成绩,按从大到小的顺序排列。

运行程序时,只要输入名次,计算机就能输出该名次对应的成绩。

————

main()

{

intnum[10],i,j,temp;

for(i=0;i<10;i++)scanf("%d",&num[i]);

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

if(num[i]

puts("MingCi:

");

scanf("%d",&j);

printf("%4d",num[j-1]);

}

3-3.编程,输入10个人的序号和成绩,对成绩从小到大排序,输出排序后的序号和成绩。

————

main()

{

intnum[2][10],i,j,temp;

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

{

printf("InputNum%d:

",i+1);

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

num[0][i]=i+1;

}

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

if(num[1][i]>num[1][j])

{

temp=num[0][j];num[0][j]=num[0][i];num[0][i]=temp;

temp=num[1][j];num[1][j]=num[1][i];num[1][i]=temp;

}

for(i=0;i<10;i++)printf("\n%4d(No=%2d)",num[1][i],num[0][i]);

}

3-4.编程,输入10个人的序号和成绩,对成绩从从大到小进行排序,输出排序后的序号和成绩。

————

main()

{

intnum[2][10],i,j,temp;

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

{

printf("InputNum%d:

",i+1);

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

num[0][i]=i+1;

}

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

if(num[1][i]

{

temp=num[0][j];num[0][j]=num[0][i];num[0][i]=temp;

temp=num[1][j];num[1][j]=num[1][i];num[1][i]=temp;

}

for(i=0;i<10;i++)printf("\n%4d(No=%2d)",num[1][i],num[0][i]);

}

3-5.编程,输入10个整数及其序号,求出10个整数的最大值、次大值、最小值和次小值,并输出它们原来输入时的序号。

————

main()

{

intnum[2][10],i,j,temp;

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

{

printf("InputNum%d:

",i+1);

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

num[0][i]=i+1;

}

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

if(num[1][i]>num[1][j])

{

temp=num[0][j];num[0][j]=num[0][i];num[0][i]=temp;

temp=num[1][j];num[1][j]=num[1][i];num[1][i]=temp;

}

printf("\nMax:

%4d(No=%2d)",num[1][9],num[0][9]);

printf("\nSecondMax:

%4d(No=%2d)",num[1][8],num[0][8]);

printf("\nMin:

%4d(No=%2d)",num[1][0],num[0][0]);

printf("\nSecondMin:

%4d(No=%2d)",num[1][1],num[0][1]);

}

3-6.编程,输入10个整数,然后进行查找。

输入要查找的整数,若找到,则输出该数在数组中的下标位置,否则输出“cannotfound!

”。

————

main()

{

intnum[2][10],i,j,temp;

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

{

printf("InputNum%d:

",i+1);

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

num[0][i]=i+1;

}

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

if(num[1][i]>num[1][j])

{

temp=num[0][j];num[0][j]=num[0][i];num[0][i]=temp;

temp=num[1][j];num[1][j]=num[1][i];num[1][i]=temp;

}

printf("\nFind:

");

scanf("%d",&temp);

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

{

if(num[1][i]==temp)

printf("\nFound%4d(No=%2d)",num[1][i],num[0][i]),j=1;

}

if(j==0)printf("\nCannotfound!

");

}

3-7.编程,输入一个字符串并删除其中的指定字符。

例如,对于字符串abcdcf,指定删除c,则结果为:

abdf。

————

#include

main()

{

charstrA[80]="",ch;

inti,j;

printf("Inputstring:

");gets(strA);

printf("Inputchar:

");ch=getch();

for(i=0;i

{

if(strA[i]==ch)

for(j=i;j

}

printf("Output:

");

puts(strA);

}

3-8.编程,输入一行字符,将其反序后再输出。

————

#include

main()

{

charstrA[80],strB[80],temp;

inti,j;

gets(strA);

for(i=0;i

strB[strlen(strA)]='\0';

puts(strB);

}

3-9.编程,输入一行字符,将其中的每个字符从小到大排列后输出。

————

#include

main()

{

charstr[80],temp;

inti,j;

gets(str);

for(i=0;i

{

for(j=0;j

{

if(str[i]

{temp=str[i];str[i]=str[j];str[j]=temp;}

}

}

puts(str);

}

3-10.编程,输入一行字符,将其中的每个字符从大到小排列后输出。

————

#include

main()

{

charstr[80],temp;

inti,j;

gets(str);

for(i=0;i

{

for(j=0;j

{

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

{temp=str[i];str[i]=str[j];str[j]=temp;}

}

}

puts(str);

}

3-11.编程,找出一个二维数组中的鞍点,即该位置上的元素是该行上的最大值,是该列上的最小值。

二维数组也可能没有鞍点。

————

main()

{

inta[10][10]={{1,2,3,14},{4,3,2,11},{2,0,5,7},{8,4,2,11}},m=4,n=4;

inti,j,k,l,re=0;

for(i=0;i

{

for(k=0;k

for(l=0;la[i][j])break;

if(k==m&&l==n)

{

re++;

printf("\na[%d][%d]=%disAnDian",i,j,a[i][j]);

}

}

if(re==0)puts("NoAnDian!

");

}

3-12.编程,按学生的序号输入10名学生的成绩,按照分数由高到低的顺序输出学生的名次、序号和成绩,要求成绩相同的学生具有相同的名次。

————

main()

{

intnum[10],i,j,k,temp;

for(i=0;i<10;i++)scanf("%d",&num[i]);

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

if(num[i]

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

{

k=i+1;

if(num[i]==num[i-1])k=temp;

printf("\n%2d:

%4d",k,num[i]);

temp=k;

}

}

3-13.编程,输出所有不超过n(取n<256)的、其平方具有对称性质的正整数(也称为回文数)。

————

main

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

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1