C语言题目Word格式文档下载.docx
《C语言题目Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言题目Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
拓展:
运用数组元素采用冒泡法。
2.接收两个整数number1,number2输出这两个数之间所有奇数的和
intnumber1,number2,sum=0,i;
%d%d"
number1,&
number2);
for(i=number1;
i<
=number2;
i++)
if(i%2!
=0)
sum+=i;
i++;
printf("
sum=%d"
sum);
return0;
3.输入10个分数(浮点型),去掉最高分和最低分后求平均分,保留一位小数
floata[10],max,min,sum=0,avg;
inti;
for(i=0;
10;
scanf("
%f"
a[i]);
sum+=a[i];
min=a[0];
max=a[0];
for(i=1;
if(min>
a[i])
min=a[i];
if(max<
max=a[i];
avg=(sum-max-min)/8.0;
printf("
%.1lf"
avg);
return0;
4.输入n,求1*2*3*4...*n的值
intn,i,result=1;
%d"
n);
=n;
result*=i;
%d\n"
result);
5.根据用户输入的正整数n,求a+aa+…+aa…a(n个a的值)。
例如,当用户输入a为6,n为5时,6+66+666+6666+66666=74070
#include<
inta,b,n,i,sum=0;
b=a;
sum+=a;
a=a*10+b;
return0;
6.根据用户输入的正整数n,求1+1/3+1/5+1/7+…的前n项之和保留两位小数.
intn,i;
doublesum=0;
sum+=(1/(2*i-1.0));
%.2lf\n"
7.根据用户输入的正整数n。
求1-1/2+1/3-1/4+…+((-1)^(n+1))/n的值。
保留两位小数
if(i%2==0)
sum+=(-1.0/i);
else
sum+=1.0/i;
8.输入n,求1!
+2!
+3!
+…+n!
的值
inta=1,n,i,sum=0;
a*=i;
sum+=a;
9.根据用户输入的正整数n,求2/1+3/2+5/3+8/5+13/8+…的前n项之和,保留两位小数.
inti,n,t,a=1,b=1;
b+=a;
sum+=b*1.0/a;
printf("
10.根据用户输入的正整数n,求1-2/3+3/5+6/11+…的前n项和,保留两位小数
inti,n;
sum+=-i*1.0/(2*i-1);
sum+=i*1.0/(2*i-1);
11.根据用户输入的正整数n,求数列1,2,3,5,8,13,21,34
…中第n项的值
intf1=1,f2=2,f3,i,n;
for(i=3;
f3=f1+f2;
f1=f2;
f2=f3;
f3);
12.输入一行字符,统计其中英文字母,数字字符,空格和其他字符的个数。
inta=0,b=0,c=0,d=0;
charch;
ch=getchar();
while((ch!
='
\n'
))
if(ch>
a'
&
ch<
z'
||ch>
A'
Z'
)
a++;
elseif(ch>
0'
ch>
9'
b++;
elseif(ch=='
'
c++;
d++;
ch=getchar();
%d%d%d%d/n"
a,b,c,d);
13.根据用户输入的正整数n,输出数列0,1,2,3,6,11,20,37,68…中第N项的值。
intf1=0,f2=1,f3=2,f4,i,n;
for(i=4;
f4=f1+f2+f3;
f3=f4;
f4);
14.输入若干整数,以-1结束,去掉最大值和最小值,求平均值,保留一位小数。
intmax,min,n,sum=0,i=0;
doubleavg;
max=n;
min=n;
while(n!
=-1)
sum+=n;
n)
max=n;
min=n;
if(i>
2)
avg=(sum-max-min)/(i-2.0);
%.1lf\n"
else
error\n"
);
15.输入两个正整数,求最大公约数。
intx,y,gcd;
x,&
y);
if(x<
y)
gcd=x;
gcd=y;
while(x%gcd||y%gcd)
gcd--;
gcd);
16.输入两个正整数N,求最大公倍数
gcd=y;
gcd=x;
while(gcd%x||gcd%y)
gcd++;
17.输入一个正整数N,求n是几位数。
intn,i=0;
while(n)
n/=10;
i);
18.输入一个正整数N,判断N是否为回文数,所为回文数,是从左到右读这个数和从右到左读这个数是一样的。
例如,98789是回文数。
intn,r,t,i=0;
t=n;
while(t!
r=t%10;
i=i*10+r;
t=t/10;
if(i==n)
yes\n"
no\n"
19.根据输入的行数输出图案。
例如,输入的行数为7.则输出如下所示的图案。
(*之间没有空格)
例如,输入7
*
***
*****
*******
inti,j,n;
for(i=-n/2;
=n/2;
for(j=1;
j<
=abs(i);
j++)
"
=n-2*abs(i);
*"
\n"
20.输入10个数到数组t中,求最大值及最大值在数组T中的下标。
inta[10],i,t,max;
if(max==a[i])
t=i;
%d%d\n"
max,t);
21.输入10个整数到数组t中,按降序排序,输出下标为5的数组元素。
inta[10],i,j,tmp,flag;
flag=0;
for(j=0;
10-i;
if(a[j]<
a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
flag=1;
}
if(0==flag)
break;
a[5]);
22.输出数组s中字符串的子串,子串从s[begin]开始,长度为len.
Chars[80];
Intbegin,len;
Gets(s);
Scanf(“%d%d”,&
begin,&
len);
输入格式:
Howdoyoudo?
49
输出格式:
Doyoudo
chars[80];
intbegin,len;
gets(s);
len);
len+=begin;
for(;
begin<
len;
begin++)
%c"
s[begin]);
23.输入六个整数到数组t中,求最小值。
intt[6],i,min;
6;
t[i]);
min=t[0];
t[i])
min=t[i];
min);
24.输入10个整数到数组t中,数组长度为偶数,将数组t中的数组元素倒置,输出倒置以后下标为5的数组元素,例如,数组t中10个元素依次为1,3,5,7,9,8,6,4,2,0,倒置以后10个数组元素依次为0246897531,下标为5的数组元素为9.已知变量声明和数组声明为“intI,tmp,t[10];
”,要求不再声明其他变量或数组。
inti,tmp,t[10];
5;
tmp=t[i];
t[i]=t[9-i];
t[9-i]=tmp;
t[5]);
25.已知数组声明为“inta[10]={0,10,20,30,40,50,60,70,80,90};
”10个数组元素是按升序排列的。
输入一个整数n。
如果没有与n相等的数组元素,输出-1;
否则,删除与n相等的数组元素,要求剩余的九个数组元素是按升序排列的,输出下标为六的数组元素
#include<
intmain(void)
inta[10]={0,10,20,30,40,50,60,70,80,90};
intn,i,cur,flag=0;
if(n==a[i])
{
flag=1;
cur=i;
break;
}
if(flag==1)
{
for(i=cur;
9;
a[i]=a[i+1];
for(i=0;
%6d"
a[i]);
-1"
26.求3行5列二维数组中每列数组元素的最大值,并输出下标为3的这一列的最大值。
inti,j,max,a[3][5];
3;
scanf("
a[i][j]);
max=a[0][3];
for(i=1;
if(max<
a[i][3])
max=a[i][3];
printf("
max);
27.判断数组s中的字符是不是回文。
一个字符从左到右读和从右到左读是一样的,该字符串是回文,例如,字符串abcdedcba是回文,如果是,输出yes,如果不是,输出No。