admin 管理员组文章数量: 887021
2024年2月21日发(作者:osi七层模型单元)
1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。
程序如下:
#include"stdio.h"
main()
{
int score1,score2,score3,sum,ave,rem;
printf("Please input 3 scores:");
scanf("%d%d%d",&score1,&score2,&score3);
sum=score1+score2+score3;
ave=sum/3;
rem=sum%3;
printf("sum=%d,ave=%d,rem=%d",sum,ave,rem);
}
2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。
程序如下:
#include"stdio.h"
#include"math.h"
main()
{
float s,a,b,c,area;
printf("Please input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f",area);
}
3.用格式控制符打印以下图形。
*
***
*****
*******
程序如下:
#include"stdio.h"
main()
{
printf("*n");
printf("***n");
printf("*****n");
printf("*******");
}
4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。
#include"stdio.h"
main()
{
char ch;
printf("please input string:");
do
{
scanf("%c",&ch);
printf("%c",ch);
}while(ch!=10);
}
5. 打印出如下图案:
*
***
******
********
******
***
*
程序如下:
#include"stdio.h"
main()
{
int i,j;
for(i=1;i<5;i++)
{
for(j=1;j<=2*i-1;j++)
printf("*");
printf("n");
}
for(i=3;i>=1;i--)
{
for(j=2*i-1;j>=1;j--)
printf("*");
printf("n");
}
}
6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。
程序如下:
#include"stdio.h"
main()
{
int i,j,sum;
for(i=1;i<=1000;i++)
{
for(j=1,sum=0;j<=i/2;j++)
if(i%j==0)
sum+=j;
if(sum==i)
printf("%-6d",i);
}
}
7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序如下:
#include
void main()
{
long f1,f2;
int i,n,m;
f1=f2=1;
printf("输入月数:n");
scanf("%d",&n);
for(i=3;i<=n;i++)
{
m=f2;
f2+=f1;
f1=m;
}
printf("%dn",f2);
}
8.打印楼梯,同时在楼梯上方打印两个笑脸
程序如下:
#include"stdio.h"
main()
{
int i,j;
printf("11n");
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",219,219);
printf("n");
}
}
9.编程输出国际象棋棋盘。
程序如下:
#include"stdio.h"
main()
{
int i,j;
for(i=1;i<8;i++)
{
for(j=1;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf(" ");
printf("n");
}
}
10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数)
程序如下:
#include "math.h"
main()
{
long int i,x,y;
x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("n%ldn",i);
}
11.打印出杨辉三角形(要求打印出10行图如下)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
程序如下:
main()
{
int l,r,c;
long int v;
printf("Input the rank of the triangle:n"); /*输入行数*/
scanf("%d",&r);
while(r<1||r>15) /* 范围1~15,自己用可以省去*/
{printf("nError! Input again:n");
scanf("%d",&r);
}
for(l=1;l<=r;l++)
{for(v=0;v<17-l;v++)
printf(" ");
v=1;
printf("1 ");
for(c=2;c<=l;c++)
{v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/
if(v<100) /*底下是控制打印后留的空格,
让整个三角形更美观*/
if(v<10)
printf("%ld ",v);
else
printf("%ld ",v);
else printf("%ld ",v);
}
printf("n");
}
}
12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。
程序如下:
main()
{
int i,j,k;
int m =100/5, n=100/3;
for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b; a=b; b=temp; } printf("The GCD of %d and %d is: %dn",num1,num2,a); /*输出最大公约数*/ } 14.将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。 程序如下: #include"stdio.h" main() { int i,j=0; for(i=0;i<128;i++) { printf("%c %d ",i,i); j++; if(j%7==0) printf("n"); } } 1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。 程序如下: #include"stdio.h" main() { int score1,score2,score3,sum,ave,rem; printf("Please input 3 scores:"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf("sum=%d,ave=%d,rem=%d",sum,ave,rem); } 2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。 程序如下: #include"stdio.h" #include"math.h" main() { float s,a,b,c,area; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f",area); } 3.用格式控制符打印以下图形。 * *** ***** ******* 程序如下: #include"stdio.h" main() { printf("*n"); printf("***n"); printf("*****n"); printf("*******"); } 4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。 #include"stdio.h" main() { char ch; printf("please input string:"); do { scanf("%c",&ch); printf("%c",ch); }while(ch!=10); } 7. 打印出如下图案: * *** ****** ******** ****** *** * 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<5;i++) { for(j=1;j<=2*i-1;j++) printf("*"); printf("n"); } for(i=3;i>=1;i--) { for(j=2*i-1;j>=1;j--) printf("*"); printf("n"); } } 8. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找 出1000以内的所有完数。 程序如下: #include"stdio.h" main() { int i,j,sum; for(i=1;i<=1000;i++) { for(j=1,sum=0;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) printf("%-6d",i); } } 7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序如下: #include void main() { long f1,f2; int i,n,m; f1=f2=1; printf("输入月数:n"); scanf("%d",&n); for(i=3;i<=n;i++) { m=f2; f2+=f1; f1=m; } printf("%dn",f2); } 8.打印楼梯,同时在楼梯上方打印两个笑脸 程序如下: #include"stdio.h" main() { int i,j; printf("11n"); for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("n"); } } 9.编程输出国际象棋棋盘。 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<8;i++) { for(j=1;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); } } 10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数) 程序如下: #include "math.h" main() { long int i,x,y; x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("n%ldn",i); } 11.打印出杨辉三角形(要求打印出10行图如下) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序如下: main() { int l,r,c; long int v; printf("Input the rank of the triangle:n"); /*输入行数*/ scanf("%d",&r); while(r<1||r>15) /* 范围1~15,自己用可以省去*/ {printf("nError! Input again:n"); scanf("%d",&r); } for(l=1;l<=r;l++) {for(v=0;v<17-l;v++) printf(" "); v=1; printf("1 "); for(c=2;c<=l;c++) {v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v<100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v<10) printf("%ld ",v); else printf("%ld ",v); else printf("%ld ",v); } printf("n"); } } 12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。 程序如下: main() { int i,j,k; int m =100/5, n=100/3; for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b; a=b; b=temp; } printf("The GCD of %d and %d is: %dn",num1,num2,a); /*输出最大公约数*/ } 14.将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。 程序如下: #include"stdio.h" main() { int i,j=0; for(i=0;i<128;i++) { printf("%c %d ",i,i); j++; if(j%7==0) printf("n"); } } 1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。 程序如下: #include"stdio.h" main() { int score1,score2,score3,sum,ave,rem; printf("Please input 3 scores:"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf("sum=%d,ave=%d,rem=%d",sum,ave,rem); } 2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。 程序如下: #include"stdio.h" #include"math.h" main() { float s,a,b,c,area; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f",area); } 3.用格式控制符打印以下图形。 * *** ***** ******* 程序如下: #include"stdio.h" main() { printf("*n"); printf("***n"); printf("*****n"); printf("*******"); } 4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。 #include"stdio.h" main() { char ch; printf("please input string:"); do { scanf("%c",&ch); printf("%c",ch); }while(ch!=10); } 9. 打印出如下图案: * *** ****** ******** ****** *** * 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<5;i++) { for(j=1;j<=2*i-1;j++) printf("*"); printf("n"); } for(i=3;i>=1;i--) { for(j=2*i-1;j>=1;j--) printf("*"); printf("n"); } } 10. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。 程序如下: #include"stdio.h" main() { int i,j,sum; for(i=1;i<=1000;i++) { for(j=1,sum=0;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) printf("%-6d",i); } } 7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序如下: #include void main() { long f1,f2; int i,n,m; f1=f2=1; printf("输入月数:n"); scanf("%d",&n); for(i=3;i<=n;i++) { m=f2; f2+=f1; f1=m; } printf("%dn",f2); } 8.打印楼梯,同时在楼梯上方打印两个笑脸 程序如下: #include"stdio.h" main() { int i,j; printf("11n"); for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("n"); } } 9.编程输出国际象棋棋盘。 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<8;i++) { for(j=1;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); } } 10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数) 程序如下: #include "math.h" main() { long int i,x,y; x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("n%ldn",i); } 11.打印出杨辉三角形(要求打印出10行图如下) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序如下: main() { int l,r,c; long int v; printf("Input the rank of the triangle:n"); /*输入行数*/ scanf("%d",&r); while(r<1||r>15) /* 范围1~15,自己用可以省去*/ {printf("nError! Input again:n"); scanf("%d",&r); } for(l=1;l<=r;l++) {for(v=0;v<17-l;v++) printf(" "); v=1; printf("1 "); for(c=2;c<=l;c++) {v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v<100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v<10) printf("%ld ",v); else printf("%ld ",v); else printf("%ld ",v); } printf("n"); } } 12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。 程序如下: main() { int i,j,k; int m =100/5, n=100/3; for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b; a=b; b=temp; } printf("The GCD of %d and %d is: %dn",num1,num2,a); /*输出最大公约数*/ } 14.将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。 程序如下: #include"stdio.h" main() { int i,j=0; for(i=0;i<128;i++) { printf("%c %d ",i,i); j++; if(j%7==0) printf("n"); } } 1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。 程序如下: #include"stdio.h" main() { int score1,score2,score3,sum,ave,rem; printf("Please input 3 scores:"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf("sum=%d,ave=%d,rem=%d",sum,ave,rem); } 2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。 程序如下: #include"stdio.h" #include"math.h" main() { float s,a,b,c,area; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f",area); } 3.用格式控制符打印以下图形。 * *** ***** ******* 程序如下: #include"stdio.h" main() { printf("*n"); printf("***n"); printf("*****n"); printf("*******"); } 4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。 #include"stdio.h" main() { char ch; printf("please input string:"); do { scanf("%c",&ch); printf("%c",ch); }while(ch!=10); } 11. 打印出如下图案: * *** ****** ******** ****** *** * 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<5;i++) { for(j=1;j<=2*i-1;j++) printf("*"); printf("n"); } for(i=3;i>=1;i--) { for(j=2*i-1;j>=1;j--) printf("*"); printf("n"); } } 12. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。 程序如下: #include"stdio.h" main() { int i,j,sum; for(i=1;i<=1000;i++) { for(j=1,sum=0;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) printf("%-6d",i); } } 7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序如下: #include void main() { long f1,f2; int i,n,m; f1=f2=1; printf("输入月数:n"); scanf("%d",&n); for(i=3;i<=n;i++) { m=f2; f2+=f1; f1=m; } printf("%dn",f2); } 8.打印楼梯,同时在楼梯上方打印两个笑脸 程序如下: #include"stdio.h" main() { int i,j; printf("11n"); for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("n"); } } 9.编程输出国际象棋棋盘。 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<8;i++) { for(j=1;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); } } 10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数) 程序如下: #include "math.h" main() { long int i,x,y; x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("n%ldn",i); } 11.打印出杨辉三角形(要求打印出10行图如下) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序如下: main() { int l,r,c; long int v; printf("Input the rank of the triangle:n"); /*输入行数*/ scanf("%d",&r); while(r<1||r>15) /* 范围1~15,自己用可以省去*/ {printf("nError! Input again:n"); scanf("%d",&r); } for(l=1;l<=r;l++) {for(v=0;v<17-l;v++) printf(" "); v=1; printf("1 "); for(c=2;c<=l;c++) {v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v<100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v<10) printf("%ld ",v); else printf("%ld ",v); else printf("%ld ",v); } printf("n"); } } 12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。 程序如下: main() { int i,j,k; int m =100/5, n=100/3; for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b; a=b; b=temp; } printf("The GCD of %d and %d is: %dn",num1,num2,a); /*输出最大公约数*/ } 14.将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。 程序如下: #include"stdio.h" main() { int i,j=0; for(i=0;i<128;i++) { printf("%c %d ",i,i); j++; if(j%7==0) printf("n"); } } 1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。 程序如下: #include"stdio.h" main() { int score1,score2,score3,sum,ave,rem; printf("Please input 3 scores:"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf("sum=%d,ave=%d,rem=%d",sum,ave,rem); } 2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。 程序如下: #include"stdio.h" #include"math.h" main() { float s,a,b,c,area; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f",area); } 3.用格式控制符打印以下图形。 * *** ***** ******* 程序如下: #include"stdio.h" main() { printf("*n"); printf("***n"); printf("*****n"); printf("*******"); } 4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。 #include"stdio.h" main() { char ch; printf("please input string:"); do { scanf("%c",&ch); printf("%c",ch); }while(ch!=10); } 13. 打印出如下图案: * *** ****** ******** ****** *** * 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<5;i++) { for(j=1;j<=2*i-1;j++) printf("*"); printf("n"); } for(i=3;i>=1;i--) { for(j=2*i-1;j>=1;j--) printf("*"); printf("n"); } } 14. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。 程序如下: #include"stdio.h" main() { int i,j,sum; for(i=1;i<=1000;i++) { for(j=1,sum=0;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) printf("%-6d",i); } } 7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序如下: #include void main() { long f1,f2; int i,n,m; f1=f2=1; printf("输入月数:n"); scanf("%d",&n); for(i=3;i<=n;i++) { m=f2; f2+=f1; f1=m; } printf("%dn",f2); } 8.打印楼梯,同时在楼梯上方打印两个笑脸 程序如下: #include"stdio.h" main() { int i,j; printf("11n"); for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("n"); } } 9.编程输出国际象棋棋盘。 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<8;i++) { for(j=1;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); } } 10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数) 程序如下: #include "math.h" main() { long int i,x,y; x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("n%ldn",i); } 11.打印出杨辉三角形(要求打印出10行图如下) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序如下: main() { int l,r,c; long int v; printf("Input the rank of the triangle:n"); /*输入行数*/ scanf("%d",&r); while(r<1||r>15) /* 范围1~15,自己用可以省去*/ {printf("nError! Input again:n"); scanf("%d",&r); } for(l=1;l<=r;l++) {for(v=0;v<17-l;v++) printf(" "); v=1; printf("1 "); for(c=2;c<=l;c++) {v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v<100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v<10) printf("%ld ",v); else printf("%ld ",v); else printf("%ld ",v); } printf("n"); } } 12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。 程序如下: main() { int i,j,k; int m =100/5, n=100/3; for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b; a=b; b=temp; } printf("The GCD of %d and %d is: %dn",num1,num2,a); /*输出最大公约数*/ } 14.将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。 程序如下: #include"stdio.h" main() { int i,j=0; for(i=0;i<128;i++) { printf("%c %d ",i,i); j++; if(j%7==0) printf("n"); } } 1.编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。 程序如下: #include"stdio.h" main() { int score1,score2,score3,sum,ave,rem; printf("Please input 3 scores:"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf("sum=%d,ave=%d,rem=%d",sum,ave,rem); } 2.输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=s(sa)(sb)(sc),其中a、b、c为三角形三边,s=(a+b+c)/2。 程序如下: #include"stdio.h" #include"math.h" main() { float s,a,b,c,area; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f",area); } 3.用格式控制符打印以下图形。 * *** ***** ******* 程序如下: #include"stdio.h" main() { printf("*n"); printf("***n"); printf("*****n"); printf("*******"); } 4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。 #include"stdio.h" main() { char ch; printf("please input string:"); do { scanf("%c",&ch); printf("%c",ch); }while(ch!=10); } 15. 打印出如下图案: * *** ****** ******** ****** *** * 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<5;i++) { for(j=1;j<=2*i-1;j++) printf("*"); printf("n"); } for(i=3;i>=1;i--) { for(j=2*i-1;j>=1;j--) printf("*"); printf("n"); } } 16. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。 程序如下: #include"stdio.h" main() { int i,j,sum; for(i=1;i<=1000;i++) { for(j=1,sum=0;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) printf("%-6d",i); } } 7.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序如下: #include void main() { long f1,f2; int i,n,m; f1=f2=1; printf("输入月数:n"); scanf("%d",&n); for(i=3;i<=n;i++) { m=f2; f2+=f1; f1=m; } printf("%dn",f2); } 8.打印楼梯,同时在楼梯上方打印两个笑脸 程序如下: #include"stdio.h" main() { int i,j; printf("11n"); for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("n"); } } 9.编程输出国际象棋棋盘。 程序如下: #include"stdio.h" main() { int i,j; for(i=1;i<8;i++) { for(j=1;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); } } 10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数) 程序如下: #include "math.h" main() { long int i,x,y; x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("n%ldn",i); } 11.打印出杨辉三角形(要求打印出10行图如下) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序如下: main() { int l,r,c; long int v; printf("Input the rank of the triangle:n"); /*输入行数*/ scanf("%d",&r); while(r<1||r>15) /* 范围1~15,自己用可以省去*/ {printf("nError! Input again:n"); scanf("%d",&r); } for(l=1;l<=r;l++) {for(v=0;v<17-l;v++) printf(" "); v=1; printf("1 "); for(c=2;c<=l;c++) {v=v*((l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v<100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v<10) printf("%ld ",v); else printf("%ld ",v); else printf("%ld ",v); } printf("n"); } } 12.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。 程序如下: main() { int i,j,k; int m =100/5, n=100/3; for(i=1; i { for(j=1; j { k=100-i-j; if(i*5+j*3+k/3 == 100 && i+j+k == 100 && k%3 == 0) printf("i=%d,j=%d,k=%dn",i,j,k); } } } 13.输入两个自然数,求解最大公约数。 程序如下: #include int main() { int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) /*找出两个数中的较大值*/ { temp=num1; num1=num2; num2=temp; /*交换两个整数*/ } a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ { temp=a%b;
版权声明:本文标题:c语言课后题答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708521129h526632.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论