大学C语言程序设计(编程题)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计习题(编程题 C语言程序设计习题(编程题
习题1(编程题)[知识点:基础知识编制程序,要求输入整数a和b,若
a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

习题1-参考答案 main() printf("Input a & b:"); if
(a*a+b*b>100) printf("%d\n",(a*a+b*b)/100); else
printf("%d\n",a+b); } 习题2(编程题)[知识点:基础知识试编
程判断输入的正整数是否既是5又是7的整数倍,若是输出yes,否则输出no。

习题2-参考答案 main() printf("Input a:"); if
(a%5==0&&a%7==0) printf("yes\n"); else printf("no\n"); } 习题
3(编程题)[知识点:选择结构输入一个整数,判断它能否被3,5,7整
除,并输出以下信息之一: (1)能同时被3,5,7整除 (2)能被其中两
数整除(要指出哪两个)。

(3)能被其中一个数整除(要指出哪一个)。

(4)不能被任何一个整除。

习题3-参考答案 main()
printf("Input a number:"); if(m%3==0&&m%5==0&&m%7==0)
printf("能同时被3,5,7整除 else
if((m%3==0&&m%5==0)||(m%3==0&&m%7==0)||(m%5==0&&m%7==0)) {printf("能被其中两数整除 if(m%3==0&&m%5==0) printf("(3,5)"); else if(m%3==0&&m%7==0) printf("(3,7)");
else printf("(5,7)"); else if(m%3==0||m%5==0||m%7==0) {printf("能被其中一个数整除 C语言程序设计习题(编程题if(m%3==0) printf("(3)"); else if(m%5==0) printf("(5)"); else printf("不能被任何一个整除"); } 习题4(编程题)[知识点:选择结构将以下程序段改用非嵌套的if语句实现。

int s,t,m;
t=(int)(s/10); {case 10:m=5;break; case 9:m=4;break; case
8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0;
习题4-参考答案 if(s>=100&&s<110) m=5; if(s>=90&&s<100) m=4;
if(s>=80&&s<90) m=3; if(s>=70&&s<80) m=2; if(s>=60&&s<70) m=1;
习题5(编程题)[知识点:选择结构用switch编程实现: -1 (x<0) 习题5-参考答案 void main() {float x; printf("Input a x:"); scanf("%f",&x); switch(x<0) {case 1:y=-1;break; case 0:switch(x==0) {case 1:y=0;break; case
0:y=1; } printf("y=%d\n",y); } C语言程序
设计习题(编程题习题6(编程题)[知识点:选择结构将以下程序段改用嵌套的if语句实现。

int s,t,m; t=(int)(s/10);
{case:m=5;break; case 9:m=4;break; case 8:m=3;break; case
7:m=2;break; case 6:m=1;break; default: m=0; 习题6-参考答案
if(s>=110&&s<60) m=0 else if(s<110) m=5; else if(s<100) m=4; else
if(s<90) m=3; else if(s<80) m=2; else m=1; 习题7(编程题)[知识
点:选择结构编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-
,*,/(用switch语句实现)。

习题7-参考答案 #include<stdio.h>
#include<stdlib.h> {float data1,data2,result;
printf("Type in your expression:");
scanf("%f %c %f",&data1,&op,&data2); {case
'+':result=data1+data2;break; case '-':result=data1-data2;break;
case '/':if(data2==0){printf("\nDivision by zero!");exit(1);} result=data1/data2;break; printf("This
is %6.2f %c %6.2f=%6.2f\n",data1,op,data2,result); } 习题8(编
程题)[知识点:选择结构编一程序,对于给定的一个百分制成绩,输出
相应的五分值成绩。

设90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60分以下为'E'(用switch语句实现)。

习题8-参考答案
main() C语言程序设计习题(编程题
while(score>=0&&score<=100) { printf("Enter score:");
scanf("%d",&score); temp=score/10; {case 0:case 1:case
2:case 3:case 4:case 5:grade='E';break; case 6:grade='D';break; case 7:grade='C';break; case 8:grade='B';break; case 9:case
10:grade='A'; printf("score=%d,grade=%c\n",score,grade); }
习题9(编程题)[知识点:循环结构每个苹果0.8元,第一天买2个苹
果,第二天开始买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。

编写程序求每天平均花多少钱。

习题9-参考答案 {int day=0,buy=2; float sum=0,ave; {sum=sum+0.8*buy;
day++;buy=buy*2; }while(buy<=100);
printf("average=%f\n",ave); } 习题10(编程题)[知识点:循环结构
编写程序,找出1至99之间的全部同构数。

同构数是这样一组数:它出现
在平方数的右边。

例如,5是25右边的数,25是625右边的数,5和25就
是同构数。

习题10-参考答案 main() if(i*i%10==i||i*i%100==i) printf("%3d",i); } 习题11(编程
题)[知识点:循环结构编写程序,求一个整数任意次方的最后三位数。

即求xy值的最后三位数,要求x,y从键盘输入。

习题11-参考答案
C语言程序设计习题(编程题 scanf("%d%d",&x,&y); for(i=1;i<=y;i++) printf("The last 3 digit of %d*%d is:%d\n",x,y,s); } 习题
12(编程题)[知识点:循环结构编写程序,从键盘输入6名学生的五门成绩,分别统计出每个学生的平均成绩。

习题12-参考答案 main()
float s,sum,ave; for(i=0;i<6;i++) for(j=1;j<=5;j++) {scanf("%f",&s); sum=sum+s; } printf("No.%d
ave=%6.2f\n",i+1,ave); } } 习题13(编程题)[知识点:循环结构
从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。

统计每个整数的个数。

习题13-参考答案 void main()
printf("Input some numbers(between 0 to 4):"); scanf("%d",&x); {if (x>=0&&x<=4) s[x]++;} printf("%d: %d\n",i,s[i]); } 习题14(编程题)[知识点:数组若有说明:int
a[2][3]={{1,2,3},{4,5,6}};现要将a的行和列的元素互换后存到另一个二
维数组b中。

请编写程序并输出a和b数组中的元素。

习题14-参考答
案 {int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j; printf("Array
a:\n"); for(i=0;i<2;i++) {for(j=0;j<3;j++) {b[j][i]=a[i][j];
printf("%3d",a[i][j]); C语言程序设计习题(编程题
printf("\n"); printf("Array b:"); for(i=0;i<3;i++) {for(j=0;j<2;j++) printf("%3d",b[i][j]);
printf("\n"); } } 习题15(编程题)[知识点:数组定义一个
含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序
每五个数求出一个平均值,放在另一个数组中并输出。

试编程。

习题15-参考答案 #define SIZE 30 {float b[SIZE/5],sum;
for(k=2,i=0;i<SIZE;i++,k+=2) a[i]=k;
for(k=0,i=0;i<SIZE;i++) {sum=sum+a[i]; if((i+1)%5==0) {b[k++]=sum/5; sum=0; } for(i=0;i<SIZE/5;i++) printf("%6.2f ",b[i]); } 习题16(编程题)[知识点:数组通过
赋初值按行顺序为一个2×3的二维数组赋予2、4、6、...等偶数,然后按列的顺序输出该数组。

试编程。

习题16-参考答案 {int
i,j,a[2][3]={{2,4,6},{8,10,12}}; printf("\nThe result is:\n");
for(i=0;i<3;i++) printf("%4d",a[j][i]);
printf("\n"); } } 习题17(编程题)[知识点:数组数组a包
括10个整数,把a中所有的后项除以前项之商取整后存入数组b,并按每
行3个元素的格式输出数组b。

试编程。

C语言程序设计习题(编程题习题17-参考答案 #define N 10 main()
printf("Enter %d data:",N); for(i=0;i<N;i++) scanf("%d",&a[i]);
for(i=1;i<N;i++) b[i]=a[i]/a[i-1]; for(i=1;i<N;i++) {printf("%3d",b[i]); if(i%3==0) printf("\n"); } } 习
题18(编程题)[知识点:字符串从键盘输入两个字符串a和b,要求不
用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于
5,则把b的所有元素都连接到a中。

试编程。

习题18-参考答案
#include <string.h> {char a[80],b[80]; printf("Input two strings:\n"); gets(a);gets(b); while(a[i]) i++;
for(j=0;j<5&&b[j];j++) a[i++]=b[j]; a[i]='\0'; puts(a); } 习题19(编程题)[知识点:循环结构百钱百鸡问题:中国古代数学家张
丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱
五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?习题19-参考答案 #include<stdio.h> main()
{ for(g=0;g<=20;g++) for(m=0;m<=33;m++) { if(5*g+3*m+x/3.0==100) C语言程序设计习
题(编程题习题20(编程题)[知识点:循环结构百马百
担:有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问
有大,中,小马各几匹? 习题20-参考答案 #include<stdio.h> main()
{ } 习题21(编程题)[知识点:循环结构搬
砖问题:36块砖,36人搬,男搬4块,女搬3块,小孩需2人搬1块,要求一次就搬完,男、女和小孩各需要多少人?习题21-参考答案
#include<stdio.h> main() { 习题22(编程题)[知识
点:循环结构普通变量的方法输出斐波拉契数列的第n项。

习题22-
参考答案 #include <stdio.h> int fib(int n)
{ for(d=0;d<=33;d++) for(z=0;z<=50;z++)
{ if(3*d+2*z+x/2.0==100) for(m=0;m<=9;m++) for(w=0;w<=12;w++) { if(4*m+3*w+x/2.0==36) int fib1,fib2,fib3,i; fib1=fib2=1; for(i=3;i<=n;i++)
{ fib3=fib1+fib2; fib1=fib2; C语言程序设计习题(编
程题 main() { 习题23(编程题)[知识点:
循环结构普通变量的方法输出斐波拉契数列的前n项。

习题23-参考答案 #include <stdio.h> int fib(int n) { } main()
{ 习题24(编程题)[知识点:循环结构普通变量的方法输
出斐波拉契数列的前n项,每行输出5项。

习题24-参考答案 #include <stdio.h> int fib(int n) { int fib1,fib2,fib3,i;
fib1=fib2=1; for(i=3;i<=n;i++)
{ printf("%d\t",fib(i)); int
fib1,fib2,fib3,i; fib1=fib2=1; for(i=3;i<=n;i++)
{ fib3=fib1+fib2; fib1=fib2; scanf("%d",&n);
printf("%d\t%d\t",1,1); printf("%d\t",fib(i));
fib3=fib1+fib2; fib1=fib2; C语言程序设计习题(编程题
main() { 习题25(编程题)[知识点:循环结构普通
变量的方法输出小于某数的斐波拉契数列。

习题25-参考答案 #include
<stdio.h> int fib(int n) { } main() { 习题
26(编程题)[知识点:循环结构普通变量的方法输出大于某数的第一个斐波拉契数。

习题26-参考答案 #include <stdio.h> scanf("%d",&n); printf("%d\t%d\t",1,1); for(i=3;i<=n;i++)
{ printf("%d\t",fib(i)); if(i%5==0) int
fib1,fib2,fib3,i; fib1=fib2=1; for(i=3;i<=n;i++)
{ fib3=fib1+fib2; fib1=fib2; int i=3,n;
scanf("%d",&n); printf("%d\t%d\t",1,1);
{ printf("%d\t",fib(i)); i++; C语言程序设计习题(编
程题 { int fib1,fib2,fib3,i; fib1=fib2=1; for(i=3;i<=n;i++)
{ fib3=fib1+fib2; fib1=fib2; } main() { int
i=3,n; scanf("%d",&n); 习题27(编程
题)[知识点:循环结构递归的方法输出斐波拉契数列的第n项。

习题
27-参考答案 #include <stdio.h> int fib(int n) { if(n==1||n==2) else return fib(n-1)+fib(n-2); } main()
{ scanf("%d",&n); 习题28(编程题)[知识点:循环结构递归的方法输出斐波拉契数列的前n项。

习题28-参考答案
#include <stdio.h> int fib(int n) { if(n==1||n==2) else C语言程序设计习题(编程题 } main() { 习题29(编程
题)[知识点:循环结构递归的方法输出斐波拉契数列的前n项,每行输
出5项。

习题29-参考答案 #include <stdio.h> int fib(int n) { }
main() { 习题30(编程题)[知识点:数组数组的方
法输出斐波拉契数列的前20项。

习题30-参考答案 #include <stdio.h> main() { scanf("%d",&n);
for(i=1;i<=n;i++) if(n==1||n==2) else return fib(n-
1)+fib(n-2); scanf("%d",&n); for(i=1;i<=n;i++)
{ printf("%d\t",fib(i)); if(i%5==0) int fib[20],i;
fib[0]=fib[1]=1; for(i=2;i<20;i++) fib[i]=fib[i-1]+fib[i-2];
printf("%d\t%d\t",1,1); for(i=2;i<20;i++)
printf("%d\t",fib[i]); C语言程序设计习题(编程题习题31(编
程题)[知识点:数组数组的方法输出斐波拉契数列的前20项,要求每行输出5个。

习题31-参考答案 #include <stdio.h> main()
{ 习题32(编程题)[知识点:循环结构若有一头
小母牛从第四年开始每年生育一头母牛、按照此规律,构成一个数列。

编写程序使用普通变量的方法输出此数列第n 个数。

习题32-参考答案#include <stdio.h> int c(int n) { } main()
{ 习题33(编程题)[知识点:循环结构若有一头小母牛从
第四年开始每年生育一头母牛、按照此规律,构成一个数列。

编写程序使用普通变量的方法输出此数列前n 个数。

int fib[20],i;
fib[0]=fib[1]=1; for(i=2;i<20;i++) fib[i]=fib[i-1]+fib[i-2];
printf("%d\t%d\t",1,1); for(i=2;i<20;i++)
{ printf("%d\t",fib[i]); if((i+1)%5==0) int
c1,c2,c3,c4,i; c1=c2=c3=1; for(i=4;i<=n;i++) { } c4=c3+c1;
c1=c2; c2=c3; scanf("%d",&i); C语言程序设计习题(编程题习题33-参考答案 #include <stdio.h> int c(int n)
{ } main() { 习题34(编程题)[知识点:循环结
构若有一头小母牛从第四年开始每年生育一头母牛、按照此规律,构成
一个数列。

编写程序使用普通变量的方法输出此数列前n 个数,并且每行输出5个。

习题34-参考答案 #include <stdio.h> int c(int n)
{ } main() { printf("%d\t%d\t%d\t",1,1,1);
int c1,c2,c3,c4,i; c1=c2=c3=1; for(i=4;i<=n;i++) { }
c4=c3+c1; c1=c2; c2=c3; printf("%d\t%d\t%d\t",1,1,1);
for(i=4;i<=n;i++) int c1,c2,c3,c4,i; c1=c2=c3=1;
for(i=4;i<=n;i++) { } c4=c3+c1; c1=c2; c2=c3; C语言程序设计习题(编程题 { } printf("%d\t",c(i));
if(i%5==0) 习题35(编程题)[知识点:循环结构若有一头小
母牛从第四年开始每年生育一头母牛、按照此规律,构成一个数列。

编写程
序使用普通变量的方法输出此数列小于某数的数列。

习题35-参考答案
#include <stdio.h> int c(int n) { } main()
{ 习题36(编程题)[知识点:循环结构若有一头小母
牛从第四年开始每年生育一头母牛、按照此规律,构成一个数列。

编写程序使用普通变量的方法输出大于某数的第一个数。

习题36-参考答案
#include <stdio.h> int c(int n) { int c1,c2,c3,c4,i;
c1=c2=c3=1; for(i=4;i<=n;i++) { } c4=c3+c1; c1=c2; c2=c3;
int i=4,n; printf("%d\t%d\t%d\t",1,1,1);
{ printf("%d\t",c(i)); int c1,c2,c3,c4,i; c1=c2=c3=1;
for(i=4;i<=n;i++) C语言程序设计习题(编程题
c4=c3+c1; c1=c2; c2=c3; main() { 习题37(编程
题)[知识点:循环结构若有一头小母牛从第四年开始每年生育一头母
牛、按照此规律,构成一个数列。

编写程序使用递归函数的方法输出此数列
第n 个数。

习题37-参考答案 #include <stdio.h> int c(int n) { }
main() { 习题38(编程题)[知识点:循环结构若有一头小
母牛从第四年开始每年生育一头母牛、按照此规律,构成一个数列。

编写程
序使用递归函数的方法输出此数列前n 个数。

习题38-参考答案 #include <stdio.h> int c(int n) { } int i=4,n;
scanf("%d",&n); if(n==1||n==2||n==3) else return c(n-1)+c(n-3); scanf("%d",&n);
if(n==1||n==2||n==3) else return c(n-1)+c(n-3); C语言程
序设计习题(编程题 { 习题39(编程题)[知识点:循环结
构若有一头小母牛从第四年开始每年生育一头母牛、按照此规律,构成
一个数列。

编写程序使用递归函数的方法输出此数列前n 个数,并且每行
输出5个。

习题39-参考答案 #include <stdio.h> int c(int n) { }
main() { 习题40(编程题)[知识点:循环结构爱因
斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一
阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每
步跨6阶则最后剩5阶。

只有每次跨7阶,最后才正好一阶不剩。

满足这
样条件的整数有很多,编写程序求第一个爱因斯坦阶梯数。

习题40-参考
答案 #include <stdio.h> main() { 习题41(编程题)[知识点:循环结构 int i; i=i+14; printf("%d\t",i);
scanf("%d",&n); for(i=1;i<=n;i++) { printf("%d\t",c(i));
if(i%5==0) if(n==1||n==2||n==3) else return c(n-
1)+c(n-3); return 1; scanf("%d",&n); for(i=1;i<=n;i++) C语言程序设计习题(编程题爱因斯坦出了一道这样的数学题:有一条
长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2
阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。

只有每次
跨7阶,最后才正好一阶不剩。

满足这样条件的整数有很多,编写程序输
出1000以内的爱因斯坦阶梯数。

习题41-参考答案 #include <stdio.h> main() { int i; for(i=7;i<=1000;i=i+14)
if(i%3==2&&i%5==4&&i%6==5) 习题42(编程题)[知
识点:选择结构键盘输入一个整数,判断此数是否是素数。

习题42-参考答案 #include <stdio.h> main() { scanf("%d",&i);
if(i%j==0) printf("%d is a prime.\n",i); 习题43(编程题)[知识点:选择结构输出101--200之间素数。

习题
43-参考答案 #include <stdio.h> main()
{ for(i=101;i<=200;i++) { for(j=2;j<=i-1;j++)
if(i%j==0) C语言
程序设计习题(编程题习题44(编程题)[知识点:循环结构键盘输
入二个数u,v,利用普通变量法求二个数的最大公约数。

习题44-参考答
案 #include <stdio.h> int gcd(int u,int v) { } main()
{ 习题45(编程题)[知识点:循环结构键盘输入二个数u,v,利用普通变量法求二个数的最小公倍数。

习题45-参考答案
#include <stdio.h> int icd(int u,int v) { } main()
{ 习题46(编程题)[知识点:循环结构 int z;
while(v!=0) { } z=u%v; u=v; scanf("%d%d",&u,&v);
int r,t; t=u*v; while(v!=0) { } t=t/u; r=u%v; u=v; C语言程序设计习题(编程题键盘输入二个数u,v,利用递归的方法求二个数的最小公倍数。

习题46-参考答案 #include <stdio.h> int
gcd(int u,int v) { } main() { 习题47(编程题)[知识
点:循环结构键盘输入二个数u,v,利用递归的方法求二个数的最大
公约数。

习题47-参考答案 #include<stdio.h> int gcd(int u,int v)
{ } main() { 习题48(编程题)[知识点:循环结构键
盘输入二个数u,v,利用递归的方法求二个数的最大公约数和最小公倍
数。

习题48-参考答案 #include<stdio.h> int gcd(int u,int v)
{ } if(v==0) else return gcd(v,u%v); scanf("%d%d",&u,&v); if(v==0) else return gcd(v,u%v); if(v==0) else return gcd(v,u%v); C语言程序设计习题(编程
题 { 习题49(编程题)[知识点:表达式要求输出所有
的水仙花数水仙花数是一个三位数,其各位上数的立方和等于这个数,例如153,13+53+33=153习题49-参考答案 #include
<stdio.h> main() { 习题50(编程题)[知识点:表达式
要求输出所有的桃花数桃花数是一个四位数,其各位上数的四次方和等
于这个数,例如1634,14+64+34+44=1634 习题50-参考答案
#include <stdio.h> main() { } printf("The gcd of %d and %d is %d.\n",u,v,gcd(u,v));
for(i=101;i<1000;i++) { a=i/100; b=(i/10)%10;
if(i==a*a*a+b*b*b+c*c*c) for(i=1001;i<10000;i++)
{ d=i%10; c=(i/10)%10; b=(i/100)%10;
if(i==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d) C语言程序设计习题
(编程题习题51(编程题)[知识点:表达式要求输出所有的玫瑰花
数桃花数是一个五位数,其各位上数的五次方和等于这个数,习题
51-参考答案 #include <stdio.h> main() { 习题
52(编程题)[知识点:循环结构要求输出一个四行四列的图形,见下图**** **** **** 习题52-参考答案 #include <stdio.h> main()
{ 习题53(编程题)[知识点:循环结构要求输出一个
三角形,图形具有下图的特征,要求输入n值(n值为行数)。

* *** ***** 习题53-参考答案 #include <stdio.h> for(i=10000;i<100000;i++) { a=i%10; b=(i/10)%10;
c=(i/100)%10; d=i/1000%10; e=i/10000; for(i=1;i<=4;i++) { for(j=1;j<=4;j++) printf("*");
C语言程序设计习题(编程题 { 习题54(编程题)[知识
点:循环结构要求输出一个三角形,图形具有下图的特征,要求输入n
值(n值为行数)。

* *** ***** ******* 习题54-参考答案 #include
<stdio.h> main() { 习题55(编程题)[知识点:循环
结构要求输出一个平等四边形,见下图 ******* ******* ******* 习题55-参考答案 #include <stdio.h> main()
{ scanf("%d",&n); for(i=1;i<=n;i++)
{ scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=2*i-1;j++) printf("*");
scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=2*(n-
i);j++) printf(" "); printf("*"); for(j=1;j<=2*i-1;j++) C
语言程序设计习题(编程题 } printf(" ");
for(j=1;j<=2*n-1;j++) 习题56(编程题)[知识点:循环结构要求
输出一个平等四边形,见下图 ******* ******* ******* ******* 习题
56-参考答案 #include <stdio.h> main() { 习题
57(编程题)[知识点:循环结构要求输出一个钻石图形,图形具有下图
的特征,要求输入n值(n值为行数)。

* *** ***** 习题57-参
考答案 #include <stdio.h> main() { scanf("%d",&n);
for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" ");
printf("*"); for(j=1;j<=2*i-1;j++) scanf("%d",&n);
for(i=1;i<=n;i++) { for(j=1;j<=i;j++) printf(" ");
printf("*"); for(j=1;j<=2*n-1;j++) C语言程序设计习题(编程
题 } 习题58(编程题)[知识点:循环结构要求输出一个钻石图形,图形具有下图的特征,要求输入n值(n值为行数)。

******* ***** *** 习题58-参考答案 #include <stdio.h> main()
{ 习题59(编程题)[知识点:循环结构要求输出一
个菱形,图形具有下图的特征,要求输入n值(n值为行数)。

* ***
***** ******* ***** *** 习题59-参考答案 #include <stdio.h> main() { scanf("%d",&n); for(i=1;i<n;i++)
{ scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=i-1;j++) printf(" "); printf("*");
for(j=1;j<=2*(n-i)+1;j++) for(j=1;j<=n-i;j++) printf(" ");
printf("*"); for(j=1;j<=2*i-1;j++) C语言程序设计习题(编程题
for(i=1;i<=n;i++) { } for(j=1;j<=i-1;j++) printf("
"); printf("*"); for(j=1;j<=2*(n-i)+1;j++) 习题60(编程题)[知
识点:子程序和函数利用递归法求阿克曼函数。

Ackerman函数的定义如下: Ack(0,n)=n+1; Ack(m,0)=Ack(m-1,1); Ack(m,n)=Ack(m-
1,Ack(m,n-1)) 习题60-参考答案 #include <stdio.h> int Ack(int
m,int n) { } main() { 习题61(编程题)[知识点:子
程序和函数利用递归法求Hermite函数。

Hn(x)定义如下: H0(x)=1;
习题61-参考答案 #include <stdio.h> int H(int x,int n) { }
main() { if(m==0) return n+1; return Ack(m-
1,Ack(m,n-1)); else if(n==0&&m>=1) H1(x)=2x;
H(x)=2xHn-1(x)-2(n-1)Hn-2(x) (对 if(n==0) return 1; return 2*x*H(x,n-1)-2*(n-1)*H(x,n-2); else if(n==1) C 语言程序设计习题(编程题 scanf("%d%d",&x,&n);
printf("%d\n",H(x,n)); 习题62(编程题)[知识点:表达式
编写程序求:n!习题62-参考答案 #include <stdio.h> sigma(int n)
{ int i=1,s=1; while(i<n) { i++; } int main()
{ scanf("%d",&m); 习题63(编程题)[知识点:表达
式利用递归的方法求出n!。

习题63-参考答案 #include<stdio.h>
int js(int n) { if(n==1) else return n*js(n-1); }
main() { scanf("%d",&n); 习题64(编程题)[知识
点:表达式编写程序求:1+2+…+n。

习题64-参考答案 #include <stdio.h> C语言程序设计习题(编程题 { int
i=0,sum=0; while(i<n) { i++; } main() { int
m,total; scanf("%d",&m); 习题65(编程题)[知识点:表达式利用递归的方法求出1+2+…+n。

习题65-参考答案#include<stdio.h> int lj(int n) { if(n==1) else
return n+lj(n-1); } main() { scanf("%d",&n); 习
题66(编程题)[知识点:表达式编写程序求:1!+2!+…+n! 习题66-参考答案 #include <stdio.h> main() { int i,sum,n,mul;
scanf("%d",&n); sum=0;mul=1; for(i=1;i<=n;i++) { mul=mul*i; C语言程序设计习题(编程题 printf("%d",sum); 习题
67(编程题)[知识点:表达式编写程序求:1/1!+1/2!+…+1/n! 习题
67-参考答案 #include <stdio.h> main() { 习题
68(编程题)[知识点:数组键盘输入10个整数,输出最大值和最小值。

习题68-参考答案 #include <stdio.h> main()
{ 习题69(编程题)[知识点:数组求一个3*4矩
阵所有靠外侧元素之和。

习题69-参考答案 #include <stdio.h> main() int i,n,mul; float sum; scanf("%d",&n); sum=0;mul=1;
for(i=1;i<=n;i++) { mul=mul*i; int x[10],max,min,i;
for(i=0;i<10;i++) scanf("%d",&x[i]); max=min=x[0];
for(i=0;i<=9;i++) { if(max<x[i]) max=x[i];
min=x[i]; C语言程序设计习题(编程题 int
x[3][4],i,j,sum=0; for(i=0;i<3;i++) { for(i=0;i<3;i++) for(j=0;j<4;j++) if(i==0||i==2||j==0||j==3) for(j=0;j<4;j++) printf("%d\t",x[i][j]); printf("\n");
for(j=0;j<4;j++) printf("sum=%d\n",sum); 习题
70(编程题)[知识点:数组求一个3*4矩阵所有靠外侧元素之和的平均值。

习题70-参考答案 #include <stdio.h> main()
{ 习题71(编程题)[知识点:数组输入一个5*5矩阵元素的值,求2个对角线元素之和。

习题71-参考答案int x[3][4],i,j,n=0; double sum=0; for(i=0;i<3;i++)
{ for(i=0;i<3;i++) for(j=0;j<4;j++)
if(i==0||i==2||j==0||j==3) { sum=sum+x[i][j];
for(j=0;j<4;j++) printf("%d\t",x[i][j]); printf("\n");
for(j=0;j<4;j++) C语言程序设计习题(编程题
main() { int x[5][5],i,j,sum=0; for(i=0;i<5;i++)
for(j=0;j<5;j++) { for(j=0;j<5;j++) printf("%d\t",x[i][j]); printf("\n"); for(i=0;i<5;i++)
for(j=0;j<5;j++) if(i==j||i+j==4) 习题72(编程题)[知识点:数组输入一个5*5矩阵元素的值,求它的转置矩阵。

习题72-参考答案 #include <stdio.h> main() { int
x[5][5],y[5][5],i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) { for(j=0;j<5;j++) printf("%d\t",x[i][j]); printf("\n");
for(i=0;i<5;i++) for(j=0;j<5;j++) y[i][j]=x[j][i];
for(j=0;j<5;j++) printf("The new is:\n");
for(i=0;i<5;i++) { for(j=0;j<5;j++)
printf("%d\t",x[i][j]); C语言程序设计习题
(编程题习题73(编程题)[知识点:数组输入一个5*5矩阵元
素的值,将元素的值改变为原值+转置矩阵相应值的2倍。

习题73-参考答
案 #include <stdio.h> main() { 习题
74(编程题)[知识点:数组一维数组a[10]={1,2,3,4,5,6,7,8,9,10}
中,数组元素的值要求采用赋值语句赋值,求下标为奇数的元素之和。


题74-参考答案 #include<stdio.h> main()
{ int x[5][5],y[5][5],i,j;
for(i=0;i<5;i++) { for(i=0;i<5;i++) for(j=0;j<5;j++) y[i][j]=x[j][i]; for(j=0;j<5;j++)
printf("%d\t",x[i][j]); printf("\n"); for(j=0;j<5;j++) for(j=0;j<5;j++) printf("The new is:\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%d\t",x[i][j]); int
a[10],i,sum=0; for(i=0;i<10;i++) printf("%d\t",a[i]);
sum=sum+a[i]; for(i=0;i<10;i++) C语言程序设计习题(编程题
习题75(编程题)[知识点:数组一维数组
a[10]={1,2,3,4,5,6,7,8,9,10}中,数组元素的值要求采用赋值语句赋值,
求下标为偶数的元素之和。

习题75-参考答案 #include<stdio.h> main()
{ 习题76(编程题)[知识点:子程序和函数利用指针
的方法求一个一维数组a[10]={1,2,3,4,5,6,7,8,9,10}中,下标为奇数的元素之和。

习题76-参考答案 #include <stdio.h> main()
{ 习题77(编程题)[知识点:子程序和函数利用指
针的方法求一个一维数组a[10]={1,2,3,4,5,6,7,8,9,10}中,下标为偶数的元素之和。

习题77-参考答案 #include <stdio.h> main()
{ int a[10],i,sum=0; for(i=0;i<10;i++) printf("%d\t",a[i]); sum=sum+a[i]; for(i=0;i<10;i++) int
a[10],*p,i,sum=0; for(i=0;i<10;i++) printf("%d\t",p[i]); sum=sum+*(p+i); for(i=0;i<10;i++)
for(i=1;i<10;i=i+2) int a[10],*p,i,sum=0; for(i=0;i<10;i++) printf("%d\t",p[i]); sum=sum+*(p+i); for(i=0;i<10;i++)
for(i=0;i<10;i=i+2) C语言程序设计习题(编程题
习题78(编程题)[知识点:数组利用数组的方法输出九九乘法表。


题78-参考答案 #include <stdio.h> main() { 习题
79(编程题)[知识点:数组利用数组的方法输出杨辉三角。

习题79-参
考答案 #include <stdio.h> main() { 习题80(编
程题)[知识点:选择结构键盘输入判断一个年份,判断其是否是闰年,
若是闰年则输出此年份。

闰年的条件:1)年份能被4整除但不能被100整
除,2)直接能被400整除。

习题80-参考答案 #include <stdio.h> main() int a[9][9],i,j; for(i=0;i<9;i++) { for(j=0;j<=i;j++) printf("%d\t",a[i][j]); printf("\n"); for(j=0;j<9;j++) int a[10][10],i,j; for(i=0;i<10;i++)
{ for(j=0;j<=i;j++) printf("%d\t",a[i][j]);
printf("\n"); for(j=0;j<=i;j++) if(j==0||i==j) else
a[i][j]=a[i-1][j]+a[i-1][j-1]; C语言程序设计习题(编程题
if(i%4==0&&i%100!=0||i%400==0) else printf("The %d is NOT a RunNian\n",i); 习题81(编程题)[知识点:选择结构输出2000-
2050年之间的所有闰年。

闰年的条件:1)年份能被4整除但不能被100整
除,2)直接能被400整除。

习题81-参考答案 #include <stdio.h> main()
{ 习题82(编程题)[知识点:子程序和函数从键盘输入三
个整数,要求设计三个指针变量P1,P2,P3,使P1指向三个数中的最大
值,P2指向三个数中的次最大值,P3指向三个数中最小值,然后按由大到小顺序输出三个数。

习题82-参考答案 #include <stdio.h> main()
int *p1,*p2,*p3; printf("input data,use spac between data \n"); scanf("%d%d%d",&i,&j,&k); p1=&i;p2=&j;p3=&k; {temp=*p1;*p1=*p2;*p2=temp;} {temp=*p1;*p1=*p3;*p3=temp;} {temp=*p2;*p2=*p3;*p3=temp;} printf("%d %d %d", *p1 , *p2 ,
*p3 ); 习题83(编程题)[知识点:子程序和函数编写一程序,
从键盘输入三个数分别给变量i,j,k.同时设置三个指针变量p1,p2,p3分别
指向变量i,j,k然后通过指针变量控制使i,j,k三个变量值的顺序交换,即
原来i的值赋给j,把原来j的值赋给k,把原来k的值赋给i,最后输出
i,j,k的值。

习题83-参考答案 #include <stdio.h> if(i%4==0&&i%100!=0||i%400==0)。

相关文档
最新文档