程序设计练习题及代码

合集下载

50道C++编程练习题及解答-c编程例题

50道C++编程练习题及解答-c编程例题

50道C++编程练习题及解答-c编程例题C++作为一种广泛应用的编程语言,通过大量的练习可以帮助我们更好地掌握其编程技巧和逻辑思维。

以下是为您精心准备的 50 道 C++编程练习题及详细解答,希望能对您的学习有所帮助。

练习题 1:计算两个整数之和题目描述:编写一个 C++程序,输入两个整数,计算它们的和并输出。

```cppinclude <iostream>using namespace std;int main(){int num1, num2, sum;cout <<"请输入第一个整数:";cin >> num1;cout <<"请输入第二个整数:";cin >> num2;sum = num1 + num2;cout <<"这两个整数的和为:"<< sum << endl;return 0;}```练习题 2:判断一个数是否为偶数题目描述:编写一个 C++程序,输入一个整数,判断它是否为偶数。

```cppinclude <iostream>using namespace std;int main(){int num;cout <<"请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << num <<"是偶数" << endl;} else {cout << num <<"不是偶数" << endl;}return 0;}```练习题 3:打印 1 到 100 之间的所有奇数题目描述:编写一个C++程序,打印出1 到100 之间的所有奇数。

```cppinclude <iostream>using namespace std;int main(){for (int i = 1; i <= 100; i++){if (i % 2!= 0) {cout << i <<"";}}cout << endl;return 0;}```练习题 4:计算一个整数的阶乘题目描述:编写一个 C++程序,输入一个整数,计算它的阶乘。

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

程序代码练习题

程序代码练习题

程序代码练习题简介:本文档提供了一系列用于练编程技能的程序代码练题。

这些练题旨在帮助研究者提高编码能力,加深对编程语言的理解,并培养问题解决能力。

练题列表:1. 两数之和- 描述:给定一个整数列表和一个目标值,找出列表中两个数的和等于目标值的索引,返回这两个数的索引。

- 示例输入:nums = [2, 7, 11, 15], target = 9- 示例输出:[0, 1]- 难度等级:简单2. 反转字符串- 描述:将给定的字符串反转。

- 示例输入:s = "hello"- 示例输出:olleh- 难度等级:简单3. 斐波那契数列- 描述:根据给定的整数n,打印斐波那契数列的前n个元素。

- 示例输入:n = 5- 示例输出:0, 1, 1, 2, 3- 难度等级:简单4. 最大子序和- 描述:给定一个整数列表,找到具有最大和的连续子数组,并返回其和。

- 示例输入:nums = [-2, 1, -3, 4, -1, 2, 1, -5, 4]- 示例输出:6- 难度等级:中等5. 有效的括号- 描述:给定一个只包含 '(',')','{','}','[',']' 的字符串,判断字符串是否有效,即括号是否配对完整。

- 示例输入:s = "()[]{}"- 示例输出:true- 难度等级:简单以上练题仅是一小部分,每个练题都有不同的难度等级,从简单到困难不一,希望能够帮助你提升编程能力。

注意:以上练题的示例输入和示例输出仅供参考,实际运行结果可能会有所不同,请在编写代码时自行进行测试和验证。

#Python程序语言设计基础(第二版)程序练习题

#Python程序语言设计基础(第二版)程序练习题

#Python程序语⾔设计基础(第⼆版)程序练习题Python程序语⾔设计基础(第⼆版)程序练习题3.1 重量计算,⽉球上物体的体重是在地球上的16.5%,假如你在地球上每年增长0.5kg,编写程序输出未来10年你在地球和⽉球上的体重状况。

current_weight = float(input('当前体重kg:'))for i in range(1,11):current_weight += 0.5moon_weight = current_weight*16.5/100print('第{:d}年,地球体重{:.2f}kg,⽉球体重{:.2f}kg'.format(i,current_weight,moon_weight))运⾏结果:当前体重kg:50第1年,地球体重50.50kg,⽉球体重8.33kg第2年,地球体重51.00kg,⽉球体重8.41kg第3年,地球体重51.50kg,⽉球体重8.50kg第4年,地球体重52.00kg,⽉球体重8.58kg第5年,地球体重52.50kg,⽉球体重8.66kg第6年,地球体重53.00kg,⽉球体重8.74kg第7年,地球体重53.50kg,⽉球体重8.83kg第8年,地球体重54.00kg,⽉球体重8.91kg第9年,地球体重54.50kg,⽉球体重8.99kg第10年,地球体重55.00kg,⽉球体重9.07kg3.2 天天向上续。

