C语言上机题库三Word下载.docx

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

C语言上机题库三Word下载.docx

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

C语言上机题库三Word下载.docx

num[i]=temp;

}

i++)printf("

%4d"

num[i]);

}

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

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

if(num[i]<

puts("

MingCi:

"

);

scanf("

j);

printf("

num[j-1]);

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

main()

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

i++)

{

printf("

InputNum%d:

i+1);

scanf("

num[1][i]);

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

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;

\n%4d(No=%2d)"

num[1][i],num[0][i]);

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

if(num[1][i]<

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

\nMax:

%4d(No=%2d)"

num[1][9],num[0][9]);

\nSecondMax:

num[1][8],num[0][8]);

\nMin:

num[1][0],num[0][0]);

\nSecondMin:

num[1][1],num[0][1]);

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

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

”。

\nFind:

temp);

for(i=0,j=0;

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

\nFound%4d(No=%2d)"

num[1][i],num[0][i]),j=1;

}

if(j==0)printf("

\nCannotfound!

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

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

abdf。

#include<

string.h>

charstrA[80]="

ch;

inti,j;

Inputstring:

gets(strA);

Inputchar:

ch=getch();

strlen(strA);

if(strA[i]==ch)

for(j=i;

j++)strA[j]=strA[j+1];

Output:

puts(strA);

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

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

gets(strA);

i++)strB[strlen(strA)-1-i]=strA[i];

strB[strlen(strA)]='

\0'

;

puts(strB);

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

charstr[80],temp;

gets(str);

strlen(str);

for(j=0;

i;

{

if(str[i]<

str[j])

{temp=str[i];

str[i]=str[j];

str[j]=temp;

puts(str);

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

if(str[i]>

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

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

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;

m;

i++)for(j=0;

n;

for(k=0;

k<

k++)if(a[k][j]<

a[i][j])break;

for(l=0;

l<

l++)if(a[i][l]>

if(k==m&

&

l==n)

re++;

printf("

\na[%d][%d]=%disAnDian"

i,j,a[i][j]);

if(re==0)puts("

NoAnDian!

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

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

k=i+1;

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

\n%2d:

%4d"

k,num[i]);

temp=k;

3-13.编程,输出所有不超过n(取n<

256)的、其平方具有对称性质的正整数(也称为回文数)。

inti,j,n,k;

for(i=1;

256;

j=i*i;

if(j>

10000)k=10000;

elseif(j>

1000)k=1000;

100)k=100;

10)k=10;

elsek=1;

n=0;

do

n+=k*(j%10);

j/=10;

k/=10;

}while(k>

0);

if(n==i*i)printf("

\n%3d:

%5d"

i,i*i);

3-14.编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串并输出。

inti,j,k;

gets(strB);

strcat(strA,strB);

if(strA[i]<

strA[j])

{temp=strA[i];

strA[i]=strA[j];

strA[j]=temp;

3-15.编程,输入两个已经按从小到大顺序排列好的字符串,合并两个字符串,使合并后的字符串中字符从大到小排列并输出。

if(strA[i]>

3-16.编程,输入两个字符串s1和s2,在s1中删除任何s2中有的字符。

例如,s1:

“abc123ad”,s2:

“a1”,则输出“bc23d”。

charstrA[80],strB[80];

strlen(strB);

if(strA[j]==strB[i])

for(k=j;

k++)strA[k]=strA[k+1];

3-17.编程,输入一行文字,判断该行文字是否是回文。

  例如,读入:

MADAMIMADAM输出:

YES

     读入:

ABCDBA.输出:

NO

if(!

strcmp(strA,strB))printf("

Yes"

elseprintf("

No"

3-18.编程,输入若干个字符串,当输入字符串的长度为0时停止输入。

输出最长的字符串。

strB[80]="

inti;

do

gets(strA);

if(strlen(strA)>

strlen(strB))strcpy(strB,strA);

}while(strlen(strA)!

=0);

Longestword:

3-19.编程,输入若干个字符串,当输入字符串的长度为0时停止输入,输出最大字符串。

if(strcmp(strA,strB)>

0)strcpy(strB,strA);

Biggestword:

3-20.“1898─要发就发”。

将不超过2004的所有素数从小到大排成第一行,第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数之差。

编程,输出第二行数中满足下列条件的整数:

第二行数中若干个连续整数的和恰好是1898。

第一行:

2357111317.....197919871993

    第二行:

122424.....86

暂无答案

3-21.用空格分开的字符串称为单词。

输入多行字符串,直到遇到了单词"

stop"

时才停止。

最后输出单词的数量。

inti,n=0;

n++;

}while(strcmp(strA,"

));

Total:

%2dwords"

n);

3-22.编程,输入两个字符串s1、s2和s1中任意字符k,在s1中的指定字符k的位置处插入字符串s2并输出。

charstrA[80],strB[80],ch;

inti,j,lenA,lenB;

Inputs1"

Inputs2"

gets(strB);

Inputk"

lenA=strlen(strA);

lenB=strlen(strB);

lenA;

if(strA[i]==ch)

for(j=lenA;

j>

=i;

j--)strA[j+lenB]=strA[j];

for(j=0;

lenB;

j++)strA[i+j]=strB[j];

lenA+=lenB;

i+=lenB;

3-23.任意输入一个4位自然数,输出该自然数的各位数字组成的最大数。

例如,输入1593,则输出为9531。

inta[4],n,m,i,j;

Inputn:

n);

4;

i++){a[i]=n%10;

n/=10;

if(a[i]<

a[j]){n=a[i];

a[i]=a[j];

a[j]=n;

m=a[0]*1000+a[1]*100+a[2]*10+a[3]);

3-24.编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串,并删除重复的字符,然后输出该字符串。

for(j=i+1,k=0;

if(strA[i]!

=strA[j]){k=j-i-1;

break;

if(k!

=0)for(j=i;

j++)strA[j]=strA[j+k];

3-25.编程,输入五个字符串,请将它们按从小到大的顺序排列后输出。

chara[6][80];

5;

i++){printf("

string%d:

gets(a[i]);

if(strcmp(a[i],a[j])>

0)

{strcpy(a[5],a[i]);

strcpy(a[i],a[j]);

strcpy(a[j],a[5]);

i++)puts(a[i]);

3-26.编程,输入五个字符串,请将它们按从大到小的顺序排列后输出。

if(strcmp(a[i],a[j])<

3-27.编程,将输入的两行字符串连接后,将新串中全部空格移到串首后输出。

if(strA[i]=='

'

for(j=i;

for(j=strlen(strA)-1;

=0;

j--)strA[j+1]=strA[j];

strA[0]='

3-28.编程,输入两个字符串s1、s2,将s1复制到s2并输出s1和s2。

复制时,若字符串

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

当前位置:首页 > 小学教育 > 小升初

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

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