程序设计题目集

更新时间:2023-09-16 14:58:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1输入一个正整数repeat (0

输入圆心坐标(x0,y0)和半径,再输入一个点的坐标(x,y),如果点(x,y)在该圆内(含圆周),输出\,否则,输出\。 例:括号内是说明 输入:

3 (repeat=3) -1 1 2 -1.3 2 -1 -1 1.8 -3 -1 0 0 1 1 0 输出:

YES NO

YES

#include \int main( ) {

int ri,repeat, flag; float x0,y0,r,x,y;

scanf(\ for(ri=1;ri<=repeat;ri++){

scanf(\ flag=0; if((x-x0)*(x-x0)+(y-y0)*(y-y0)<=r*r) flag=1;

if(flag) printf(\ else printf(\ } }

2输入一个正整数repeat (0

输入两个正整数 a 和 b(b>1),输出使 a≥b^n 成立的最大整数n。( b^n 即 b 的 n 次方)

例:括号内是说明 输入:

2 (repeat=2)

2000 4 (a=2000, b=4) 3 10 (a=3, b=10) 输出: 5

0

#include \

int main( )

{ int ri,repeat; int a,b,n,bn;

scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ n=0;bn=1; do{ bn=bn*b; n++; } while(a>=bn); printf(\ } }

3输入一个正整数repeat (0

输入1 个正整数 n, 计算并输出 s 的前n项的和(保留 3 位小数)。

S=1/1 + 1/3 + 1/7 + 1/15 + 1/31 +??(该序列从第2项起,每一项的分母与前一项的分母之差是一个等比数列) 例:括号内是说明 输入:

2 (repeat=2) 2 (n=2) 7 (n=7) 输出: 1.333 1.599

#include \#include int main( ) { int ri,repeat; int i,n; double x,s,t;

scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ t=1.0; s=0; x=1.0; for(i=1;i<=n;i++){ t=1.0/x;

s=s+t; x=x+pow(2,i); }

printf(\ } }

4从键盘输入3个数a、b、c,然后提示选择输入,如果输入为0,将按照它们的值从大到小顺序输出;如果输入为1,则按照它们的值从小到大的顺序输出。(要求使用编写的swap()函数)

例:括号内是说明 输入

2(repeat=2) 3 7 2 0 9 6 3 1 输出 7,3,2 3,6,9

#include

void swap(int *pa,int *pb); void main() { int a,b,c,flag,ri,repeat; int *pa=&a,*pb=&b,*pc=&c; scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ scanf(\ if(flag==1){ if(a>b) swap(pa,pb); if(a>c) swap(pa,pc); if(b>c) swap(pb,pc); } if(flag==0){ if(a

21.c程序填空。用结构类型表示时间内容(时间以时、分、秒表示),输入一个时间数值,再输入一个秒数n(n<60),以h:m:s的格式输出该时间再过n秒后的时间值(超过24点从0点开始计时)。 例: 输入 11:59:40 30 输出 12:0:10

#include void main( ) {

int n; struct{ int h,m,s; }time;

scanf(\&time.h,&time.m,&time.s); scanf(\/*---------*/

if(n+time.s>60){ time.s=time.s+n-60; time.m=time.m+1; if(time.m+1>=60){ time.m=0; time.h=time.h+1; } if(time.h>24) time.h=0; }

printf(\time.h,time.m,time.s); }

22.c程序填空。建立一个学生的结构记录,包括学号、姓名和成绩。输入整数n(n<10),

再输入n个学生的基本信息,要求计算并输出他们的平均成绩(保留2位小数)。 例: 输入 3

1 zhang 70 2 wang 80 3 qian 90 输出 80

#include void main( ) {

int n,i;

float sum ,average; struct student{ int num;

char name[10]; int score; }s[10];

scanf(\ /*---------*/ sum=0;

for(i=0;i

scanf(\re); sum=sum+s[i].score; }

average=sum/n;

printf(\}

23.c程序填空。建立一个通讯录的结构记录,包括姓名、生日、电话号码。输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序依次输出其信息。 例: 输入 3

zhang 19850403 13912345678 wang 19821020 0571-88018448 qian 19840619 13609876543 输出

wang 19821020 0571-88018448 qian 19840619 13609876543 zhang 19850403 13912345678

#include void main( ) {

int i,j,n,index; struct{

char name[20]; long birthday; char phone[20]; }temp, friends[10]; scanf(\ for(i=0;i

friends[i].name,&friends[i].birthday,friends[i].phone); /*---------*/

for(i=0;i

if(friends[j].birthday

for(i=0;i

printf(\i].birthday,friends[i].phone); }

31.才输入一个正整数repeat (0

s = 1/(2*3)-2/(3*4)+3/(4*5)-4/(5*6)+.... 例:括号内是说明 输入:

2 (repeat=2) 3 (n=3) 6 (n=6) 输出: 0.150 0.029

#include \int main( ) {

int ri,repeat; int i,n,flag; double s,t;

scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ for(i=0;ir[i+1]) count++; else if(i==n-1&&r[i]>r[i-1]) count++; else if(r[i]>r[i+1]&&r[i]>r[i-1]) count++; }

printf(\ /*---------*/ s=0;flag=1; for(i=1;i<= n;i++){ t=flag*i/((i+1.0)*(i+2.0)); s=s+t; flag=-flag; }

printf(\ } }

32.才输入一个正整数repeat (0

读入1 个正整数 n(n<=10),再读入n个整数并放入一个数组 r 中, 统计并输出比相邻元素大的数组元素的个数。 例:括号内是说明 输入:

2 (repeat=2) 5 9 3 5 1 2 (n=5) 4 1 2 3 5 (n=4) 输出:

count=3 (满足条件的数组元素有 9,5,2) count=1 (满足条件的数组元素只有 5) #include \int main( ) {

int ri,repeat;

int i,count,n,r[10]; scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ for(i=0;i

scanf(\/*---------*/ count=0; } }

33.C输入一个正整数repeat (0

2 (repeat=2)

6 1 2 9 9 1 20 (n=6) 2 10 99 (n=2) 输出: 1,2,9,9, 10,99,

#include \int main( ) { int ri,repeat; int a[100],i,m,n;

scanf(\ for(ri=1;ri<=repeat;ri++){ scanf(\ for (i=0;i

for(i=0; ia[i+1]) break; m=i+1; for(i=0; i

34.c编写一个函数,利用参数传入一个3

位数n,找出101~n间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。请同时编写主函数。 例:(括号内为说明) 输入

3(repeat=3) 250 句。

输入一个正整数repeat (0

输入一个整数n (n>=0)和一个双精度浮点数x,输出函数P(n,x)的值(保留2位小数)。

[1 (n=0) P(n,x)=[x(n=1) 500 999 输出 count=3 count=6 count=8

#include #include int search(int n); void main() { int n,ri,repeat; scanf(\ for(ri=1;ri<=repeat;ri++){ do{ scanf(\ }while(n<101||n>999); printf(\ } }

/*---------*/ int search(int n) { int i,j,count; count=0; for(i=101;i<=n;i++){ for(j=1;j

41.c程序填空,不要改变与输入输出有关的语[((2n-1)*P(n-1,x)-(n-1)*P(n-2,x))/n (n>1) 例:括号内是说明 输入

4 (repeat=2) 0 0.9 1 -9.8 2 3 10 1.7 输出

P(0, 0.90)=1.00 P(1, -9.80)=-9.80 P(2, 3.00)=4.00 P(10, 1.70)=3.05 #include

double p(int n, double x); int main() {

int repeat, i; int n;

double x, result;

scanf(\ for(i = 1; i <= repeat; i++) {

scanf(\ result = p(n, x);

printf(\result); } }

/*---------*/

double p(int n, double x) { double result; if(n==0) result=1; else if(n==1)

本文来源:https://www.bwwdw.com/article/a4xh.html

Top