常熟理工C语言26编程题Word格式文档下载.docx
- 文档编号:17750025
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:18
- 大小:25.32KB
常熟理工C语言26编程题Word格式文档下载.docx
《常熟理工C语言26编程题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《常熟理工C语言26编程题Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
%d"
&
score);
if(score<
0)
printf("
inputdataerror\n"
else
{
if(score>
100)
else
{
c=score/10;
switch(c)
{case10:
case9:
A\n"
break;
case8:
B\n"
case7:
C\n"
case6:
D\n"
case5:
case4:
case3:
case2:
case1:
case0:
E\n"
}
}
4、编程实现
。
voidmain()
floatx,y;
scanf("
%f"
x);
if(x>
y=2*x+1;
else
if(x<
y=-x-1;
y=0;
printf("
y);
5、求
(即求
)(程序代码和运行结果可写在指导书背面)。
ints,a,i,ss;
for(s=0,a=1;
a<
=10;
a++)
{{
for(ss=1,i=1;
i<
=a;
i++)
ss=ss*i;
s=s+ss;
%d\n"
s);
6、输入10个数,用“冒泡法”对10个数排序(由小到大)。
main()
inta[10],i,j,t;
Input10numbers:
\n"
for(i=0;
10;
scanf("
a[i]);
printf("
beforesorting:
%d"
a[i]);
for(j=0;
j<
9;
j++)
9-j;
if(a[i]>
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
\naftersorting:
7、有一篇文章,共有3行文字,每行80个字符。
要求分别统计出其中英文字母和数字的个数。
{inti,j,upp,low,dig,spa,oth;
chartext[3][80];
upp=low=dig=spa=oth=0;
for(i=0;
3;
{printf("
pleaseinputline%d:
i+1);
gets(text[i]);
for(j=0;
80&
text[i][j]!
='
\0'
;
{if(text[i][j]>
A'
text[i][j]<
Z'
)
upp++;
elseif(text[i][j]>
a'
&
z'
low++;
0'
9'
dig++;
elseif(text[i][j]=='
'
spa++;
oth++;
\nuppercase:
%d\n"
upp);
lowercase:
low);
digit:
dig);
space:
spa);
other:
oth);
8、写一个函数,使给定的3*3的二维整型数组转置,即行列互换。
要求输出转换之前和转换之后的结果。
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
intb[3][3],i,j;
arraya:
=2;
for(j=0;
printf("
%5d"
a[i][j]);
b[j][i]=a[i][j];
arrayb:
for(i=0;
b[i][j]);
9、输入3个学生4门课的成绩,分别用函数实现以下功能:
(1)计算每个学生的平均分。
(2)计算每门课的平均分。
(3)找出12个分数中最高分数所对应的学生和课程。
stdlib.h>
floats[3][4];
intr=0,c=0;
voidf2(void)
inti,j,cour=0;
for(j=0;
4;
for(i=0;
cour+=s[i][j];
第%d课的平均分是%d\n"
(j+1),cour/3);
cour=0;
voidf3(void)
inti,j,high=0;
if(s[i][j]>
high)
{
high=s[i][j];
r=i+1;
c=j+1;
}
最高分是%d,学生是%d,课程是%d\n"
high,r,c);
r=0;
c=0;
high=0;
inti,j,score=0;
enterNO.%dscore\n"
scanf("
s[i][j]);
score+=s[i][j];
第%d个学生的平均分是%d\n"
(i+1),score/4);
score=0;
f2();
f3();
system("
PAUSE"
10、用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积。
要求用指针变量作为函数参数。
voidbian(floaf*a,float*b,float*he,float*ji);
float*c,*d,*e,*f,h,t,k,l;
scanf(“%f%f”,&
h,&
t);
c=&
h;
d=&
t;
e=&
k;
f=&
l;
bian(c,d,e,f);
printf(“%5.2f%5.2f%5.2f%5.2f”,h,t,k,l);
voidbian(float*a,float*b,float*he,float*ji)
floatg;
g=*a;
*a=*b;
*b=g;
*he=*a+*b;
*ji=*a**b;
11、编写函数intfind(int*p,intn,intx),在指针p所指的数组中查找整型数x,如果x在数组中,则该函数返回1,否则返回0。
n为数组的大小。
编写主函数测试之。
intfinditem(int*p,intn,intx)
intj=0,i;
(j!
=1)&
(i<
n);
if(*(p+i)==x)j=1;
elsej=0;
returnj;
{intc[]={12,54,54,12,32,65,45,87,98,1,5,3,6,4,5,8,56,23},i,k;
c[i]!
i++);
k);
finditem(c,i+1,k));
12、编写并调试程序:
功能是打印100以内个位数为6且能被3整除的所有数。
intA[10];
inti;
100以内个位数为6且能被3整除的数有:
"
for(i=1;
=100;
if(((i%10)==6)&
((i%3)==0))
A[i-1]=i;
%3d"
A[i-1],"
"
13、编写并调试程序:
编写一函数,实现从大到小的冒泡法排序功能。
主函数中从键盘上输入10个数,赋给一个数组,把该数组作为参数,调用刚才编写的函数,并在主函数中输出结果。
#include"
stdio.h"
conio.h"
voidbubbleSort(inta[],intn)
inti,j,temp;
for(j=9;
j>
=i+1;
j--)
if(a[j]<
a[j-1])
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
voidprintArray(inta[],intn)
%2d"
}
inta[10],i,j,t;
bubbleSort(a,10);
printArray(a,10);
getch();
14、编写并调试程序:
输出1~99之间能被2和3整除的数,按5个数一行的格式输出。
#include"
main()
{
inti,count=0;
for(i=1;
=99;
i++)
if(i%2!
=0&
i%3!
=0)
i);
count++;
if(count==10)
count=0;
15、编写并调试程序:
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
intz,k,s,q;
charch;
z=k=s=q=0;
for(ch=getchar();
ch!
\n'
if(ch>
ch<
||ch>
z++;
elseif(ch=='
k++;
elseif(ch>
s++;
elseq++;
ch=getchar();
zimu:
%d\nspace:
%d\nshuzi:
%d\nqita:
z,k,s,q);
16、编写并调试程序:
输出1~100之间的素数。
intmain(void)
inta[100],i,j;
for(i=0;
i<
100;
i++)a[i]=i+1;
for(i=1;
i++)
for(j=i+1;
j<
j++)
if(a[i]&
a[j]%a[i]==0)
a[j]=0;
for(i=1;
if(a[i])printf("
%d\t"
17、编写并调试程序:
主函数中给整型二维数组b[3][4]从键盘输入12个数据,编写函数求出数组中所有正数之和、所有负数之和,并在主函数中输出结果。
intb[3][4],i,j,zh=0,fu=0;
pleaseinputb[3][4]:
j++)
{
b[i][j]);
if(b[i][j]>
0)zh+=b[i][j];
if(b[i][j]<
0)fu+=b[i][j];
thesumofthosenumberslargerthan0is:
%d.\n"
zh);
thesumofthosenumberssmallerthan0is:
%d."
fu);
18、编写一函数,实现以下功能:
可以把字符串中字母,按下列规律译成译码:
A→Z,a→z,B→Y,b→y,C→X,c→x,即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变。
主函数中从键盘上输入一个字符串,把该字符串作为参数,调用刚才编写的函数,并在主函数中输出结果。
测试数据为“1China2”。
conio.h>
string.h>
intmain()
charstr1[100]={NULL};
inti,t;
请输入原文:
\n"
gets(str1);
原文为:
%s\n"
str1);
译文为:
t=strlen(str1);
if(str1[i]>
str1[i]<
)
str1[i]=26-(str1[i]-'
)-1+'
elseif(str1[i]>
%s\n"
getch();
return1;
19、从键盘任意输入某班10个学生的成绩(成绩类型为整型),保存到数组中,按照选择法对成绩进行排序,并输出成绩按由高到低的排序结果。
#defineN10
inti,j,t,a[N];
for(i=0;
i<
N;
i++)
&
a[i]);
N-1;
for(j=i+1;
j<
j++)
if(a[i]<
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
%4d"
a[i]);
);
20、编写一个函数search(intnum[],inta),用于搜索数组num中是否有a这个元素,若有返回该找到的元素的下标,若没有则返回0。
主函数中从键盘上输入10个整数,调用刚才编写的函数,并在主函数中输出结果。
intsearch(intnum[10],inta);
intnum[10];
inti,a;
输入a:
a);
21、编程实现从键盘上输入一个数组a[3][3],将每一列的最大值显示出来。
voidmain(){
inta[3][3],l,h,b[3];
for(l=0;
l<
l++)
for(h=0;
h<
h++)
a[h][l]);
l++){
%d,"
a[h][l]);
b[l]=a[h][l];
if(b[l]<
a[h][l]){
第%d列最大的数是%d\n"
l+1,b[l]);
22、编写一个函数search(charstr[],charch),用于搜索数组str中是否有ch这个字符,若有返回该找到的元素的下标,若没有则返回0。
主函数中从键盘上输入一个字符串,调用search(),并在主函数中输出结果。
#include<
intsearch(charstr[],chara);
charb[100];
charc;
输入c:
%c\n"
%s"
b);
search(b,c);
intsearch(charstr[],chara)
i,i<
101;
if(str[i]==a)
23、任意从键盘输入10个整数,用函数编程实现计算其中的最大值。
要求用数组作为函数参数编程实现计算最大值的函数FindMax(),即按照如下函数原型编写该函数:
intFindMax(intnum[],intn);
要求,在主函数中打印输出函数求得的最大值。
intfindmax(intnum[],intn);
intnum[10],zdz,i;
num[i]);
zdz=findmax(num,10);
intfindmax(intnum[],intn)
if(num[i]>
num[i+1])
num[i+1]=num[i];
num[9]);
return(0);
24、求一3行3列的整型二维数组对角线元素之和。
inta[3][3],sum;
sum=0;
inti,j;
enterdata:
scanf("
a[i][j]);
sum=a[0][0]+a[1][1]+a[2][2]+a[0][2]+a[2][0];
sumis%6d\n"
sum);
25、编写并调试程序:
编写一函数,实现从大到小的选择法排序功能。
voidxzf(intb[]);
inti,a[N];
xzf(a);
voidxzf(intb[])
inti,j,t;
for(j=i+1;
if(b[i]<
b[j])
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常熟 理工 语言 26 编程