东北大学C语言主观题+答案Word文档格式.docx
- 文档编号:17845107
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:52
- 大小:29.93KB
东北大学C语言主观题+答案Word文档格式.docx
《东北大学C语言主观题+答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学C语言主观题+答案Word文档格式.docx(52页珍藏版)》请在冰豆网上搜索。
i++)
a[i]);
for(j=0;
j<
2;
j++)
if(a[j]>
a[j+1])
max=a[j];
a[j]=a[j+1];
a[j+1]=max;
theresultis"
%d"
a[i]);
\n"
5编程:
从键盘输入一个年号,判断该年号是否为闰年,并输出结果。
闰年是能被4整除但不能被100整除;
或能被100整除且能被400整除的年号。
一解:
#include<
intyear;
printf("
inputtheyear:
scanf("
year);
if(year%4==0&
&
year%100!
=0;
)
%disaleapyear\n"
year);
elseif(year%100==0&
year%400==0)
%disaleapyear\n"
year);
else
%disnotaleapyear\n"
二解:
#include<
intmain(void)
{
intyear;
if((year%4==0)&
(year%100!
=0)||(year%400==0))
这年是闰年\n"
这年不是闰年\n"
6编程实现四位电话号码的升位。
原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:
输入1234,则输出:
21234。
longx,y;
pleaseinputtelephonenumber"
x);
y=x/1000;
switch(y)
case1:
case3:
case5:
case7:
case9:
x=2*10000+x;
break;
case2:
case4:
case6:
case8:
x=3*10000+x;
theresultis%ld\n"
x);
7编程实现四位电话号码的升位。
原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:
31234。
参考6
9编程:
输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。
三角形面积公式:
area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。
(提示:
sqrt(x)属于math.h)
floatx,y,z;
floatarea,s;
pleaseinput:
%f%f%f"
x,&
y,&
z);
if((x+y<
=z)||(z+y<
=x)||(x+z<
=y))
no\n"
s=(x+y+z)/2;
area=sqrt(s*(s-x)*(s-y)*(s-z));
%f\n"
area);
11编程:
判定用户输入一个不大于999的正整数是否为一个回文数。
回文数是指正读和反读都相同的数。
inta,x,y,z;
pleaseinputanumber"
if(0<
a&
a<
=999)
x=a/100;
y=(a-100*x)/10;
z=a%10;
if(x==0)
if(y==z)
Yes\n"
elseif(x==z)
yes\n"
12编程:
从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。
转换的方式是:
将a中较大的数码作为b的十位,剩余的数码作为b的个位。
例如,当输入a=49,则结果b=94。
inta,b,x,y;
x=a/10;
y=a%10;
if(x>
=y)
b=a;
b=10*y+x;
theresultis%d"
b);
else
awrongnumber"
13编程:
将a中较小的数码作为b的十位,剩余的数码作为b的个位。
例如,当输入a=54,则结果b=45。
参考12
14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。
inta[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k;
10;
if(a[i]==x)
for(j=i;
for(k=0;
k<
9;
k++)
%3d"
a[k]);
break;
elseif(i==9)
no"
15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。
chara[7]={"
howare"
};
charb[1];
inti,j,k;
pleaseinputthestring:
gets(b);
7;
if(a[i]==b[0])
5;
%c"
elseif(a[i]=='
\0'
16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。
要求初始化矩阵,输出计算结果并输出该矩阵。
inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}};
inti,sum=0,max,j;
4;
sum=sum+a[i][i];
max=a[0][0];
if(max<
a[i][j])
max=a[i][j];
thesumis%dandthemaxnumberis%d\n"
sum,max);
17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。
参考16,懒得弄了
inta[3][3]={{1,2,3},{6,7,8},{1,3,4}};
inti,j,s1=0,s2;
for(j=0;
N;
s2=s2+a[i][j];
s1=s1+s2;
printf("
sum=%d\n"
s1);
18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。
chara[20]={"
asldfkjasldkf"
inti;
puts(a);
for(i=2;
19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。
要求初始化矩阵。
参考16
inta[3][4]={{4,6,4,7},{8,5,2,14},{87,76,75,33}};
inti,j,c,b,min;
min=a[0][0];
for(i=0;
for(i=0;
for(j=0;
if(a[i][j]<
min)
min=a[i][j];
b=i+1;
c=j+1;
4647\n85214\n87767533\n"
行=%d\n列=%d\n"
b,c);
20初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。
inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max;
max=a[i][0];
a[i][j]);
themaxnumberis%d\n"
max);
21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。
参考20
22编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。
23编程实现:
计算矩阵a[3][4]每行元素的和。
要求输出原始矩阵以及每行元素的和值。
24编程实现:
计算矩阵a[3][4]每列元素的和。
要求输出原始矩阵以及每列元素的和值。
参考20
#include<
inti,j,sum;
for(i=0;
sum=0;
sum+=a[i][j];
第%d列和为%d\n"
j+1,sum);
25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。
输出原始数据和移动后的结果。
要求初始化数组。
例如:
原始数据为:
610298717182345,输出结果为:
6102998717182345。
inta[11]={6,10,2,9,8,7,17,18,23,45},i;
theoriginstringsis"
for(i=10;
i>
i--)
a[i]=a[i-1];
thechangedstringsis"
11;
26编程实现:
在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。
要求初始化数组a。
inta[10]={6,10,2,9,8,7,17,18,23,45};
intb[11];
inti,j;
b[i]=a[i];
%d"
b[i]);
for(j=4;
b[j]=a[j-1];
prinff("
b[j]);
}
27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。
例如:
当前的数据为1–1–68966–569,则输出结果为1896669。
inta[10]={1,-1,-6,8,9,6,6,-5,6,9};
theoriginstringis"
thechangestringis"
if(a[i]>
0)
28已知4X4矩阵,求行下标和列下标均为偶数的元素之和,要求输出原始矩阵以及和值。
提示:
例如A[0][0]、A[0][2]的行下标和列下标均为偶数。
inti,sum=0,j;
i=i+2)
j=j+2)
sum=sum+a[i][j];
theresultis%d\n"
sum);
29已知4X4矩阵,求行下标和列下标均为奇数的元素之和,要求输出原始矩阵以及和值。
例如A[1][1]、A[1][3]的行下标和列下标均为奇数。
参考28
30函数voidfun(inta[],intn,int*small,int*big),该函数的功能是分别求出一维数组a中所有奇数项中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;
利用指针small返回奇数项中的最小值,利用指针big返回偶数项中的最大值。
要求:
在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后,在主调函数中输出结果。
voidfun(inta[],intn,int*small,int*big)
intmax,min,i,j;
min=a[0];
max=a[1];
if(n%2==0)
=n-2;
if(min>
a[i])
min=a[i];
for(j=1;
=n-1;
a[j])
*small=min;
*big=max;
=n;
main()
inti=0;
intstr1,str2;
inta[8]={2,13,3,4,54,6,8,4},n;
n=8;
theoriginnumbersare:
do{
i++;
}while(i<
=7);
fun(a,n,&
str1,&
str2);
theminis%dthemaxis%d\n"
str1,str2);
31函数voidfun(inta[],intn,int*big,int*small),该函数的功能是分别求出数组a中所有偶数项中的最小值与所有奇数项中的最大值,形参n给出数组中数据的个数;
利用指针small返回偶数项中的最小值,利用指针big返回奇数项中的最大值。
在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后在主调函数中输出结果。
voidnewstr(charstr[])
intj=0;
charnewstr[100];
str[i]!
='
;
if(str[i]%2!
=0)
newstr[j]=str[i];
j++;
newstr[j]='
=j;
str[i]=newstr[i];
voidstringcat(charstr1[],charstr2[])
char*p1,*p2;
p1=str1;
p2=str2;
while(*p1)
p1++;
while(*p1++=*p2++);
charstr1[]="
Ilovethenortheastenuniversity"
char*p,str2[100];
puts(str1);
p=str1;
*(p+i)!
str2[i]=*p++;
str2[i]='
newstr(str1);
stringcat(str1,str2);
32编写函数voidnew(charstr[]),该函数将字符串str中ASCII值为偶数的字符删除,串中剩余字符形成一个新串。
编写函数voidstringcat(charstr1[],charstr2[])将原字符串str链接在新串的后面。
编写一个程序,调用上述各个函数。
在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。
不允许使用字符串库函数。
voidstrnew(charstr[])
inti,j;
if(str[i]%2==0)
str[j]!
str[j]=str[j+1];
charstr1[100]={"
howareyou"
},str2[100]={"
str1[i]!
str1[i]);
strnew(str1);
%s\n"
p1);
33编写函数voidnew(charstr[]),该函数将字符串str中下标值为偶数的字符删除,串中剩余字符形成一个新串。
编写函数charstrmax(charstr[])在新字符串中查找最大的字符。
在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 语言 主观题 答案