C习题(2).ppt
《C习题(2).ppt》由会员分享,可在线阅读,更多相关《C习题(2).ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、11 从低位开始取出长整型变量从低位开始取出长整型变量s中奇数位上的数,依次构成中奇数位上的数,依次构成一个新数放在一个新数放在t中。中。例如,当例如,当s中的数为:中的数为:7654321时,时,t 中中的数为:的数为:7531。#include void main()long s,t,sl=10;printf(nPlease enter s:);scanf(%ld,&s);/*found*/t=s/10;while(s 0)s=s/100;t=s%10*sl+t;/*found*/sl=sl*100;printf(The result is:%ldn,t);若是从低位开始取出长整型变量若是
2、从低位开始取出长整型变量s中偶数中偶数位上的数,依次构成一个新数放在位上的数,依次构成一个新数放在t中。中。该怎么办呢?该怎么办呢?t=s%10;sl=sl*10;22求一维数组求一维数组a中的值为偶数的元素之和。中的值为偶数的元素之和。例如,当一维数组例如,当一维数组a中的元素为:中的元素为:10,4,2,7,3,12,5,34,5,9,程序,程序的输出应为:的输出应为:The result is:62#include#include void main()int a10=10,4,2,7,3,12,5,34,5,9,i,s;s=0;for(i=0;i10;i+)/*found*/if(i%
3、2=0)s=s+ai;/*found*/print(The result is:%dn,s);注意:和求下标为偶数的元素之和区分开;另外求值为奇数的注意:和求下标为偶数的元素之和区分开;另外求值为奇数的元素之和呢?元素之和呢?if(ai%2=0)printf(The result is:%dn,s);3若用函数调用来求呢若用函数调用来求呢?#include int sum(int arr,int n)int i,s;s=0;for(i=0;in;i+)if(arri%2=0)/*found*/s=s+i;return(s);void main()int a10=10,4,2,7,3,12,5,
4、34,5,9,i,s;/*found*/s=sum(a,2);printf(The result is:%dn,s);s=s+arri;s=sum(a,10);43.求二维数组求二维数组a中的最大值。中的最大值。例如,当二维数组例如,当二维数组a中的元素为:中的元素为:4 4 34 7 3 12 5 6 5 程序的输出应为:程序的输出应为:The max is:34。#include int arrmax(int arr33)int i,j,max;max=arr00;/*found*/for(i=1;i3;i+)for(j=0;j3;j+)if(max arrij)max=arrij;ret
5、urn(max);void main()int a33=4,4,34,7,3,12,5,6,5,i,j;/*found*/printf(The max is:%dn,arrmax(a00);i=0;arrmax(a)54.求一维数组求一维数组a中的最大元素及其下标。中的最大元素及其下标。例如,当一维数组例如,当一维数组a中的元素为:中的元素为:1,4,2,7,3,12,5,34,5,9,程序的,程序的输出应为:输出应为:The max is:34,pos is:7。#include void main()int a10=1,4,2,7,3,12,5,34,5,9,i,max,pos;max=a
6、0;pos=0;for(i=1;i ai)max=ai;/*found*/i=pos;printf(The max is:%d,pos is:%dn,max,pos);若用函数调用呢?若用函数调用呢?#include int max;maxarr(int arr)int pos,i;/*found*/max=0;pos=0;for(i=1;i10;i+)if(max arri)max=arri;pos=i;/*found*/return(i);void main()int a10=34,4,2,7,3,12,5,8,5,9;printf(The max is:%d,pos is:%dn,max
7、,maxarr(a);max=arr0;return(pos);maxai pos=i;65猴子第一天摘下若干桃子,当即吃了一半又多吃一个;第二天猴子第一天摘下若干桃子,当即吃了一半又多吃一个;第二天将剩下的桃子吃了半又多吃一个,到第将剩下的桃子吃了半又多吃一个,到第12天的早上,只剩下一个天的早上,只剩下一个桃子,求第一天共摘了多少桃子。桃子,求第一天共摘了多少桃子。#include void main()int i,j,x,p;x=1;/*found*/j=12;while(j=1)p=(x+1)*2;/*found*/p=x;j-;printf(total is%dn,p);j=11;x
8、=p;76.将长整型数中每一位上为偶数的数依次取出,构成一个新数放将长整型数中每一位上为偶数的数依次取出,构成一个新数放在在t中。高位仍在高位,低位仍在低位。中。高位仍在高位,低位仍在低位。例如,当例如,当s中的数为:中的数为:87653142时,时,t中的数为:中的数为:8642。#include void main()long s,t,sl=1;int d;printf(nPlease enter s:);scanf(%ld,&s);t=0;while(s 0)d=s%10;/*found*/if(d%2=0)t=d*sl+t;sl*=10;/*found*/s=10;printf(The
9、 result is:%ldn,t);(d%2=0)s/=10;若是将长整型数中每一位上为奇数若是将长整型数中每一位上为奇数的数依次取出,构成一个新数放在的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位中。高位仍在高位,低位仍在低位呢?呢?8 7求出求出a所指数组中最大数所指数组中最大数(规定最大数不在规定最大数不在a0中中),最大值和,最大值和a0中的数中的数对调。例如数组中原有的数为:对调。例如数组中原有的数为:7、10、12、0、3、6、9、11、5、8,输出的结果为:输出的结果为:12、10、7、0、3、6、9、11、5、8。#include#define N 10 vo
10、id main()int aN=7,10,12,0,3,6,9,11,5,8,n=10,i,k,m,max,t;for(i=0;iN;i+)printf(%d ,ai);printf(n);max=a0;m=0;for(k=1;k N;k+)/*found*/if(akmax)max=ak;m=k;/*found*/t=a0;am=a0;am=t;for(i=0;imax)或或if(maxak)若是求出最小数呢?若是求出最小数呢?98输出输出200300之间的所有素数,要求每行输出之间的所有素数,要求每行输出8个素数。个素数。#include#include void main()int m,
11、j,n=0,k;for(m=200;m=300;m+)k=sqrt(m);for(j=2;jk)if(n%8=0)printf(n);/*found*/printf(%6d,j);n+;break;printf(%6d,m);109打印九九乘法表打印九九乘法表#include void main()int i,j,k;for(i=1;i=9;i+)/*found*/for(j=1;j=9;j+)printf(%3d *%3d =%3d,i,j,i*j);/*found*/printf(n);for(j=1;j=i;j+)printf(n);j=i;printf(n);1110输出输出10020
12、0之间既不能被之间既不能被3整除也不能被整除也不能被7整除的整除的整数并统计这些整数的个数,要求每行输出整数并统计这些整数的个数,要求每行输出8个数。个数。#include void main()int i;/*found*/int n;for(i=100;i=200;i+)/*found*/if(i%3=0&i%7=0)if(n%8=0)printf(n);printf(%6d,i);n+;printf(nNumbers are:%dn,n);int n=0;if(i%3!=0&i%7!=0)1211打印输出以下图形打印输出以下图形 *#include void main()int i,j;
13、for(i=1;i=5;i+)/*found*/printf(n)for(j=1;j=10-i;j+)printf();/*found*/for(j=1;j=2*i+1;j+)printf(*);printf(n);for(j=1;j=2*i-1;j+)printf(n);1312求:求:1!+2!+3!+20!#include void main()/*found*/long int s,t;int n;s=0;t=1;/*found*/for(n=1;n20;n+)t=t*(n+1);s=s+t;printf(1!+2!+3!+20!=%en,s);float s,t;for(n=0;n2
14、0;n+)1413输入一个百分制成绩,打印出五级记分成绩。输入一个百分制成绩,打印出五级记分成绩。#include stdio.h void main()int score,t;do scanf(%d,&score);while(score100);t=score/10;/*found*/switch(score)case 10:case 9:printf(Excellent!n);break;case 8:printf(Good!n);break;case 7:printf(Middle!n);break;case 6:printf(Pass!n);break;/*found*/else:p
15、rintf(Fail!n);score/10)或或 swich(t)default1514求一维数组求一维数组a中值为奇数的元素的平均值。中值为奇数的元素的平均值。#include double average(int arr,int n)int k=0,i;double s;s=0;for(i=0;in;i+)/*found*/if(arri%2=1)s=s+arri;k+;return(s/k);main()int a12=10,4,2,7,3,12,5,34,5,9,21,18;double s;/*found*/s=average(a12,12);printf(The result i
16、s:%.2fn,s);if(arri%2=1)s=average(a,12);1615将将m,n之间的所有素数存放到一维数组之间的所有素数存放到一维数组a中,并输出。中,并输出。#include#include prime(int m)int j,k;k=sqrt(m);for(j=2;jn)t=m;m=n;n=t;/*found*/for(i=m;i=100;i+)/*found*/if(prime=1)ac=i;printf(%4d,ac);c+;for(i=m;i=n;i+)if(prime(i)=1)1716求一维数组求一维数组a中所有元素的平均值。中所有元素的平均值。#include
17、 float average(a,n)/*found*/int a,n;int j;float aver;/*found*/float s;for(j=0;jn;j+)s+=aj;aver=s/n;return(aver);main()int a12=10,4,2,7,3,12,5,34,5,9,6,8;printf(Theaverageis:%.2fn,average(a,12);int a,n;float s=0;或或 float s;s=0;1817将将2,100之间的所有素数存放到一维数组之间的所有素数存放到一维数组a中,中,并输出这些素数。并输出这些素数。#include#inclu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题
限制150内