尽管每天坚持,但⼈的能⼒发展并不是⽆限的,它符合特定模型。

假设能⼒增长符合如下带有平台期的模型:以7天为周期,连续学习3天能⼒值不变,从第四天开始⾄第七天每天能⼒增长为前⼀天的1%。

如果7天中有1天间断学习则周期从头计算。

请编写程序回答,如果初始能⼒值为1,连续学习365天后能⼒值是多少?initial_value = 1for i in range(365):if i%7 in [4,5,6,0]:initial_value = initial_value*(1+0.01)print('{:.5f}'.format(initial_value))运⾏结果:8.00142天天向上续。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

50道C++编程练习题及解答

50道C++编程练习题及解答

50道C/C++编程练习题1、输入3个数,求最大值int main(){ int a,b,c,m;cin>>a>>b>>c;m=a;if(b>m) m=b;if(c>m) m=c;cout<<m;}2、编程序,求方程ax2+bx+c=0的根#include<iostream>#include<cmath>using namespace std;int main(){double a,b,c,d,x1,x2;cin>>a>>b>>c;if(a==0)if(b==0) cout<<"error\n";else cout<< "x="<<-c/b<<endl;else{ d=b*b-4*a*c;if(fabs(d)<=1e-6)cout<<"x1=x2="<<-b/(2*a)<<endl;else if(d>1e-6){ x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<",x2="<<x2<<endl; }else cout<<"方程无实根\n";}}3、输入一个成绩,打印相应的等级int main(){ int a;cin >> a;if(a>=90) cout<<"A";else if(a>=80) cout<<"B";else if(a>=70) cout<<"C";else if(a>=60) cout<<"D";else cout<<"E";} 4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。

java程序设计练习题

java程序设计练习题

《java程序设计》1.填空题(1)Java程序编译成(class )文件(2)Java程序在(JVM )上执行(3)Java程序的执行方式是(半编译和半解释型)执行的(4)在Java程序中,创建对象的操作是(new )(5)在Java语言中,指明一个类从父类派生的关键字是(extends )(6)线程是进程中的一个执行(单元)(7)在Java语言中,指代父类的关键字是(super )(8)表明一个变量是数组的符号是([] )(9)在Java程序中,用关键字(import )引入其它文件中的类(10)在Java程序中定义包的关键字为(package )2.简答题(1)简述Java语言的特点。

答:Java语言的特点有以下几点:1.简单性。

2.面向对象。

3.平台无关性。

4.可移植性。

5.解释性。

6.离性能。

7.动态性。

8.可靠性和安全性。

9.多线程。

10.分布式处理。

(2)简述面向对象程序设计的三大基本特点。

(3)答:封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。

封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。

继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。

多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。

(4)解释Java程序跨平台的原理。

答:ava源码--->JVM虚拟机编译---->.class文件--->各个平台的Java虚拟机加载执行.class文件Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class 文件,也就是Java程序的跨平台性。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)
I begin to study C language.
四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。
1.(1)Void应为void;(2)INT应为int;(3)“/* COMPUTE RESULT”后缺少“*/”;(4)“printf ("The answer is %i\n" sum);”应为“printf ("The answer is %d\n" ,sum);”
①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。如图1-2所示
图1-2选择新建
②在弹出的新建对话框中设置好相应的内容,如图2-2所示。要事先准备好保存文件的目录,例d:\lx目录。在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C语言程序的扩展名“.c”。设置好后,单击“OK”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c文件存放在D盘的LX目录下。
int main (void)
{
printf ("This is my first C program.\nAnd programming in C is even more fun.\n");
return 0;
}
实验4(1)计算33+56的和。
解题思路:将例1.2中变量值改为33与56代码如下:
#include <stdio.h>
int main( )
{int a,b,c;
a=2;b=3;
C=a+b;错误:C未定义
printf(“%d+%d=%d\n”,a,b,c);
return 0;
}
运行结果:2+3=5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计基础题3.1鸡兔同笼一共有40只脚,求鸡兔各有多少只,总共有多少种组合。

