输入十个整数并按从小到大排序C语言函数
C语言编程题
四、编写程序题及参考答案导读:虽然题目基本按照教材章节顺序排列的,但是把同类题目尽量排在一起,便于读者学习掌握编程方法和思路,提高自己的编程能力。
【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。
若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。
其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
【4.10】输入n值,输出如图所示边长为n的空心正六边型。
【4.11】输入n值,输出如图所示图形。
【4.12】输入n值,输出如图所示图形。
【4.13】输入n值,输出如图所示图形。
【4.14】输入n值,输出如图所示图形。
【4.15】输入n值,输出如图所示图形。
上一页下一页【4.16】输入n值,输出如图所示图形。
(例为n=6时)【4.17】编写程序,输出如图所示sin(x) 函数0到2π的图形。
【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。
【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。
西北农林科技大学C语言上机实习5答案
实习五答案1、用指针实现排序/* exer 5-1 由键盘输入10个整数,将它们按由小到大顺序排列*/ 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。
输入:键盘输入的10个整数。
输出:按由小到大的顺序排列。
输入样例:1 5 4 3 2 9 23 11 5 7输出样例:1 2 3 4 5 5 7 9 11 23#include<stdio.h>void main(void){int a[10],*p = NULL; /* 说明数组和指针*/int i, j, temp;for(p = a; p < a + 10; p++) /* 指针从数组首到尾*/ {scanf("%d", p); /* 利用指针依次输入*/ }p = a;for(i = 0; i < 9; i++) /* 利用指针依次比较*/{for(j = i + 1; j < 10; j++)if(*(p + i) > *(p + j)){temp = *(p + i);*(p + i) = *(p + j);*(p + j) = temp;}}for(p=a; p < a + 9; p++)printf("%d ", *p);printf("%d\n", *p);}2、用指针实现字符串排序/*exer 5-2 将10个长度小于20的字符串排序*/用指针实现:将10个字符串(设其长度小于20)从小到大排序。
输入:10个字符串。
输出:排序后的10个字符串。
输入样例:ijkjkldefghidefcdehijdefefgfgh输出样例:cdedefdefdefefgfghghihijijkjkl提示:①定义二维字符数组和指向该数组的指针数组;②用循环使指针数组的元素指向二维字符数组各行首;③用循环为指针数组元素赋字符串为值;④用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。
输入10个数,用“起泡法”对10个数排序(由小到大)
输入10个数,用“起泡法”对10个数排序(由小到大)。
“起泡法”算法:以六个数9、8、5、4、2、0为例。
第1趟比较(p83,图6.1)第2趟比较(p84,图6.2)第1趟比较后,剩5个数未排好序;两两比较5次第2趟比较后,剩4个数未排好序;两两比较4次第3趟比较后,剩3个数未排好序;两两比较3次第4趟比较后,剩2个数未排好序;两两比较2次第5趟比较后,全部排好序;两两比较1次算法结论:对于n个数的排序,需进行n-1趟比较,第j趟比较需进行n-j次两两比较。
程序流程图:(用两层嵌套循环实现)程序:设需排序的数有10个,定义数组大小为11,使用a[1]~a[10]存放10个数,a[0]不用。
main()int a[11]; /* 用a[1]~a[10], a[0]不用*/int i,j,t;/* i,j作循环变量,t作两两比较的临时变量*/printf("input 10 numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);/* 输入10个整数*/printf("\n");for(j=1;j<=9;j++) /* 第j趟比较*/for(i=1;i<=10-j; i++) /* 第j趟中两两比较10-j次*/if (a[i] > a[i+1]) /* 交换大小*/{ t = a[i]; a[i] = a[i+1]; a[i+1] = t; }printf("the sorted numbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);}。
2011年计算机二级C语言编写程序题及答案解析精选1
2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。
若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1op data2。
其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
【4.10】输入n值,输出如图所示边长为n的空心正六边型。
【4.11】输入n值,输出如图所示图形。
【4.12】输入n值,输出如图所示图形。
【4.13】输入n值,输出如图所示图形。
【4.14】输入n值,输出如图所示图形。
【4.15】输入n值,输出如图所示图形。
【4.16】输入n值,输出如图所示图形。
(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。
【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。
【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。
若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。
C语言程序大全
四、编写程序题及参考答案【4.41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。
【4.42】输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
【4.43】编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。
分别利用for和while写出两个程序。
【4.44】求解爱因斯坦数学题。
有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。
请问,这条阶梯共有多少阶?【4.45】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。
又知这个自然数被17除余4,•所得的商被17除余15,最后得到一个商是a的2倍。
编写程序求这个自然数。
【4.46】编写程序,用二分法求一元二次方程2x3-4x2+3x-6=0在(10,10)区间的根。
【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。
请编写一程序,采用割圆法求出π的值,要求精确到小数点之后的第十位。
【4.48】A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
C、D、E依次醒来,也按同样的方法拿鱼。
编写程序求出他们合伙至少捕了多少条鱼。
【4.49】一辆卡车违犯交通规则,撞人逃跑。
现场三人目击事件,但都没记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
C语言编辑作业二(1)
{
int n;
for(n=100;n<=200;n++)
if(n%3!=0)
printf("%3d\n",n);
return 0;
}
2.编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)。
#include<stdio.h>
#define N 3
float b[3][3];
#include<stdio.h>
int main()
{int i,n,s1,s2,s3;
for(i=1,s1=0,s2=0,s3=0;i<=100;i++)
{scanf("%d",&n);
if(n>0) s1=s1+1;
if(n<0) s2=s2+1;
if(n==0) s3=s3+1;
}
printf("s1=%d s2=%d s3=%d\n",s1,s2,s3);
printf("\n");
t=a[0]+a[1]+a[9];
for(i=1;i<9;i++)
{b=a[i-1]+a[i]+a[i+1];
if(t>b)
t=b;
}
printf("The smallest number is:%6.2f\n",t);
return 0;
}
4.编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。
}
int cpy(char s[],int m)
C语言程序设计习题题(编程题)
C语言程序设计习题(编程类)1、从键盘输入任意的字符,按下列规则进行分类计数。
第一类'0','1','2','3','4','5','6','7','8','9'第二类'+','-','*','/','%','='第三类其它字符当输入字符'\'时先计数,然后停止接收输入,打印计数的结果。
参考答案:#include <stdio.h>void main( ){ int class1, class2, class3;char ch;class1=class2=class3=0;/* 初始化分类计数器*/do{ ch=getch( );switch(ch){ case '0': case '1': case '2': case '3': case '4':case '5': case '6': case '7': case '8': case '9':class1++;break;/* 对分类1计数*/case '+': case '-': case '*': case '/': case '%': case '=':class2++;break;/* 对分类2计数*/default: class3++;break;/* 对分类3计数*/}}while (ch!= '\\');/* 字符'\'在C程序中要使用转义符'\\' */printf("class1=%d, class2=%d, class3=%d\n", class1, class2, class3);}2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。
C语言上机考题分析3
第三类题主要是基本算法和字符串操作。
例如求最大(小)值、排序、数字拆分、字符串操作(连接、长度、合并、回文、插入、删除、反序、排序、单词分割等)。
3-1. 编程,任意输入6个整数,按从小到大的顺序输出。
结果:输入: 9、7、8、6、7、5输出: 5、6、7、7、8、9。
分析:用选择法排序。
3-2. 编程,任意输入10个人的成绩,按从大到小的顺序排列。
运行程序时,只要输入名次,计算机就能输出该名次对应的成绩。
结果:输入: 4、7、3、6、1、5,12,0,23,-1输入: 4输出: The 4th is 6分析:用选择法排序。
第n名是a[n-1]。
3-3. 编程,输入10个人的序号和成绩,对成绩从小到大排序,输出排序后的序号和成绩。
结果:输入: 1,10 2,9 3,8 4,7 5,6 6,7 7,8 8,9 9,12 10,0输出:10: 05: 64: 76: 73: 87: 82: 98: 91: 109: 12。
分析:用选择法排序。
a[j][0]--序号,a[j][1]--成绩。
按a[j][1]排序,注意交换时a[j][0]、a[j][1]同步交换。
3-4. 编程,输入10个人的序号和成绩,对成绩从大到小进行排序,输出排序后的序号和成绩。
结果:输入: 1,10 2,9 3,8 4,7 5,6 6,7 7,8 8,9 9,12 10,0输出:9: 12。
1: 108: 92: 97: 83: 86: 74: 75: 610: 0分析:用选择法排序。
a[j][0]--序号,a[j][1]--成绩。
3-5. 编程,输入10个整数及其序号,求出10个整数的最大值、次大值、最小值和次小值,并输出它们原来输入时的序号。
结果:输入:1,15 2.11 3,0 4,7 5,1 6,5 7,7 8,40 9,2 10,23输出:8: 40 10: 233: 0 5: 1分析:用选择法排序。
a[j][0]--序号,a[j][1]--成绩。
C语言模拟复习题及答案
一、选择题1. 以下叙述错误的是 A 。
A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数C.一个C程序可以包含多个不同名的函数D.C程序的主函数必须用main作为函数名2. 下列程序段的输出结果是 4 3 2 1 。
void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=1; *y=2;}main(){ int x=3,y=4;fun(&y,&x);printf("%d %d",x, y); }3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。
4. 有以下程序#include <stdio.h>main(){ int a;scanf("%d",&a);if(a++<8) printf("%d\n",a);else printf("%d\n",a--); }程序运行时键盘输入8<回车>,则输出的结果是9 。
5. 以下定义整型3行4列的二维数组a并初始化不正确的是C 。
A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12}C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}}6. 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c); }程序运行后的输出结果是 3 。
C语言实验2-6参考答案
实验二参考答案1.输入两个整型数字,输出他们的和。
#include<stdio.h>main(){int a, b, sum;scanf(“%d%d ”, &a, &b);sum=a+b;printf(“a+b=%d ”, sum);}2.输入两个实型数,输出他们的和与乘积。
#include<stdio.h>main(){float a, b, sum, product;scanf(“%f%f ”, &a, &b);sum=a+b;product=a*b;printf(“a+b=%5.2f, a*b =%5.2f ”, sum, product);}3.求方程02=++c bx ax 的根(设042≥-ac b )(其中a ,b ,c 的值由键盘输入)。
#include<stdio.h>#include<math.h>main(){float a, b, c, dt, x1, x2;scanf(“%f%f%f ”, &a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(“x1=%5.2f, x2 =%5.2f ”, x1, x2);}4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#include<stdio.h>main(){int h, f, x,y;scanf(“%d%d”, &h, &f);x=2*h-f/2;y=f/2-h;printf(“x=%d, y =%d”, x, y);}实验三参考答案1.输入三个数a、b、c,要求按由小到大的顺序输出。
#include<stdio.h>main(){float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}printf(“%f,%f,%f”,a,b,c);}2.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
C语言程序设计试题_练习题
C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
C语言程序设计程序填空题库及答案
程序填空题导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。
这类习题的设计就是要引导读者逐步掌握编程的方法。
本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。
在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。
【】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include<>main(){inta,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a=①;b=②;a=③;printf("a=%d,b=%d\n",a,b);}【】下面程序的功能是根据近似公式:π2/6≈1/12+1/22+1/32+……+1/n2,求π值。
#include<>doublepi(longn){doubles=;longi;for(i=1;i<=n;i++)s=s+①;return(②);}【】下面的程序的功能是求一维数组中的最小元素。
findmin(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p++)if(s[p]<s[*k])①;}main(){inta[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【】下面程序的功能是计算1-3+5-7+……-99+101的值。
main(){inti,t=1,s=0;for(i=1;i<=101;i+=2){①;s=s+t;②;}printf("%d\n",s);}【】有以下程序段:s=;for(k=1;k<=n;k++)s=s+(k*(k+1));填空完成下述程序,使之与上述程序的功能完全相同。
题44:编程输入10个正整数,然后自动按从大到小的顺序输出
题44:编程输入10个正整数,然后自动按从大到小的顺序输出。
题44:编程输入10个正整数,然后自动按从大到小的顺序输出。
Input输入只有一行,包括10整数.Output输出只有一行,包括10个整数。
Sample Input1 2 3 4 5 7 6 8 9 10Sample Output10 9 8 7 6 5 4 3 2 1提示:数组与排序,注意输出最后一个空格要考虑。
处理方法最后一个单独输出。
program ex_44;var a:array[1..10] of integer;i,j,t:integer;beginfor i:=1 to 10 do read(a[i]);for i:=1 to 9 dofor j:=i+1 to 10 doif a[i]<a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t; end;for i:=1 to 9 do write(a[i],' ');write(a[10]);end.题46:统计字母出现次数输入一串小写字母(以"."为结束标志),统计出每个字母在该字符串中出现的次数(若某字母不出现,则不要输出)。
Input输入只有一行,包括若干个字符。
Output输出只有两行,第一行为出现的小写字母,第二行为字母的出现次数。
Sample Inputabdceeef.Sample Outputabcdef111131提示:注意利用字符做下标,可以让程序简单。
program ex_45;var a:array['a'..'z'] of integer;i,ch:char;beginread(ch);for i:='a' to 'z' do a[i]:=0;while ch<>'.' dobegina[ch]:=a[ch]+1;read(ch);end;for i:='a' to 'z' doif a[i]<>0 then write(i);writeln;for i:='a' to 'z' doif a[i]<>0 then write(a[i]);end.题48:求序列中所有递增或递减子序列的个数并输出子序列题48:求序列中所有递增或递减子序列的个数并输出子序列。
C语言上机题
1用起泡法对N=10个整数由大到小排序。
10个整数由键盘输入,排序后从屏幕输出结果2编写一函数,从实参传来一个字符串,分别统计其中数字、大写字母、小写字母和其它字符的个数,输入输出在main函数中完成3用一函数inv将一个字符串的字符逆序排列。
输入输出在main函数中完成。
要求在inv中用指针处理。
4求200之内的素数的和。
从屏幕输出结果5从屏幕输入一行字符,将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母,其它字符不变,从屏幕输出结果6一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次落地后又反弹多高?7对N=20个字符由大到小排序。
20个字符由键盘输入,排序后从屏幕输出结果8有一字符串,把其中的字母a和A去掉,成为一个新字符串。
原字符串从键盘输入。
从屏幕输出结果9求Fibonacci数列的前30项的和。
从屏幕输出结果。
Fibonacci数列为:F(1)=1,(n=1)F(2)=1,(n=2)F(n)=F(n-2)+F(n-1),(n>=3)10写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串11从键盘输入一个大于2的整数,判断是否是素数。
从屏幕输出结果。
要求用函数处理12从键盘输入月份,输出这个月有多少天。
要求用函数处理13求两个数的最大公约数。
要求用函数处理14求两个数的最小公倍数。
要求用函数处理15从屏幕输入3个整数,按从小到大顺序输出,要求用指针进行处理16自己编写一个函数,将两个字符串连接起来,要求在main函数中输入输出17打印水仙花数(课本习题)打印杨辉三角形的前10行19从一个5*5的二维数组中找最大值并输出20从一个5*5的二维数组中找最小值并输出21求10个整数的平均数。
10个整数从键盘输入22求100-200之间的素数的和23求100-200间合数(非素数)的和24求10个整数的最大值,用函数完成2510个字符排序,按从小到大的顺序,用函数完成26编写一个函数,求一个正整数各个位的数字的和。
十个数求最大值的c语言
十个数求最大值的c语言
可以使用数组和循环来解决这个问题:
```c。
#include <stdio.h>。
int main() 。
int numbers[10], max; // 定义一个数组和一个变量用来存储最大值。
printf("请输入十个整数:\n");。
for (int i = 0; i < 10; ++i) { // 循环读取十个数。
scanf("%d", &numbers[i]);。
}。
max = numbers[0]; // 假设第一个数是最大值。
for (int i = 1; i < 10; ++i) { // 从第二个数开始比较。
if (numbers[i] > max) { // 如果发现更大的数,就更新max的值。
max = numbers[i];。
}。
}。
printf("最大值是:%d\n", max);。
return 0;。
}。
```。
这个程序的思路非常简单,通过两个循环实现:第一个循环读取十个数,第二个循环找出最大值。
我们在变量max中保存当前找到的最大值,从第二个数开始比较,如果发现更大的数,就更新max的值,最后输出max即可。
27.用选择排序法对10个整数排序
27.⽤选择排序法对10个整数排序
简单选择排序的算法思想:假设排序表为L[1...n],第i趟排序即从L[i...n]中选择关键字最⼩的元素与L(i)交换,每⼀趟排序可以确定⼀个元素的最终位置,这样经过n-1趟排序就可以使得整个排序表有序。
1 #include <stdio.h>
2 #include <stdlib.h>
3int main()
4 {
5int i,j,A[11],n=10,min,t;
6for(i=0;i<n;i++) //依次输⼊10个数
7 {
8 scanf("%d",&A[i]);
9 }
10for(i=0;i<n-1;i++) //⼀共进⾏n-1趟排序
11 {
12 min = i; //记录最⼩元素的位置
13for(j=i+1;j<n;j++) //在A[i..n-1]选择最⼩元素,从第i+1开始
14if(A[j]<A[min]) min = j; //更新最⼩元素的位置
15if(min!=i) //与第i个位置进⾏交换
16 {
17 t=A[min]; //交换的是A[]中的元素,t只是⼀个临时变量(A[t]是错误的)
18 A[min]=A[i];
19 A[i]=t;
20 }
21 }
22for(i=0;i<n;i++) //输出已排好序的10个数
23 {
24 printf("%d ",A[i]);
25 }
26return0;
27 }。
C语言编程练习题附答案
C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。
includeint main() {int a[20]。
i。
j。
t;printf("请任意输入20个整数\n");for (i = 0.i < 20.i++)scanf("%d"。
&a[i]);printf("\n");for (i = 0.i < 19.i++)for (j = 0.j < 19 - i。
j++)if (a[j] < a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t;printf("按照从大到小的顺序排列为\n");for (i = 0.i < 20.i++)printf("%d,"。
a[i]);printf("\n");return 0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。
includedefine N 20int main() {int a[N]。
i。
j。
max。
k;printf("请任意输入20个整数\n");for (i = 0.i < N。
i++)scanf("%d"。
&a[i]);printf("\n");for (i = 0.i < N - 1.i++) {k = i;for (j = i + 1.j < N。
j++)if (a[i] < a[j])k = j;max = a[k];a[k] = a[i];a[i] = max;printf("按照从大到小的顺序排列为\n");for (i = 0.i < N。
i++)printf("%d,"。