东北大学C语言终结版文档格式.docx
《东北大学C语言终结版文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学C语言终结版文档格式.docx(194页珍藏版)》请在冰点文库上搜索。
%c"
a);
if(a<
='
Z'
a>
A'
)
/*加入‘’表示吧字符转换成为阿斯托码*/
b=a+32;
if(a<
z'
a'
b=a-32;
%c\n"
b);
4、从键盘输入三个整数a、b、c,输出其中最大的数。
inta,b,c,max;
%d%d%d"
a,&
b,&
c);
b)
max=b;
max=a;
if(max<
c)
最大值是%d\n"
c);
max);
5\输入用单个字母表示的成绩信息,转换为百分制分数。
说明:
输入A,输出95;
输入B,输出85;
输入C,输出75;
输入D,输出65;
输入E,输出65.
chara;
switch(a)
{
case'
:
printf("
95\n"
break;
B'
85\n"
C'
75\n"
D'
65\n"
E'
}
6、输入一个3位的正整数,判定该正整数是否为一个回文数。
(所谓回文数是指正读和反读都相同的数,例如131)。
inta,b,c;
%d"
b=a/100;
c=a%10;
if(c==b)
YES\n"
NO\n"
7、从键盘输入国际货币表示的商品价格,请转换为人民币。
仅仅考虑美元($)和欧元€,汇率分别6和8。
例如输入$100,输出600,输入E100,输出800
intx;
charch;
输入货币单位"
scanf("
ch);
输入货币金额"
if(ch=='
$'
转化为人民币为%d\n"
6*x);
8*x);
8、计算1-1/2+1/3-1/4+…+1/n的和,在主函数输入n,计算输出结果。
{intn,i;
floata=1,sum=0;
n="
n);
for(i=1;
i<
=n;
i++)
a=1.0/(i);
if(i%2==0)
a=(-1.0)*a;
sum=sum+a;
sum=%f\n"
sum);
9、从键盘输入一个自然数,判定其是否为完数,如果是,输出Yes,否则输出No。
完数是指一个整数的所有因子之和等于其自身的数,例如6=1+2+3。
{intx,i,sum=0;
Pleaseinputanumber\n"
x;
if(x%i==0)
sum=sum+i;
if(sum==x)
Yes\n"
No\n"
10、从键盘读入一个自然数,判定其是否为素数,如果是,输出Yes,否则输出No
intx,i;
Pleaseinputanumber:
\n"
for(i=2;
if(x%i==0)
{printf("
if(i==x)
11、由x,y二个数字组成二位数xy和yz,且xy+yz=102。
如果有解,输出所有解,否则输出无解
inti,j,a,b;
10;
for(j=1;
j<
j++)
{a=i*10+j;
b=i+j*10;
if(a+b==102)
x=%d,y=%d\n"
i,j);
}
if(i==10&
j==10)
noanswer\n"
12、计算Fibonacci数列中前5项的和。
提示:
Fibonacci数列F(n)的定义为:
F(0)=0,F
(1)=1,F(n)=F(n-1)+F(n-2)。
charF[10]={0,1};
inti,sum=F[0]+F[1];
6;
{
F[i]=F[i-1]+F[i-2];
sum=sum+F[i];
sum=%d\n"
13、计算全部水仙花数的和(提示:
“水仙花”数是指一个三位数,其各位数字的立方和等于该数本身,例如:
153).
inti,a,b,c,sum=0;
for(i=100;
1000;
a=i%10;
b=i/10%10;
c=i/100;
if(i==a*a*a+b*b*b+c*c*c)
{printf("
%d\n"
i);
sum=sum+i;
14、从键盘输入一个三位整数,计算其上下边界,例如123,其下边界为100,上边界为199,依此类推
intx,a,b;
输入一个三位整数"
a=(x/100)*100;
b=a+99;
下边界是%d,上边界是%d\n"
a,b);
15、从键盘输入一个三位纯小数,计算其上下边界,例如0.123,其下边界为0.100,上边界为0.199,依此类推
floatx,a,b;
输入一个三位纯小数"
a=(int)((1000*x)/100)*0.1;
b=a+0.099;
下边界是%.3f,上边界是%.3f\n"
16\.输出公元1000至今的所有闰年的数量
inti,count=0;
for(i=1000;
=2014;
if(i%4==0&
i%100!
=0||i%400==0)
{printf("
count=count+1;
公元1000至今的所有闰年的数量为%d\n"
count);
17、*计算1/2,2/3,3/5,5/8,8/13,13/21,……的前10项和,并输出结果*/
doublei=1,j=2,k=0,m,s=0;
for(k=0;
k<
k++)
s+=i/j;
m=j;
j+=i;
i=m;
值为:
%f\n"
s);
18、从键盘读入一个3位整数,将各个权位的数字转化为字符后输出。
例如输入123,则转换为三个字符'
1'
'
2'
3'
,输出结果为1,2,3.
inta,b,c,d;
charx,y,z;
c=(a%100)/10;
d=a%10;
x=b+48;
y=c+48;
z=d+48;
%c%c%c"
x,y,z);
19、求1000以内素数的和
inta,b,sum=0;
for(a=2;
a<
=1000;
a++)
for(b=2;
b<
a;
b++)
if(a%b==0)
break;
if(b==a)
{sum=sum+a;
a);
}}
}
20、计算分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,…,的前10项之和并输出
main()
inti;
doublea,b,m;
doublesum=0.0;
a=1.0;
b=2.0;
for(i=0;
sum+=b/a;
m=b;
b=a+b;
a=m;
sum=%lf\n"
21、编写程序输出S=1-1/2+1/3-1/4+…+1/99-1/100的结果。
intn;
floats1,s2,s,a,b;
s1=0;
s2=0;
s=0;
for(n=1;
n<
=100;
n++)
if(n%2==0)
{
a=(float)-1.0/n;
s1+=a;
//等价于s1=s1+a//
b=(float)1.0/n;
s2+=b;
s=s1+s2;
s=%f"
22、编程:
输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。
三角形面积公式:
area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。
(提示:
sqrt(x)属于math.h)
floata,b,c;
floats,area;
a,b,c=\n"
%f,%f,%f"
if(a+b>
c&
a+c>
b&
b+c>
a)
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("
area=%f\n"
area);
Wrong!
"
23、将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
inta,i;
请输入一个正整数:
%d="
=a;
while(a%i==0)
%d*"
a=a/i;
24、一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3。
编程找出1000以内的所有完数。
#include<
inti,j,n,sum;
sum=0;
n=0;
i;
if(i%j==0)
n=n+j;
if(n==i)
sum=sum+i;
(求和)
25、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
charstr[1000]="
190fsd9iqkdsE"
;
inti,n,a=0,b=0,c=0,d=0;
str[i]!
=0;
if((str[i]>
'
str[i]<
)||(str[i]>
str[i]>
))
a+=1;
elseif(str[i]=='
'
b+=1;
elseif(str[i]>
0'
9'
c+=1;
else
d+=1;
a=%d\nb=%d\nc=%d\nd=%d\n"
a,b,c,d);
26、实现两个数的#法和$法运算。
如输入3,4,#,输出25;
输入3,4,$,输出34;
提示:
#法和$法运算是自己定义的一种运算,a#b=a*a+b*b,a$b=a*10+b。
inta,b,s;
charc;
Plesaseinputa,b,c!
%d,%d,%c"
switch(c)
#'
s=a*a+b*b;
s=a*10+b;
27、初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。
inta[10]={1,2,3,4,5,6,7,8,9,10};
inti,n;
Pleaseenteronenumber:
if(n==a[i])
if(i<
10)
for(i=i;
a[i]=a[i+1];
for(i=0;
9;
%d,"
a[i]);
no\n"
28、初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。
chara[]={"
abcdefghijklmnopqrstuvwxyz"
};
charC;
inti,nC;
Pleaseinputaletter:
C);
26;
if(C==a[i])
nC=i;
for(i=nC;
25;
a[i]=a[i+1];
a[24]=a[25];
%c"
29、计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。
要求初始化矩阵,输出计算结果并输出该矩阵。
30、初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。
abcdefghijklmn"
7;
31、编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。
要求初始化矩阵。
inta[3][4]={{1,2,3,4},{4,5,6,7},{7,0,8,9}};
inti,j,min,imin=0,jmin=0;
min=a[0][0];
3;
for(j=0;
4;
if(a[i][j]<
min)
{
min=a[i][j];
imin=i;
jmin=j;
}
min=a[%d][%d]\n"
imin,jmin);
for(j=0;
if(j==0)
printf("
printf("
%d"
a[i][j]);
32、初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。
inta[4][4]={{1,3,5,7},{0,4,9,10},{3,5,2,7},{2,5,1,9}};
inti,j,max;
for(i=0
;
max=a[i][0];
if(a[i][j]>
max)
max=a[i][j];
if(j==0)
33、编程实现:
计算矩阵a[3][4]每行元素的和。
要求输出原始矩阵以及每行元素的和值。
inta[3][4]={{1,2,3,4},{4,5,6,7},{4,5,7,9}};
inti,j,sum=0,s=0;
sum+=a[i][j];
sum=0;
34、"
一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。
输出原始数据和移动后的结果。
要求初始化数组。
原始数据为:
610298717182345,
输出结果为:
6102998717182345。
inta[11]