C语言例题系列-------第二天

//3.编写一个程序,从5个整数中找出最小的数。
//(so easy!写不出来,找块豆腐,撞死自己算了,哈哈^_^)
#include<stdio.h>
int main()
{
int a,b,c,d,e,min;
printf("请输入5个整数:\n");
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
min=a;
if(min>b)min=b;
if(min>c)min=c;
if(min>d)min=d;
if(min>e)min=e;
printf("min=%d\n",min);
}
//4.输入三个整数,按从大到小排列
//书上的方法,
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);//同样,要注意输入的格式,用空格,Tab键或者回车键隔开
printf("原来的顺序为:%d  %d  %d\n",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("现在的顺序为:%d  %d  %d\n",a,b,c);
return 0;
}

//比较高级的方法:
/*#include<stdio.h>
int main()
{
int a[3],i,j,t;
for(i=0;i<3;i++) //用for循环给一维数组赋值,一个数组的名字代表这个数组的首地址,
scanf("%d",&a[i]);//也就a代表a[3]这个数组的首地址,但用for循环赋值的时候,
printf("原来的顺序为:");//必须写&a[i],不能就写a,切记!切记!切记!重要的事说三遍!
for(i=0;i<3;i++)
printf("%d  ",a[i]);//借助for循环输出数组原来的值
printf("\n");
for(i=0;i<2;i++)  //此处用到了选择法排序的原理,记住,要用到两个for循环,
for(j=i+1;j<3;j++)  //前面一个for循环和后面一个for循环相差1,
if(a[i]<a[j])    //也就是(i=0;i<2;i++),(j=i+1;j<3;j++),2和3相差1,i和i+1相差1
{
t=a[i],a[i]=a[j],a[j]=t;//交换顺序
}
printf("现在的顺序为:");
for(i=0;i<3;i++)
printf("%d  ",a[i]);//再次借助for循环输出改变之后的顺序
printf("\n");
return 0;
}
*/
时间: 2024-08-12 02:04:07

C语言例题系列-------第二天的相关文章

C语言例题系列-------第七天

//13.将10个整数数储存在一个数组中,设计一个程序输出这个数组的最大值和最小值 //书上的答案: /*#include<stdio.h> int main() { int max,min,a[10]; int i; for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=min=a[0]; for(i=1;i<=9;i++) { if(a[i]>max)max=a[i]; if(a[i]<min)min=

C语言例题系列-------第八天

//15.有17个人围成一圈(编号为1-17),从第1号开始进行1.2.3报数,凡报3者退出, //下一个人又从1开始报数..........直到最后一个人时为止.请问此人原来的位置是多少号? #include<stdio.h> int main() { int p[18]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}; int i=1,j=1,k=1,m=17; do { if(p[i]) { if(j++>=3)//报1个数 { p[i]

C语言例题系列-------第十天

//19.100个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元, //每3个小学生花1元,问大,中,小学生的人数分配共有多少种不同的解 //(去掉某类学生为零的解)?  //这是我写的程序,答案是3种 /*#include<stdio.h> int main() { int i,j,k; int count=0; for(i=1;i<20;i++) { for(j=1;j<33;j++) { for(k=3;k<300;k+=3) {   if(5*

C语言例题系列------第十一天

//21.自然数对是指两个自然数的和与差都是平方数,如果8和17的和8+17=25与其差 //17-8=9都是平方数,则称8和17是自然数对(8,17).假定(A,B)与(B,A)是 //同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100)的 //自然数对中B之和.  #include<stdio.h> #include<math.h> int main() { int A,B,sum,sub,y=0; for(B=1;B<

C语言例题系列---------第十二天

//23.已知24有8个正整数因子(1,2,3,4,6,8,12,24),而24正好被因子个数8整除. //求[1,100]之间第十个能被其因子数整除的数  //这是我写的代码,答案是56 /*#include<stdio.h> int main() { int i,j,a,b=0; for(i=1;i<=100;i++) { for(j=1,a=0;j<=i;j++) { if(i%j==0) a++; } if(i%a==0) b++; if(b>9) break; } 

C语言例题系列--------第十三天

//25. 从键盘输入3个整数,要求设3个指针变量p1,p2,p3,使p1指向3个数中的最大者, //p2指向次打大者,p3指向最小者,然后按由大到小的顺序输出这3个数. #include<stdio.h> void compare(int * p1,int *p2,int * p3) {   int t;   if(*p1<*p2)  {   t=*p1;   *p1=*p2;   *p2=t;   }   if(*p1<*p3)  {   t=*p1;   *p1=*p3;  

C语言例题系列--------第十四天

//27.有一个整型二维数组,大小为m x n,要求找出其中最大值所在的行和列以及该最大值. //请编写一个函数max,要求如下: //(1)以数组名和数组大小为该函数的形参 //(2)数组元素的值在main函数中输入,结果在函数max中输出  /*#include<stdio.h> int max(int x[3][4],int m,int n) { int max=x[0][0]; int i,j; for(i=0;i<m;i++) for(j=1;j<n;j++) if(ma

C语言例题系列--------第十五天

//29.输入3行字符(每行60个字符以内),要 //求统计出其中共有多少大写字.小写字母.空格及标点符号  #include<stdio.h> #include<string.h> int main() {  char str[3][60],(*p)[60];  int i,j,up,low,space,comma;  up=0;low=0;space=0;comma=0;  printf("input three strings\n");  for(i=0;

C语言例题系列-------第一天

//1.输入一个正数a和一个负数b,求a+|b|的值,以浮点型输出,绝对值函数为fabs() #include<stdio.h> #include<math.h> int main()//此处的int代表的是返回值的类型,也就是return 0; { int a,b,sum; scanf("%d%d",&a,&b); sum=a+fabs(b); printf("sum=%d\n",sum); return 0; } //2.