C语言编程题汇集.docx
- 文档编号:18394806
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:35
- 大小:22.97KB
C语言编程题汇集.docx
《C语言编程题汇集.docx》由会员分享,可在线阅读,更多相关《C语言编程题汇集.docx(35页珍藏版)》请在冰点文库上搜索。
C语言编程题汇集
1、输入一组小写字母,将字母的ASCII码循环加5后输出结果。
用“fdfghjk”测试,编写程序求其结果并输出
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{chara[7];
inti;
scanf("%s",a);
for(i=0;i<7;i++)
{
a[i]=a[i]+5;
printf("%c",a[i]);
}
}
请在右边的文本框中输入程序运行的结果:
kilmop
1、计算:
s=1-2+3-4+5-6+……前20项之和,并输出结果(循环控制变量使用i)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti,s;
s=0;
for(i=1;i<=20;i++)
{
if(i%2)
s=s+i;
else
s=s-i;
}
printf("s=%d",s);
}
请在右边的文本框中输入程序运行的结果:
-10
2、求1!
+2!
+...+20!
之和s并输出。
(用for循环实现,循环变量用i,j表示)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
longi,s,j,x;
s=0;
for(i=1;i<=20;i++)
{
x=1;
for(j=1;j<=i;j++)
x=x*j;
s=s+x;
}
printf("s=%ld",s);
}
#include
main()
{
longints,j,k,x;
s=0;
x=1;
for(j=1;j<=20;j++)
{
x=x*j;
s=s+x;
}
printf("s=%ld",s);
}
请在右边的文本框中输入程序运行的结果:
268040729
1、计算1/3+1/6+1/9+1/12+……+1/99的值,(用for循环语句实现,循环变量用i表示,输出的是浮点型数据)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
floati,s,j;
s=0
for(i=1;i<=33;i++)
{
j=1/(3*i);
s=s+j;
}
printf("s=%f",s);
}
请在右边的文本框中输入程序运行的结果:
1.362933
2、用pi/4≈1-1/3+1/5-1/7+1/9+….公式求pi的近似值,直到最后一项的绝对值小于(0.0001)为止,输出的pi值保留6位小数。
(用while循环实现,循环变量用i表示)
#include
main()
{
floatpi=0,j=9;
inti=1;
while(j>0.0001)
{
j=1.0/(2*i-1);
if(i%2)
pi=j+pi;
else
pi=pi-j;
i++;
}
pi=pi*4;
printf("pi=%f",pi);
}
请在右边的文本框中输入程序运行的结果:
3.141794
1、计算3至100之间的素数的个数n并输出.(用for循环实现)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
intn,i,j,s;
n=0;
for(i=3;i<=100;i++)
{
for(j=2;j<=i;j++)
{
s=i%j;
if(s==0)break;
}
if(j==i)n=n+1;
}printf("n=%d",n);
}
请在右边的文本框中输入程序运行的结果:
24
2、按下面公式的前20000项,求π的近似值:
π/2=(1+1/(1*3))*(1+1/(3*5))*(1+1/(5*7))*(1+1/(7*9))*……
请将运算结果存入变量pi中。
部分程序已给出请按指定的变量将程序不完整的部分补充完整,循环部分用for来实现。
main()
{doublepi=1.0,s=1.0;/*s为各求和项*/
longi=1,j=3;
/*补充程序部分*/
printf("pi=%.7f\n",pi);}
请在右边的文本框中输入程序运行的结果:
#include
main()
{
doublepi=1.0,s=1.0;
longi=1,j=3;
for(;i<=40000;i++,j++)
{
s=1+1.0/(i*j);
pi=pi*s;
i++;
j++;
}
printf("pi=%.7f\n",pi);
}
1、计算1-1/2+1/4-1/6+1/8……的前10项的和,结果存放在变量s中并输出。
(用for循环语句实现)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
floatj,s=1.0;
inti;
for(i=1;i<=20;i++)
{
i++;
j=1.0/i;
if(i%4)s=s-j;
elses=s+j;
}
printf("s=%f",s);
}
请在右边的文本框中输入程序运行的结果:
0.677128
2、二维数组b[3][3]={5,3,9,45,12,-5,23,-3,10};求这个矩阵的主对线之和sum并输出。
部分程序已给出请按指定的变量将程序不完整的部分补充完整,循环部分用for来实现。
main()
{intb[3][3]={5,3,9,45,12,-5,23,-3,10},i,j,sum=0;/*程序补充部分*/printf("%d\n",sum);}
请在右边的文本框中输入程序运行的结果:
27
#include
main()
{
intb[3][3]={5,3,9,45,12,-5,23,-3,10},i,j,sum=0;
/*程序补充部分*/
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{if(i==j)
{sum=sum+b[i][j];}}
}
printf("%d\n",sum);
}
1、计算1-1/5+1/10-1/15+……+1/100的值s并输出。
(用while循环语句实现)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
floatj,s=1.0;
inti=1;
while(i<=20)
{
j=1.0/(i*5);
if(i%2)s=s-j;
elses=s+j;
i++;
}
printf("s=%f",s);
}
请在右边的文本框中输入程序运行的结果:
0.866246
1、用for循环求出y=3*20+6*19+9*18+12*17+...(i=1,2,3,4...)前20项的值,并输出值(循环变量用i表示)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti,sum,y;
for(i=1;i<=20;i++)
{
sum=(3*i)*(21-i);
y=y+sum;
}
printf("y=%d",y);
}
请在右边的文本框中输入程序运行的结果:
5442
2、求1!
+2!
+...+20!
之和s并输出。
(用for循环实现,循环变量用i,j表示)
#include
main()
{
longi,j,x,s;
s=0;
for(i=1;i<=20;i++)
{
x=1;
for(j=1;j<=i;j++)
x=x*j;
s=s+x;
}
printf("s=%ld",s);
}
请在右边的文本框中输入程序运行的结果:
268040729
1、输入4位正整数求各个数位上的数字之和(若输入2344,则输出13=(2+3+4+4))问若输入5326,求出其结果并输出。
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
intx,sum,a,b,c,d;
printf("Pleaseenteranumber\n");
scanf("%d",&x);
a=x/1000;
b=(x-a*1000)/100;
c=(x-a*1000-b*100)/10;
d=x-a*1000-b*100-c*10;
sum=a+b+c+d;
printf("sum=%d",sum);
}
请在右边的文本框中输入程序运行的结果:
16
2、输出6~1000之间的完数的个数n。
(1个数的因子和等于其自身的数:
6=1+2+3、28=1+2+4+7+14,则6、28都是完数,用for循环实现)。
#include
main()
{
inti,j,sum,n=0;
for(i=6;i<=1000;i++)
{
sum=0;
for(j=1;j
if((i%j)==0)sum=sum+j;
if(sum==i)n=n+1;
}
printf("n=%d",n);
}
请在右边的文本框中输入程序运行的结果:
3
1、用for循环求出m=236,n=568两个数的最大公约数并输出这个最大公约数。
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
intm=236,n=568,q;
for(;q!
=0;)
{
q=n%m;
n=m;
m=q;
}
q=n;
printf("q=%d",q);
}
请在右边的文本框中输入程序运行的结果:
4
2、求m=96,n=36两个数的最小公倍数y并输出这个最小公倍数,用函数调用和for循环实现。
#include
main()
{
intm=96,n=36,p;
for(;p!
=0;)
{
p=n%m;
n=m;
m=p;
}
p=(96*36)/n;
printf("p=%d",p);
}
请在右边的文本框中输入程序运行的结果:
288
1、求Fibonacci数列的前20项的和。
Fibonacci数列的第一、二项均为1,从第三项开始,每一项都是前面两项之和。
即1,1,2,3,5,8,13,21,34,55……。
(用for循环和数组a实现,结果放在s中)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti,s,a[3]={1,1};
s=0;
for(i=1;i<=20;i++)
{
a[2]=a[0]+a[1];
s=s+a[2];
a[0]=a[1];
a[1]=a[2];
}
printf("s=%d",s);
}
1、输出水仙花数的个数.(水仙花数是指三位数,用while循环,循环变量用i,结果放在n中。
)注:
形如153=1^3+5^3+3^3的数为水仙花数.
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti=100,n=0,a,c,b;
while(i<=999&&i>=100)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(i==a*a*a+b*b*b+c*c*c)
n=n+1;
i++;
}
printf("n=%d",n);
}
1、求数列1,1/3,1/5,1/7,……的前20项的和。
(用for循环语句实现,循环变量用i表示)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti;
floatj,s=0;
for(i=1;i<=39;i++)
{
j=1.0/(2*i-1);
s=s+j;
}
printf("s=%f",s);
}
请在右边的文本框中输入程序运行的结果:
2.813550
1、求出y=1/3+3/6+5/9+7/12+9/15...前10项的和并输出y(for循环变量用i表示)
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti;
floatj,y=0;
for(i=1;i<=10;i++)
{
j=1.0/(3*i);
y=y+j;
}
printf("y=%f",y);
}
请在右边的文本框中输入程序运行的结果:
0.976323
1、计算s=1+3+5+7+9+……前50项的和s并输出。
(循环控制变量i)。
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti,j,s=0;
for(i=1;i<=50;i++)
{
j=2*i-1;
s=s+j;
}
printf("s=%d",s);
}
请在右边的文本框中输入程序运行的结果:
2500
2、有三个平顶圆塔,圆塔的圆心分别为(3,2),(-2,2),(-3,-5),圆半径为2。
三个塔高度都为12m。
塔外无建筑物(即高度为0),问点(0.5,0.6)的高度。
#include
#include
#defineH12
main()
{
floatx,y,d1,d2,d3,h;
scanf("%f,%f",&x,&y);
d1=sqrt((x-3)*(x-3)+(y-2)*(y-2));
d2=sqrt((x+2)*(x+2)+(y-2)*(y-2));
d3=sqrt((x+3)*(x+3)+(y+5)*(y+5));
if(d1<=2)
h=(2-d1)*H/2;
elseif(d2<=2)
h=(2-d2)*H/2;
elseif(d3<=2)
h=(2-d3)*H/2;
elseh=0;
printf("h=%f",h);
}
请在右边的文本框中输入程序运行的结果:
0.000000
1、计算1-1/3+1/5-1/7+1/9……的前10项的和,结果存放在变量s中,并输出s。
(用for循环实现,循环变量用i表示)。
请您在下面的文本编辑框中填入自己编写的程序内容:
#include
main()
{
inti;
floats=0.0,j;
for(i=1;i<=10;i++)
{
j=1.0/(2*i-1);
if(i%2)s=s+j;
elses=s+j;
}
printf("s=%f",s);
}
请在右边的文本框中输入程序运行的结果:
2.133256
2、补充自定义函数f,它是用来计算代数多项式:
s=1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x+……
部分程序及主函数下列已给出,输入的数据是:
1.7,5
floatf(floatx,intn)
{inti;
floatsum=1.1,j=x,s;
/*sum控制数列的和,j控制x*x*x…形式,s控制2.2,3.3…形式*/for(i=2;i<=n;i++)
/*补充程序处*/
for(i=2;i<=n;i++)
{
s=i*1.1;
sum=sum+s*j;
j=j*x;
}
return(sum);
}
main()
{intn;
floatx,sum;
scanf("%f,%d",&x,&n);
sum=f(x,n);
printf("%f\n",sum);
}
请在右边的文本框中输入程序运行的结果:
81.930756
2、将输入的小于20个字符的字符串在原数组中倒序后并输出。
部分程序已给出请按指定的变量将程序不完整的部分补充完整,循环部分用for来实现,字符串要成串输入与输出。
输入的字符串为"teacher"
#include<stdio.h>
main()
{chara[20],ch;
inti,j,b;/*b用来存放字符串的长度,j用来存入数组最大的下标号*/
/*程序补充部分*/}
#include
main()
{
chara[20],ch;
inti,j,b;
gets(a);
b=strlen(a);
j=b-1;
for(i=0;i<=b/2;i++)
{ch=a[i];
a[i]=a[j-i];
a[j-i]=ch;}
puts(a);
}
#include
main()
{
chara[20],ch;
inti,j,b;
gets(a);
b=strlen(a);
j=b-1;
for(i=j;i>=0;i--)
printf("%c",a[i]);
}
请在右边的文本框中输入程序运行的结果:
rehcaet
2、函数fun的功能是:
统计在字符串a中,以下指定字符出现的次数,并存到b数组中,其中:
字符'+'出现的次数存到b[0]中,字符'-'出现的次数存到b[1],字符'*'出现的次数存到b[2],字符'/'出现的次数存到b[3],字符'&'出现的次数存到b[4],其它字符出现的次数存到b[5]中。
例如,当a字符串中的字符串为:
"-+*1-a/&b"时,调用该函数后,b中存放的数据应是:
1、2、1、2、1、3。
注意:
部分源程序已给出。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
程序中所用循环使用for循环,循环变量使用i
请输入字符串a:
"-+*1-a/&b-+*1-a/",求出输出结果。
#include<string.h>
#include<conio.h>
voidfun(char*a,intb[])
{
/*填程序处*/
}
main()
{
inti,b[6];
char*a;
scanf("%s",a);
clrscr();
fun(a,b);
for(i=0;i<6;i++)printf("%d,",b[i]);
printf("\n");
}
#include
#include
voidfun(char*a,intb[])
{
char*c=a;
inti;
for(i=0;i<6;i++)
b[i]=0;
for(;*c!
='\0';c++)
{
if(*c=='+')b[0]=b[0]+1;
elseif(*c=='-')b[1]=b[1]+1;
elseif(*c=='*')b[2]=b[2]+1;
elseif(*c=='/')b[3]=b[3]+1;
elseif(*c=='&')b[4]=b[4]+1;
elseb[5]=b[5]+1;
}
return;
}
main()
{
inti,b[6];
char*a;
scanf("%s",a);
clrscr();
fun(a,b);
for(i=0;i<6;i++)
printf("%d,",b[i]);
printf("\n");
}
请在右边的文本框中输入程序运行的结果:
242215
2、函数fun的功能是:
将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:
成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。
例如,当a数组中的数据是:
93、85、77、68、59、43、94、75、98。
调用该函数后,b数组中存放的数据应是:
1、2、1、3、0、2。
注意:
部分源程序已给出。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
程序中所用循环使用for循环,循环变量使用i
请输入a数组内容:
93、85、77、68、59、43,求出输出结果。
#include<conio.h>
voidfun(inta[],intb[],intn)
{
/*填程序处*/
}
main()
{inti,b[6],a[6];
for(i=0;i<6;i++)scanf("%d",a+i);
clrscr();
fun(a,b,6);
for(i=0;i<6;i++)printf("%d,",b[i]);
printf("\n");
}
#include
voidfun(inta[],intb[],intn)
{
/*填程序处*/
inti;
for(i=0;i<6;i++)
b[i]=0;
for(i=0;i<6;i++)
{
if(a[i]==100)
b[4]=b[4]+1;
elseif(a[i]<=99&&a[i]>=90)
b[3]=b[3]+1;
elseif(a[i]<=89&&a[i]>=80)
b[2]=b[2]+1;
elseif(a[i]<=79&&a[i]>=70)
b[1]=b[1]+1;
elseif(a[i]<=69&&a[i]>=60)
b[1]=b[1]+1;
elseb[5]=b[5]+1;
}
return;
}
main()
{inti,b[6],a[6];
for(i=0;i<6;i++)
scanf("%d",a+i);
clrscr();
fun(a,b,6);
for(i=0;i<6;i++)
printf("%d,",b[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 汇集