#include<stdio.h>main(){int i,j,x=0;for(i=0;i<=10;i++){for(j=0;j<=20;j++){if((4*i+2*j)==40){printf("兔的只数为:%d 鸡的只数:%d\n",i,j);x++;}}}Printf("组合数:%d\n",x);}3.2换零钱.把一元钱全兑换成硬币(1分2分5分),有多少种兑换方法#include<stdio.h>main(){int one,two,five;for(one=1;one<=100;one++){for(two=0;two<=50;two++){for(five=0;five<=20;five++){if(one+2*two+5*five==100){printf("一分:%d 二分:%d 五分:%d\n",one,two,five);}}}}}3.3已知A>B>C>0,A,B,C为整数,且A+B+C<100。

求满足1/A2 + 1/B2= 1/C2的A,B,C共有多少组。

#include<stdio.h>main(){int A,B,C;for(A=1;A<100;A++){for(B=1;B<100;B++){for(C=1;C<100;C++){if(((A+B+C)<100)&&((1.0/(A*A))+(1.0/(B*B))==(1.0/(C*C)))){printf("A=%d B=%d C=%d\n",A,B,C);}}}}}3.4设abcd*e=dcba,(a非0,e非0非1),求满足条件的整数abcd与e#include<stdio.h>main(){int a,b,c,d,e;for(a=1;a<9;a++){for(b=0;b<9;b++){for(c=0;c<9;c++){for(d=0;d<9;d++){for(e=2;e<9;e++){if(((a*1000+b*100+c*10+d))*e==(d*1000+c*100+b*10+a)){printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e);}}}}}}}3.5因子之和等于它本身的数为完数。

如:28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28为完数。

求[2,1000]中的完数。

#include<stdio.h>main(){int i,j,x;for(i=2;i<=1000;i++){x=0;for(j=1;j<i;j++){if(i%j==0){x=x+j;}}if(x==i){printf("%d\n",i);}}}3.6将一个整数分解为1、质因子或本身之积。

如5=1*5,8=1*2*2*2#include<stdio.h>main(){int x,i=2,j;scanf("%d",&x);printf("%d=1",x);while(x!=1){if(x%i==0){printf("*%d",i);x=x/i;}else{i++;}}}3.7求1000以内亲密数对。

亲密数对的定义是:若正整数a的所有因子之和为b,b的所有因子之和为a,且a!=b,则称ab互为亲密数对。

如:220的因子之和1+2+4+…+110=284284的因子之和1+2+…+142=220#include<stdio.h>main(){int i,j,k;int x,y,n,m;int a[100],b[100];for(i=7;i<1000;i++){x=0,y=0,n=0,m=0;for(j=2;j<i;j++){if(i%j==0){a[n++]=j;x=x+j;}}for(j=2;j<x;j++){if(x%j==0){b[m++]=j;y=y+j;}}if(y==i&&i<x){printf("%d的因子之和为:1",i);for(k=0;k<n;k++){printf("+%d",a[k]);}printf("=%d\n",x);printf("%d的因子之和为:1",x);for(k=0;k<m;k++){printf("+%d",b[k]);}printf("=%d\n\n\n",y);}}}3.8用二分法求方程在(-10,10)之间的根. 2x3-4x2+3x-6=0 #include<stdio.h>#include<math.h>main(){double x1=-10,x2=10,middle;double y1,y2,ym;while((x2-x1)>=0.00001){middle=(x1+x2)/2;y1=2*pow(x1,3)-4*pow(x1,2)+3*x1-6;y2=2*pow(x2,3)-4*pow(x2,2)+3*x2-6;ym=2*pow(middle,3)-4*pow(middle,2)+3*middle-6;if((y1/ym)>0){x1=middle;}elsex2=middle;}printf("%lf\n",(x1+x2)/2);}3.9一个球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次落地后,共经过多少米?第10次反弹多高?#include<stdio.h>main(){double H=100,high=0,x=0;int i;for(i=1;i<=10;i++){x=x+H+high;H=H/2;high=H;}printf("共经过多少米:%f米\n第10次反弹多高度:%f米\n",x,H);}3.10猴子吃桃子.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天将剩下的桃子吃掉一半,又多吃了一个.以后每天都吃了前一天剩下的一半零一个.到第十天再想吃时,发现只剩下一个桃子.求第一天共摘多少桃子?#include<stdio.h>main(){int num=1,i;for(i=10;i>1;i--){num=(num+1)*2;}printf("第一天共摘%d个桃子\n",num);}3.11打印形状为直角三角形的九九乘法表#include<stdio.h>main(){int i,j,x;for(i=1;i<10;i++){for(j=1;j<=i;j++){x=j*i;printf("%d*%d=%2d ",j,i,x);}printf("\n");}}3.12求s=a+aa+aaa+……+aa...a之值(n个a),其中a是一个一位整数.n如:2+22+222+2222+22222+......#include<stdio.h>void main(){int Sn=0,s=0,a,n;int i;printf("请输入a,n:\n");scanf("%d",&a);scanf("%d",&n);for(i=0;i<n;i++){s=s+a;Sn=Sn+s;s=s*10;}printf("Sn=%d\n",Sn);}3.13利用循环,打印除如下图案。

