华南农业大学C语言程序设计课后习题(第五章)已修改

华南农业大学C语言程序设计课后习题(第五章)

18046 字母分类统计
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
输入一行以换行符结束的字符,统计并输出其中英文字母、数字、空格和其它字符的个数。

输入格式
一行字符,以换行符结束

输出格式
一行4个数字分别为:英文字母、数字、空格和其它字符的个数,两数据之间以一个空格分隔

输入样例
ABC 456!

#include<stdio.h>
int main()
{
 int e=0,n=0,s=0,o=0;
 char ch;
 while((ch=getchar())!='\n')
 {
 if('0'<=ch&&ch<='9')
 n++;
 else if(65<=ch&&ch<=90||97<=ch&&ch<=122)
 e++;
 else if(ch==' ')
 s++;
 else
 o++;
 }
 printf("%i %i %i %i",e,n,s,o);
 return 0;
}

18047 水仙花数
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
输出所有的水仙花数。所谓水仙花数是一个3位的正整数,其各位数字的立方和等于这个数本身。
例如,153是水仙花数,因为13+53+3^3=153。 ^代表上标

输入格式

输出格式
一行一个,由小到大输出所有水仙花数

输入样例

输出样例

#include<stdio.h>
int main()
{
 int i,b,s,g;
 for(i=100;i<=999;i++)
 {
  g=i%10;
  s=i/10%10;
  b=i/100;
  if((g*g*g+s*s*s+b*b*b)==i)
  printf("%d\n",i);
 }
 return 0;
}

1037 计算数列和
时间限制:1000MS 内存限制:65536K
提交次数:5299 通过次数:3882

题型: 编程题 语言: G++;GCC
Description 有数列:

编程实现,由键盘输入n,计算输出数列前n项和。(结果保留四位小数,提示:要使用double,否则精度不够)
在这里插入图片描述

输出格式
请按格式输出

输入样例
20

输出样例
32.6603

#include<stdio.h>
int main()
{    
double i,q=1,z=2,t,a=2,n;
scanf("%lf",&n);
for(i=1;i<n;i++)
{
t=q+z;
a+=t/z;
q=z;
z=t;
}
printf("%.4f",a);
return 0;
}

18048 自由落体
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
一个球从100米的高度自由落下,每次落地后弹起的原来高度的一半。计算并输出第n次落地时,共经过了多少米,第n次弹起的高度是多少?结果显示3位小数。

输入格式
从键盘输入一个数n(n>0)

输出格式
输出两个数,分别为共经过的米数和第n次弹起的高度,以一个空格分隔

输入样例
1

输出样例
100.000 50.000

#include<stdio.h>
int main()
{
 double sum=100,n,i,s=50;
 scanf("%lf",&n);
 for(i=1;i<=n-1;i++)
 {
 sum+=s*2;
 s/=2;
 }
 printf("%.3f %.3f",sum,s);
 return 0;
}

18049 迭代法求平方根
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
使用迭代法求a的平方根。求平方根的迭代公式如下,要求计算到相邻两次求出的x的差的绝对值小于1E-5时停止,结果显示4位小数

输入格式
输入一个非负实数a

输出格式
计算并输出平方根

输入样例
16

输出样例
4.0000

#include<stdio.h>
#include<math.h>
int main()
{
 double a,x0=1,x1=1,h;
 scanf("%lf",&a);
 do
 {
    x0=x1;
    x1=(1.0/2)*(x0+a/x0);
 }
 while(fabs(x1-x0)>=1E-5);
 printf("%.4f",x1);
 return 0;
}

18050 打印三角形
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
编写程序,输入整数n,输出n行的字符图案。例如n=5时输出:

输入格式
输入一个整数

输出格式
输出2*n-1行的三角形

输入样例
2

输出样例

#include<stdio.h>
#include<math.h>
int main()
{
 int n,i,j;
 scanf("%d",&n);
 for(i=1;i<=2*n-1;i++)
 {
   for(j=1;j<=abs(n-i);j++)
   printf(" ");
   for(;j<=n;j++)
   printf("*");
   printf("\n");
 }
 return 0;
}

18051 勾股数
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题 语言: G++;GCC;VC
Description
若三个正整数a、b、c,其中a<=b<=c,满足a2+b2=c2,其中表示上标,称这三个数为“勾股数”,例如:3、4、5是勾股数。编程输出不大于n的所有勾股数。

输入格式
输入一个数(n<=100)

输出格式
输出所有勾股数,按第1个数字由小到大排列(若第1个数字相同,按第2个数字排)

输入样例
5

输出样例
3 4 5

#include<stdio.h>
int main()
{
 int i,j,k,z,n1,n2,n3;
 scanf("%d",&z);
 for(n1=1;n1<=z;n1++)
 {
   for(n2=n1;n2<=z;n2++)
   {
     for(n3=n2;n3<=z;n3++)
     {
      if(n1*n1+n2*n2==n3*n3)
      printf("%i %i %i\n",n1,n2,n3);
     }
   }
 }
 return 0;
}
  • 17
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑾瑜D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值