为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C语言练习题库40题版答案

2019-02-09 14页 doc 27KB 81阅读

用户头像

is_977556

暂无简介

举报
C语言练习题库40题版答案1.将所有的水仙花数保存到维数组a中。 (所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。 例如:153=1*1*1+5*5*5+3*3*3) #include int main() { int s[100]={0}; int i; int k=0;//表示水仙花数的个数。 int a,b,c; for(i=100;i int main() { int i; int k=1; int sum=0; for(i=1;i int main() { void sort(int a[],int m); int a[100]=...
C语言练习题库40题版答案
1.将所有的水仙花数保存到维数组a中。 (所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。 例如:153=1*1*1+5*5*5+3*3*3) #include int main() { int s[100]={0}; int i; int k=0;//示水仙花数的个数。 int a,b,c; for(i=100;i<1000;i++) { a=i%10; b=(i%100)/10; c=i/100; if(i==a*a*a+b*b*b+c*c*c) { s[k]=i; printf("%d\n",s[k]); k++; } } } 2. 按下面的公式求sum的值。 sum = 1 - 2 + 3 - 4 + 5 - 6 + …… + 99 – 100 #include int main() { int i; int k=1; int sum=0; for(i=1;i<=100;i++) { sum=sum+k*i; k=-1*k; } printf("%d\n",sum); } 3.编写代码,实现冒泡排序,并要求: (1)在有序的数组中,接着插入一个元素,新数组仍然有序 (2)在数组中删除一个元素,新数组仍然有序 (3)对该数组进行逆序存放 #include int main() { void sort(int a[],int m); int a[100]={1,22,55,8,9,29,3,5,244,24}; int i; int x; sort(a,10); for(i=0;i<10;i++) { printf("%d ",a[i]); } /*插入一个数后,仍然按序输出*/ printf("\n"); printf("请输入要插入的数字:"); scanf("%d",&x); insert(x,a,11); for(i=0;i<11;i++) { printf("%d ",a[i]); } /*逆序输出序输出*/ printf("\n"); for(i=10;i>=0;i--) { printf("%d ",a[i]); } } void insert(int x,int a[],int m) { void  sort(int a[],int m) ; a[m-1]=x; sort(a,m); } /* 冒泡排序*/ void  sort(int a[],int m) //m 表示数组的个数 { int i,j,t; for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } 4. 编写程序实现以下功能,能够将下面所示的6*6的二维矩阵读入并存储到二维数组中,并求其对角线之和,以及最大数,并输出最大数所在的行列下标。 35    1    6    26    19    24 3    32    7    21    23    25 31    9    2    22    27    20 8    28    33    17    10    15 30    5    34    12    14    16 4    36    29    13    18    11 #include int main() { int i,j; int a[6][6]={{35,    1,      6,      26,      19,    24}, {    3  , 32  ,  7    ,21,    23  ,  25} , {    31  ,  9  ,  2  ,  22  , 27 ,  20} , {      8  ,  28  ,  33    ,17  ,  10 ,  15 } , {    30 ,    5  , 34  , 12  , 14  ,  16} , {    4  , 36  ,  29,    13  , 18 ,  11} }; int max=a[0][0]; int col,row; int sum=0; for(i=0;i<6;i++) for(j=0;j<6;j++) { if(i==j||i+j==5)sum=sum+a[i][j]; } printf("%d\n",sum); for(i=0;i<6;i++) for(j=0;j<6;j++) { if(a[i][j]>=max) { max=a[i][j]; col=j; row=i; } } printf("max=%d,row=%d,col=%d\n",max,row,col); } 5. 对任意输入的5个字符数组进行排序 比如:输入 abc  def fdc ccc efg 得到 abc ccc def efg fdc 6. 求2个数组的交集 输入 {5,6,7,9,10} {2,3,4,5,6} 得到 {5,6} #include int main() { int a[5]={5,6,7,9,10}; int b[5]={2,3,4,5,6}; int i,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(a[i]==b[j])    printf("%d ",a[i]); } } } 7. 求[m,n]之间既不能被7整除也不能被5整除的整数之和,m和n的值由键盘输入。 例如,如果m和n的值分别为10和20,则计算结果为:106。 #include int main() { int m,n; int i,sum=0; printf("请输入m和n:"); scanf("%d%d",&m,&n); for(i=m;i<=n;i++) { if(i%7!=0 && i%5!=0) sum=sum+i; } printf("%d",sum); } 8. 求字符串的长度并输出。 例如,当字符串1为"This Is a c Program" 则应输出:Result is: 19 #include int main() { char str[100]=""; int i=0; //str的下标 gets(str); while(str[i]!='\0') { i++; str[i]=str[i]+1; } printf("字符串长度为:%d",i); } 9. 将字符串中所有的大写字母转换为小写,其它字符不变(不使用转换函数)。 例如,当字符串为"This Is a c Program" 输出:"this is a c program" #include int main() { char str[100]=""; int i=0; printf("请输入要转换的字符串:"); gets(str); while(str[i]!='\0') { if(str[i]>='A' && str[i]<='Z') str[i]=str[i]+32; i++; } printf("%s",str); } 10. 给学生评定成绩,若学生成绩在60-69则输出“及格”,70-89分为“良好”;90-100分为“”优秀,60分一下为“不及格”,分别用if-else语句和switch语句编程实现。 #include int main() { int score; printf("请输入分数:"); scanf("%d",&score); if(score<60) printf("不及格\n"); else if(score<70) printf("及格\n"); else if(score<90) printf("良好\n"); else
/
本文档为【C语言练习题库40题版答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索