ababcabcd{char a[6]={'a','b','c','d','e','f'};int i,j,x=0;int n=sizeof(a)/sizeof(a[0]);printf("n=%d",n);printf("模式一:\n");for(i=0;i<6;i++){for(j=0;j<=i;j++){printf("%c",a[j]);}printf("\n");}printf("模式二:\n");for(i=0;i<3;i++){for(j=0;j<2-i;j++){printf("");}for(j=0;j<i+1;j++){printf("%c",a[x]);x++;}printf("\n");}printf("模式三:\n");x=0;for(i=0;i<3;i++){for(j=0;j<2-i;j++){printf("");}for(j=0;j<i+1;j++){printf("%c ",a[x]);x++;}printf("\n");}}4.1用函数(传值和传址两种方式)实现2.2,2.3, 2.5,2.6, 2.9,2.10.2.2#include<stdio.h>int Sum(int n){int s=0,i;for(i=1;i<=n;i++){s=s+i;}return s;}void main(){int n,s;scanf("%d",&n);s=Sum(n);printf("前n项和为:%d\n",s);}2.3#include<stdio.h>int Sum(int n){int s=0,i,j=1,k=1;for(i=1;i<=n;i++){s=s+j*k;k=(-1)*k;j=j+2;}return s;}void main(){int n=100,s;s=Sum(n);printf("前100项和为:%d\n",s); }2.5#include<stdio.h>long Sum(int n){int i;long s=1;for(i=1;i<=n;i++){s=s*i;}return s;}void main(){int n;long s=1;scanf("%d",&n);printf("n=%d\n",n);s=Sum(n);printf("n!:%ld\n",s);}2.6#include<stdio.h>long Sum(int n){int i;long S=0,s=1;for(i=1;i<=n;i++){s=s*i;S=S+s;}return S;}void main(){int n;long s=1;scanf("%d",&n);printf("n=%d\n",n);s=Sum(n);printf("和为:%ld\n",s);}2.9#include<stdio.h>int Prime(int n){int i,k=1;for(i=2;i<n;i++){if(n%i==0){k=0;break;}}return(k?1:0);}void main(){int n,k;scanf("%d",&n);k=Prime(n);if(k==0){printf("%d不是素数!\n",n);}else{printf("%d是素数!\n",n);}}2.10#include<stdio.h>#include<stdlib.h>void Primescope(int n,int m){int i,j,k;for(i=n;i<=m;i++){k=0;for(j=2;j<i;j++){if(i%j==0){k=0;break;}else k=1;}if(k==1){printf("%d\n",j);}}}void main(){int n,m;printf("请输入想要的素数范围:\n");scanf("%d",&n);scanf("%d",&m);printf("%d到%d范围内的素数为:\n",n,m);if(n>=m){printf("输入错误!\n");exit(0);}Primescope(n,m);}5.1输入一个字符串,求字母,数字其它字符的个数.#include<stdio.h>int Num(char *p){int num=0,word=0,other=0;while(*p!='\0'){if('a'<=*p&&*p<='z'||'A'<=*p&&*p<='Z'){num++;}else if ('0'<=*p&&*p<='9'){word++;}else other++;p++;}printf("字母个数:%d\n",word);printf("数字个数:%d\n",num);printf("其他字符个数:%d\n",other);return num;}void main(){char a[50];char *p=a;gets(a);Num(p);}5.2输入一个十六进制数,转换成十进制输出.#include<stdio.h>#include<stdlib.h>int Transform(char a[]){int i,j,n=0;char *p=a;int x,X=0;while(*p!='\0'){p++;n++;}p--;for(i=0;i<n;i++){x=(int)*(p--);if(x>57){switch(x){case 65:x=10;break;case 66:x=11;break;case 67:x=12;break;case 68:x=13;break;case 69:x=14;break;case 70:x=15;break;default :printf("输入错误!"),exit(0);}}else{x=x-48;}for(j=1;j<=i;j++){x=x*16;}X=X+x;}return X;}void main(){char a[20];int X;printf("请输入十六进制数(大写表示):\n");scanf("%s",a);X=Transform(a);printf("转换后:%d\n",X);}5.3求Fibonacci数列的前20项.a1=1,a2=1,a3=a1+a2,..., an=an-1+an-2#include<stdio.h>void Fibonacci(){int a1=1,a2=1,i,t;printf("%d\n",a1);printf("%d\n",a2);for(i=3;i<=20;i++){t=a2;a2=a1+a2;a1=t;printf("%d\n",a2);}}int main(){int n;Fibonacci();}5.4将一个整型数组中的元素逆置. #include<stdio.h>void Swap(int a[],int n){int i,t;printf("\n逆置前:\n\t");for(i=0;i<n;i++){printf("%d ",a[i]);}for(i=0;i<(n/2);i++){t=a[n-i-1];a[n-i-1]=a[i];a[i]=t;printf("\n逆置后:\n\t");for(i=0;i<n;i++){printf("%d ",a[i]);}printf("\n");}void main(){int a[]={1,2,3,4,5,6,7,8,9};int n=sizeof(a)/sizeof(a[0]);Swap(a,n);}5.5求一个数组中最大、最小元素的值以及下标. #include<stdio.h>void Find(int a[],int n){int i,max=0,min=0;for(i=0;i<n;i++){if(a[i]>a[max]){max=i;}if(a[i]<a[min]){min=i;}}printf("最大值%d 下标:%d\n",a[max],max);printf("最小值%d 下标:%d\n",a[min],min); }void main(){int a[]={7,5,3,9,2,1,6,4,8};int n=sizeof(a)/sizeof(a[0]);Find(a,n);}5.6求一个数组中的最大、次大元素的值以及下标. #include<stdio.h>void Find(int a[],int n){int i,max=0,secondly=0;for(i=0;i<n;i++){secondly=i;if(a[i]>a[max]){max=i;}}printf("最大值%d 下标:%d\n",a[max],max);printf("次大值%d 下标:%d\n",a[secondly],secondly);}void main(){int a[]={7,5,3,9,2,1,6,4,8};int n=sizeof(a)/sizeof(a[0]);Find(a,n);}5.7已知一个数组中的元素按非递减有序排列,现要向其中插入一个元素,要求数组仍然有序.#include<stdio.h>void Insert(int a[],int x,int n){int i;a[n+1]=x;for(i=8;i>=0&&x<a[i];i--){a[i+1]=a[i];}a[i+1]=x;}void main(){int a[10]={1,3,4,5,7,9,11,13,17};int i,n,x;n=sizeof(a)/sizeof(a[0]);printf("请输入要插入的元素:");scanf("%d",&x);Insert(a,x,8);printf("\n");for(i=0;i<n;i++){printf("%d\n",a[i]);}}5.8将一个整型数组中重复的元素删除,并计算剩下元素的个数。

相关文档
最新文档