22、lf\,naver);
}
5.16根据用户输入的正整数n,求1-1/2 + 1/3 -1/4 +...+
((-l)n+l))/的值。保留两位小数。
输入格式:
2
输出格式:
0.50
#include
+void main()
{
int i,flag=l,n;
double sum = 0;
scanf(% d",&n);
for (i=l;i<=n;i++)
{
sum +=1.0/i*flag; flag=-flag;
}
printf(.2f\n,/sum);
}
5.21 输入n,求 l! + 2! + 3!++ n
23、的值。
输入格式:
10
输出格式:
4037913
#include
int main(void)
{
int sum=0J, n,s=l;
scanf("%cT &n);
for(i = l;i<=n;i++)
s*=i;
sum+=s;
}
printf("%d\:V sum);
}
5.22根据用户输入的正整数n,求2/1 + 3/2 + 5/3 + 8/5 +
13/8 +・的前n项之和。保留两位小数。
输入格式:
2
输出格式:
3.50
#inelude
void main (void)(
in
24、t a = 1, 2b =, i, n;
double d,sum=0;
scanf("%d”,&n);
for(i = 1; i <= n; i++){d=l.*b/a;
sum+=d;
c = a + b;
a = b;
b = c;
}printf盼2f: sum);
}
5.23根据用户输入的正整数n,求].2/3 + 3/5 - 4/7 +5/9-6/11+ .的.前n项之和。保留两位小数。
输入格式:
2
输出格式:
0.33
#in cludeint main(void)
{
int i, n,flag=l;
double s
25、um=0;
scanf(%d",&n);
for(i = l;*< n ;i++){
sum+=flag*1.0*i/(2*i-l);
flag=-flag;
}
printf(.2f\n,sum);
return 0;
}
5.24根据用户输入的正整数n,求数列1, 2, 3, 5, & 13, 21,中第n项的值。
输入格式:
25
输出格式:
121393include int main (void)
{
int a = 1, 2b, c=,n, i;scanf(%d”,&n);
for(i = 3; i<=n; i++)
{
c =
26、 a + b;
a = b;
b = c;
}
printf(d\n,/ c);
return 0;
}
5.25输入一行字符,统计其中英文字母、数字字符、空格和其他字符的个数。
输入格式:
kf 3f5;p0 8d?
输出格式:
5424
include
int main(void)
{
char c;
int eng=0,dig=0,spac/o4hers=0;
scanf(''%c &c);
while (c!=n‘
{ if((c,a=&&c<= ,z')|| (c>='A'&&c<='Z'))
eng++;
else if
27、c>"&&c<='9')
dig++;
else if(c==*')
space++;
else
others++;
scan( % c%,&c);}
printf("%d %d %d %d\笃 eng’dig,space,others);
return 0;
}
5.26根据用户输入的正整数n,输出数列0,1, 2, 3, 6,11,
20, 37, 6…,中第n项的值。
输入格式:
4
34
3输出格式:
3
# include
void main()
{ int i,/a=b>bc=2dn; scanf%%d",&n);
for
28、i=4;i<=n;i++)
{d=a+b+c;
a=b;
b=c;
c=d;}
printf ("%d\n",d);
}
5.31输入若干整数,以-1结束,去掉最大值和最小值,求平均值,保留一位小数。
输入格式:13579
输出格式:
5.0
#inelude void main ()
{int score;
double sum=0,n=0 avg”max,min b;
scanf,%d,/&score);
max=mi n 二 b 二 score;while(score!=-l)
{if(score>max)
max=score;if(
29、scoreint main (void ){ int im n, temp,maxgy;
scanf,(d%d" / &m” &n);
if(m>n) {temp=m;m=n;n=temp;} for(i=m;i>=l;i-if(m%i==0&&n %i==0){ ma
30、xgy=i;break;}
printf(d\n,,maxgy);
return 0;
}
5.33输入两个正整数,求最小公倍数。
输入格式:5 15
输出格式:
15include int main (void )
{ int im nemp,maxgy;z
scanf ,(d%d,/ &ftl &n);
if(m 31、n,求n是几位数。输入格式:
1357
输出格式:
4 include main(void){
int n, sum = 0,k=0;scanf(%“d", &n);
while (n){
n /= 10;k++;
}printf盼d\n:k);
}
5.35输入一个正整数n,判断n是否为回文数。所谓回文数,是从左到右读这个数和从右到左读这个数是一样的。例如
98789是回文数。如果是,输出”yes”如果不是,则输出” no”。
输入格式:输出格式:Yes
include main(void)
{ int sum = 0,k=0;s
32、canf(%“d", &n);m 二 n;
while (m)
{sum = sum*10 + m%10;
m /= 10;}if (sum==n)
printfC'yes");
elseprintf("nq")
}
5.36根据输入的行数输出图案。例如,输入的行数为7,则输出如下图所示的图案(注:星号之间没有空格)。
输入格式:
5 输出格式:
*
***
****
include void main()(
int i,j,n;
scanf(”% d”,&n);
for(i=-n/2;i<=n/2;i++)(
for(j=l;j<=abs(
33、i);j++)printfC ");
for(j=l;j<=n-2*abs(i);j++)printf(" ")
printfCV)
}
}
6.11输入10个数到数组t中,求最小值及最小值在数组t中的下标。
输入格式:
9753102468
输出格式:05#inelude void main()
(int x[10]min jk;
for(i=0;i< 10;i++)
scanf("%d",&x[i]);
min=x[ 0];k=0;
for(j=l;j< 10;j++)
if(min>x[j]) (min=x[j];k=j;}printf(d
34、d\n,/min,k);
}
6.12输入10个数到数组t中,再输入乂,如果有与x相等的数组元素,输出该数组元素的下标;否则,输出输入格式:
9753102468
5
输出格式:
2
#include
void main()
(int t[10] jx,flag=0;
for(i=0;i< 10;i++)scanf(%“d",&t[i]);scanf(%“d",&x);
for (i=0;i<10;i++)
(if (x==t[i])
(flag=;l
printf(d l, i);break;
}
}
if(flag==O) print
35、f)C'T
}
6.13输入10个整数到数组t中,按升序排序,输出卞标为6的数组元素。
输入格式:
9753102468
输出格式:
6
#include
int main(void)
(
int jtemp;
for(i=0;i<10;i++)
scanf 吆 d”,&t[i]);
for(i = l;i<10;i++)
for(j=0;j<10-i;j++)
if(t[j]>t[j+l])
(
temp=t[j;]
tU]=tO+i]; t[j+l]=temp;
}
printf("%壮[6]);
return 0;
}
6.
36、14输入九个整数到数组t中数组长度为奇 数,将数组t中的数组元素倒置,输出倒置以后下标为5的数组元素。例如,数组t中九个数组元素依次为2、 4、6、8、9、7、
5、3、1,倒置以后九个数组元素依次为]、3、5、7、9、8、
6、4、2,下标为5的数组元素为8。已知变量声明和数组声明为"inti,tmp,t[9]要求不再声明其他的变量或数组。
输入格式:
975312468
输出格式:
3
#in clude
int main(void)
(
int timp,t[9];
for(i=0;i<9;i++)
scanf(% d“,&t[i]);
for
37、i=0;i<9/2;i++)
(
tmp=t[i];
t[i]=t[8-i];
t[8-i]=tmp;
}
printf昭d\rf t [5]);
return 0;
}
6.15求3行5列二维数组中每列数组元素的最小值,并 输出列下标为3的这一列的最小值。
输入格式:
-3 5 9
-8 4 8
3 5 -6
输出格式:
-7
#in clude
int main(void)
{
int i ⑶t5),max;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf(% d”,&t[i][j]);
ma
38、x=t[0][3];
for(i = l;i<3;i++)
if(max>=t[i][3])
max=t[i][3];
printf("%cT,max);
return 0;
}
6.16求3行5列二维数组中的最小值,及最小值在数组中的行号和列号,并输出。
输入格式:
31579
86420
13-131
输出格式:
-12 2
#include
int main(void)
{ inj,it[5)
for(i=0;i<3;i++) for(j=0;j<5;j++)
scanf(%“d“,&t[i][j]);
max=t[0][0];
39、for(i=0;i<3;i++)
for(j=0;j<5;j++)
if(max>t[i][j])
{max=t[i][j]; m=t; n }
printf("%d %d *%dnax /m /n);
return 0;
}
6.21输入10个数到数组t中,求最人值及最人值在数组t中的下标。
输入格式:
9753102468
输出格式:
90
#include
void main()
{
int i,amt[10],max;
for(i=0;i<10;i++)
scanf( %d",&t[i]);
max=t[0];a=0;
for(m
40、l;m<10;m++)
if(max41、ntffAdM5));
}
6.23输出数组s中字符串的子串,子串从s[begin开始,长
度为len
char s[80];
int begin len;
gets(s);
scanf,%d%d,/ &begin, &len);
输入格式:
how do you do?
49
输出格式:
do you do
int main(void)
{
char s[80];
intzbegin, len;
gets(s);
scanf,%d%d ,/ &begin, &len);
for(i=begin;i42、s[i]);
return 0;
}
6.24输入6个整数到数组t中,求最小值。
输入格式:
975310
输出格式:
0
#in clude
int main(void)
{
int a[6],i,min;
scanf(% d",&a[0]);
min=a[0];
for(i = l;i<6;i++)
{
scanf(%(r: &a[i]);
min=(min43、以后卞标为5的数组元素。例如,数组t中10个数组元素依次为1、3、5、7、9、8、6、4、2、0,倒置以后10个数组元素依次为0、 2、4、6、8、9、7、5、3、1,下标为5的数组元素为9。已知变量声明和数组声明为“inti,tmp,t[10要求不再声明其他的变量或数组。
输入格式:
9753102468
输出格式:
1
#include
int main(void)
{
int t[10tdmp;
for(i=0;i<10;i++)
scanf(% d%,&t[i]);
for(i=0;i<10/2;i++)
{
temp=t[i];
t[i]
44、t[10-l-i]; t[10-l-i]=temp;
}
printf(d\n,,t[5]);
return 0;
}
6.26 己知数组声明为 “int a[10] =0,{020,30, 40, 50,
60,70,80,90},; 20个数组元素是按升序排列的。输入一个整数n,如果没有与n相等的数组元素,输出-1;否则,删除与n相等的数组元素,要求剩余的九个数组元素是按升序排列的,输出下标为6的数组元素。
输入格式:
1
输出格式:
-1
#include
int main(void)
{ int a[10] = {0,10, 20, 30,
45、 40, 50, 60, 70, 80, 90};int n,i,flag=l;
scanf(%d”,&n);
for(i=0;i<10;i++)
if(n==a[i]) { flag=O; break; }if(flag==l) printfC'-lXn");else {
for(;i<10;i++)a[i]=a[i+l];
printf 盼d\n",a[6]);
}
return 0;
}
6.31求3行5列二维数组中每列数组元素的最人值,并 输出列下标为3的这一列的最大值。
输入格式:
-3 5 9
-8 4 8
3 5 -6
输出格式:
-2
#in c
46、lude
int main(void)
{
int i ⑶t5),max;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf(%“d",&t[i][j]); max=t[0][3];
for(i = l;i<3;i++)if(max<=t[i][3])
max=t[i][3];
print f(d\n,zmax);
return 0;
}
6.32判断数组s中的字符串是不是回文。一个字符串从左向右读和从右向左读是一样的,该字符串是回文。例如,字符串"abcdedcba'是回文。如果是,输出% yes%如果不是,则输出"no
47、
char s[80];
gets(s);
输入格式:
abcdcba
输出格式:
Yes
#in clude
#in cludeint main(void)
{char s[80];
int /t,flag=l;
gets(s);
t=strlen(s);
for(i=0;i48、
975310
输出格式:
9include int main(void)
{
int i,t[6],max;
for(i=0;i<6;i++)
scanf(% d”,&t[i]);
max=t[0];
for(i = l;i<6;i++)
if (max49、
Hello
(错了)
#include
int main(void)
{
int i=0:
char sl[80],s2[80];
printf输入一个字符串“);
gets(sl);
while(sl[i]!=/10')
{
s2[i]=sl[i];
i++;
}
s2[i]='!0‘
printf “复制的字符串为%);
puts(s2);
return 0;
}
6.35求3行5列二维数组中的最大值,及最人值在数组中的行号和列号,并输出。
return
0;
输入格式:
3 5 9
-8 4 8
3 5 -6
50、输出格式:
-101
# include
int main(void)
{
int i,j,t[3][5],max,m,n;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf(%“d“,&t[i][j]);
max=t[0][0];
for(i=0;i<3;i++)
for(j=0;j<5;j++)
if(max