经典c程序(17/20)

发布者:创新之星最新更新时间:2015-02-04 来源: laogu关键字:c程序 手机看文章 扫描二维码
随时随地手机看文章

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
   第10次落地时,共经过多少米?第10次反弹多高?
1.程序分析:见下面注释
2.程序源代码:
main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
 {
  sn=sn+2*hn;/*第n次落地时共经过的米数*/
  hn=hn/2; /*第n次反跳高度*/
 }
printf("the total of road is %f\n",sn);
printf("the tenth is %f meter\n",hn);
}

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
   找出1000以内的所有完数。
1. 程序分析:请参照程序<--上页程序14.
2.程序源代码:
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
 {
 n=-1;
 s=j;
  for(i=1;i   {
   if((j%i)==0)
   { n++;
    s=s-i;
    k[n]=i;
   }
  }
 if(s==0)
 {
 printf("%d is a wanshu",j);
 for(i=0;i  printf("%d,",k[i]);
 printf("%d\n",k[n]);
 }
}
}

 

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
   共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
main()
{
 int a,n,count=1;
 long int sn=0,tn=0;
 printf("please input a and n\n");
 scanf("%d,%d",&a,&n);
 printf("a=%d,n=%d\n",a,n);
 while(count<=n)
 {
  tn=tn+a;
  sn=sn+tn;
  a=a*10;
  ++count;
 }
printf("a+aa+...=%ld\n",sn);
}

 

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
      
2.程序源代码:
#i nclude "stdio.h"
main()
{char c;
 int letters=0,space=0,digit=0,others=0;
 printf("please input some characters\n");
 while((c=getchar())!='\n')
 {
 if(c>='a'&&c<='z' c>='A'&&c<='Z')
  letters++;
 else if(c==' ')
  space++;
   else if(c>='0'&&c<='9')
       digit++;
     else
       others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。

2.程序源代码:
main()
{
 int a,b,num1,num2,temp;
 printf("please input two numbers:\n");
 scanf("%d,%d",&num1,&num2);
 if(num1  { temp=num1;
  num1=num2; 
  num2=temp;
 }
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
 {
  temp=a%b;
  a=b;
  b=temp;
 }
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);
}

关键字:c程序 引用地址:经典c程序(17/20)

上一篇:经典c程序(18/20)
下一篇:经典c程序(16/20)

推荐阅读最新更新时间:2024-03-16 13:53

简单的加法计算器单片机c程序设计
/* //----------简单的加法计算器----------------- //------用数码管显示两位数的加法计算器;---------- //P0作为数码管的段码 //P1作为数码管的位码 //P2口作为矩阵键盘0----9,+,=;//本实训箱只有12个按键,P20---P26;P27未用; 先输入第一个数,当按+时,清屏,再显示输入的第二个数, 按=时,显示他们的和,再次按=数据清0; //本程序在普中单片机实训箱上通过 */ #include reg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char
[单片机]
msp430单片机的ds18b20测温度c程序
#include msp430x16x.h #define DS18B20_DIR P2DIR #define DS18B20_IN P2IN #define DS18B20_OUT P2OUT #define DS18B20_DQ BIT3 //定义DS18B20的接口 #define DS18B20_DQ_2 BIT4 //定义另一个DS18B20的接口 // DS18B20 ROM命令宏定义 #define ReadRom 0x33 #define MatchRom
[单片机]
51单片机驱动点阵16*16间断显示C程序
#include reg52.h #define uchar unsigned char #define uint unsigned int #define LINE P0//定义行线IO口,即74HC154控制端 #define shudu 20//字移动的速度 sbit DATA=P1^4;//74HC595数据端 sbit CLK=P1^5;//74HC595移位脉冲端 sbit CLKR=P1^6;//74HC595数据锁存端 uchar move;//移动几位变量 uchar line;//行变量 uchar word;//字节变量 uchar ji;//字节变量 uchar code table ={ 0x00,
[单片机]
51单片机驱动点阵16*16间断显示<font color='red'>C程序</font>
GPIO(二)C程序
@****************************************************************************** @ File:crt0.S @ 功能:通过它转入C程序 @****************************************************************************** .text .global _start _start: ldr r0, =0x53000000 @ WATCHDOG寄存器地址 mov r1, #0x0 str r1,
[单片机]
四位数码管显示的数字钟c程序自制
#include stc90.h #define uchar unsigned char uchar code shuzi ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};//0 1 2 3 4 5 6 7 8 9 0 uchar code shuza ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0xc0};//0 1 2 3 4 5 0 uchar ss,dd,ff,gg,zz; uchar qq,ww,ee,rr,tt; uchar z,x,qw,qe,qr,as,fe; sbit a=P2^0;//锁存器1 sbit b=P2^1;
[单片机]
四位数码管显示的数字钟<font color='red'>c程序</font>自制
用PIC16F877A单片机驱动按键控制8个数码管的显示的C程序
经典按键控制数码管C程序 #include htc.h #define HC595_SER RB7 #define HC595_SCK RB6 #define HC595_RCK RB5 #define key_164_data RB3 #define key_164_clk RB2 #define key_com1 RB1 #define key_com0 RB0 #define TURE 1 bit key_finish; //定义的位变量,这是PICmate仿真软件
[单片机]
西门子PLC程序编程技巧分享
一、程序结构统一 OB1:主程序; OB100:初始化程序(无需主程序调用); OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块; OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程); FC1:系统模式; FC2:输入处理; FC3:输出处理; FC4:运行处理; FC5:停止处理; FC6:手自动切换; FC100:之后用来建立一些可以循环调用的子程序; FC105:系统自带,模拟量输入子程序(可以循环调用); FC106:系统自带,模拟量输出子程序(可以循环调用); modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SN
[嵌入式]
基于单片机与ds1302时钟芯片的电子闹钟C程序
程序已通过编译与测试 #include reg52.h #define w_second 0x80 //秒写入地址 #define w_minute 0x82 //分写入地址 #define w_hour 0x84 //时写入地址 #define w_day 0x86 //日写入地址 #define w_month 0x88 //月写入地址 #define w_week 0x8a //星期写入地址 #define w_year 0x8c //年写入地址 #define r_second 0x81 //秒读出地址 #define r_minute 0x83 //分读出地址 #define r_hour
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved