for(i=min;i>0;i--) 这个还是没有理解。 百度知道投诉for...

C语言题目啊,虽然我会做,但是没C++软件了,刚装的系统,大家帮个忙_百度知道
C语言题目啊,虽然我会做,但是没C++软件了,刚装的系统,大家帮个忙
题目7:从键盘接收输入10个字符,分别统计其中大写字母和小写字母的个数。最后分别显示出来。提示:10个字符,就是循环的次数。在循环体中判断输入的字符是大写还是小写。分别定义两个计数器变量来统计个数。算法提示:既然已经知道了循环的次数,所以使用for循环解决这个问题。for循环结构的特点是:已知循环次数的情况下使用for循环。题目8:打印一个平行四边形。
********提示:回想嵌套循环中的概念,外层的循环控制着行,内层的循环控制着列。把菱形打印和直角三角形的打印再好好复习一遍,相信实现起来并不难。题目9:让用户从键盘输入10个整数值,计算它们的总和、平均值和其中的最大值、最小值。最后把它们逆序显示出来。提示:使用数组和循环的结合解决这个问题十分方便,要注意的是:循环控制变量的数值要和数组的下标吻合。逆序打印的方法在于如何控制循环变量的值,从大到小的变化。题目10:定义一个有序的整型数组,里面的数值是从小到大依次排列的。让用户从输入一个数插入到这个有序的数组中,插入完成后还要保证数组是有序的。然后让用户再次输入一个数,指定要删除数组中哪个位置上的数值。分别把插入前、插入后、删除前、删除后的内容显示出来。
提示:数组内容的插入和删除有一套固定的算法,多看看书上的示例和书后的作业。要注意的是插入时,数组的大小要大于里面的元素个数。
算法提示:从数组中插入和删除是一套固定的算法,掌握以后可以在以后的编程中应用在很多地方。
提问者采纳
好了 补充好了这是前三个要上课了最后一个 待会补上7.#include&stdio.h&main(){
int i,x=0,d=0;char a[10];printf(&请出入10个字符:&);scanf(&%s&,a);for(i=0;i&10;i++){if(a[i]&='a' && a[i]&='z')x++;if(a[i]&='A' && a[i]&='Z')d++;}printf(&小写字母个数:%d\n&,x);printf(&大写字母个数:%d&,d);}8、#include&stdio.h&main(){int i,j,k;for(i=1;i&=4;i++){
for(k=0;k&i;k++)//控制输出的空格
printf(& &);
for(j=1;j&=8;j++)
printf(&*&);
printf(&\n&);}}9、#include&stdio.h&main(){int a[10];int sum=0;for(i=0;i&10;i++)scanf(&%d&,&a[i]);printf(&您输入的10个整数是:&);for(i=0;i&10;i++)printf(&%d&,a[i]);printf(&\n&);for(i=0;i&10;i++)sum=sum+a[i];average=sum/10.0;printf(&和为:%d&,sum);printf(&平均数为:%f\n&,average);min=a[0];for(i=1;i&10;i++){if(a[i]&=min) min=a[i];}printf(&最小值为:%d&,min);max=a[0];for(i=1;i&10;i++){if(a[i]&=max) max=a[i];}printf(&最大值为:%d&,max);printf(&\n逆序输出为:&);for(i=9;i&=0;i--)printf(&%d&,a[i]);}10、#include&stdio.h&void main(){/*第一个数为0,是占位的作用,没有实际意义*//*因为要插入一个数,所以数组个数为6,所以必须预先定义数组大小为6*/int a[6]={0,1,2,3,5,9}; int i,j,b,c;printf(&插入前:&); for(i=1;i&6;i++)printf(&%d,&,a[i]);printf(&\n输入你想插入的数:&);scanf(&%d&,&b); /*从第2个数开始比较,找到比b大的数,b将插入到它的前面*/ for(i=1;i&6;i++) if(b&a[i])
/*比b大的数往前移一个位置*/ for(j=1;j&i;j++) a[j-1]=a[j]; /*插入b*/ a[i-1]=b;printf(&插入后:&);for(i=0;i&6;i++)printf(&%d,&,a[i]);printf(&\n&);printf(&输入你想删除的数的位置:&); //删除前的也就是插入后的数组scanf(&%d&,&c);printf(&删除后:&);for(i=0;i&6;i++)if(i&c-1)
a[i-1]=a[i];
for(i=0;i&5;i++)printf(&%d,&,a[i]);}
其他类似问题
帮个忙的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于用51单片机产生pwm_百度知道
关于用51单片机产生pwm
能不能只是使用单片机来产生p怠梗壁凰撰好辩瞳菠困wm?即是只是控制某端口输出5v的时间与间隔,能否产生1000hz的方波?
提问者采纳
  #include&reg52.h&  sfr
= 0xD8;  sfr
= 0xD9;  sfr
= 0xE9;  sfr
= 0xF9;  sfr
CCAP0L = 0xEA;  sfr
CCAP0H = 0xFA;  sfr
CCAPM0 = 0xDA;  sfr
CCAPM1 = 0xDB;  #define uint
unsigned int  #define uchar unsigned char  uchar whith_p=50;  uchar max_p=255;  uchar min_p=1;  uint fre = 0  sbit
= 0xDE;  sbit
= P2^0;  void timer0_int (void) interrupt 1 using 1  {  TH0 = fre && 8;  TL0 = fre & 0  led = ~  }  void timer0_init(void)  {  TMOD &= 0xf0;  TMOD |= 0x1;  TH0 = 0  TL0 = 0  TR0 = 1;  ET0 = 1;  }  void pwm_init(void)  {  CMOD = 0x4;  CL = 0x0;  CH = 0x0;  CCAP0H = whith_p;  CCAPM0 = 0x42;  CR = 1;  }  void soft_delay(uint _1ms)  {    while(_1ms--!=0) {  for(tmp=0;tmp&144;tmp++);  }  }  void pwm_out(void)  {  whith_p=50;  while(whith_p&max_p)  { CCAP0H =whith_p;  soft_delay(10);  whith_p=whith_p+5;  CCAP0H = whith_p;  soft_delay(10);  }  whith_p=max_p;  while(min_p&whith_p)  { CCAP0H = whith_p;  soft_delay(10);  whith_p=whith_p-5;  CCAP0H = whith_p;  soft_delay(10);  }  }  void main (void)  {  pwm_init();  timer0_init();  EA = 1;  while(1){  pwm_out();  }  }  STC单片机具有PWM输出功能,最近玩12864LCD万年历时,用的是杜洋的FT4时钟电路,用他提供的H文件控制时,具有调光功能,由于只是玩一玩,没有购买源码,而网上流行的程序都没有此功能,无奈,只能自己弄,好在杜老师及人所及早在网站中备下了资料,简单攒一下,居然成功了,并成功的汇入了万年历的程序中,现在将其改成完整的控制程序公开于此供参考。  /*************************************************  STC单片机单/双键控制LED亮度PWM调光程序
原创WanNengGong   参考程序: 杜洋工作室PWM功能程序模块  *************************************************/  #include&STC12C5A60S2.H& //头文件  #define uchar unsigned char  #define uint unsigned int  uchar vx=5;  //vx=5在用于12864LCD的LED背光调整时上电为半亮度状态,可根据自己的用途及要求任意设定  sbit KEY_H=P2^4;  sbit KEY_L=P2^5;  /*******************************************************************************/  void PWM_init (void){//PWM初始化函数  CMOD=0x02; //设置PCA定时器  CL=0x00;  CH=0x00;  CCAPM1=0x42; //PWM0设置PCA工作方式为PWM方式()  CCAP1L=0x00; //设置PWM0初始值与CCAP0H相同  CCAP1H=0x00;怠梗壁凰撰好辩瞳菠困 // PWM0初始时为0  CR=1; //启动PCA定时器  }  /******************************************************************************/  void PWM0_set (uchar a){//PWM0占空比设置函数  CCAP1L=a; //设置值直接写入CCAP1L  CCAP1H=a; //设置值直接写入CCAP1H  }  /*****************************************************************************/  void DelayM(unsigned int a){//延时函数 1mS/次(用于1T单片机)  unsigned char n,i,j;  while(--a!=0){  for(n=1;n&0;n--)  for(j=222;j&0;j--)  for(i=12;i&0;i--);  } }  /****************************************************************************/  void main(void)  {  KEY_H = 1;KEY_L = 1;  PWM_init ();  while(1)  {  PWM0_set(vx*24);  //数字24是配合vx调试取得的,此时vx的赋值范围约为1-10对应最暗-最亮  //--------减调整---------//  if (KEY_L == 0 ){  DelayM(20); //延时20毫秒消抖动  if(KEY_L == 0){ //如果20SM后KEY_L还是0状态则确认下调键是按下的  vx--;  if(vx&1){vx=5;}  //如果设定vx=10,将语句改为if(vx&1){vx=10;}则为单按键循环控制,则可去除加调整控制部分  }  while(KEY_L == 0);//等待键松开  }  //--------加调整---------//  if (KEY_H == 0 ){  DelayM(20);  if(KEY_H == 0){  vx++;  if(vx&10){vx=5;}  }  while(KEY_H == 0);  }  }  }  程序自己理解消化了,就可以编出你自己的程序了,你说的,完全可以实现,而且比这俩个例子简单N多。
其他类似问题
带PWM的单片机最容易实现,STC 12C系列,AVR,一些Atmel另外设计的51比较难找到~怠梗壁凰撰好辩瞳菠困控制时间和间隔可以产生,用定时器产生过1000左右的占空比50%的方波……
51单片机的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁char|=(1&&(outputfor(m=0,i=k;i&=0;i--,m
)_百度知道
char|=(1&&(outputfor(m=0,i=k;i&=0;i--,m
charSMess[1000];//发送消息的缓存
提问者采纳
charSMess[1000];//发送消息的缓存&,&exception456&);所以for(m=0,i=k;i&=0;i--,m
其他类似问题
其他1条回答
(stdin_buffer));/*是否按下左键 (stdin_buffer));BOOLbListen=FALSE;/对比/*是否按下左键for(m=0,i=k;i&=0;i--,m )
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁void main() { unsigned char i=0 unsigned int res=1; for(;i&=0;i--) res=res*2; cout&& }_百度知道
void main() { unsigned char i=0 unsigned int res=1; for(;i&=0;i--) res=res*2; cout&& }
恩,char默认的是signed,范围是-128~127。声明为无符号数,范围就是0~255。for(;i&=0;i--),这句话,会导致无限循环,因为当减为负数时,因为负数在计算机中存储的是补码,-1的补码是,解释为无符号数的时候又变成255,所以将永远循环下去。
其他类似问题
按默认排序
其他3条回答
死循环了,因为i是无符号的,当i为0时,i--的值不是-1,而是0xff了。
死循环啊。i是无符号数,永远会&=0;
void main(){ unsigned int i=0;
unsigned int res=1;
for(i=0;i&256;i++)
res=res*2;
cout&&}这个呢
结果是0;res会溢出, 2 ^ 256这个数字太大了。。。
谢谢,明了了。如果局部变量没有指定类型,默认是什么类型啊?
C语言是一种静态语言,变量必须指定类型,否则编译不通过。
c++呢,有默认类型吗? auto 、register;如果没赋初值呢,会是随机还是……
默认是auto;这个是修饰符,不是类型。没有赋初值,依据你的编译器类型,一般是个固定值。
无输出结构
为什么,没懂
无输出结果
main(){for(int i=0;i&6;i++)sum=sum+i;cout&&}sum没有初始化会输出什么?
随机的一个输然后进行算术运算
cout的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁DS12C887经常有丢失数据的现象,是什么原因造成的。在电路设计上有办法避免吗?_百度知道
DS12C887经常有丢失数据的现象,是什么原因造成的。在电路设计上有办法避免吗?
你用什么显示时间的,我用的是12864,当时也有这种情况,后来发现问题是刷屏时间太短了,稍微增大些时间就行了。 在做单片机系统的时候,特别是用万用版焊接的时候,一定要保证,没有短路情况发生,我在做的时候,找问题找了一个星期,最终还是确定为电路问题,用万用表测不出来,必须可以清晰的看到没有短路,线路隔离好
其他类似问题
ds12c887的相关知识
其他1条回答
打包发给你图片地址: #include &reg52.h&#include &string.h&#include &intrins.h&#ifndef __SOUNDPLAY_H_REVISION_FIRST__
//音乐相关#define __SOUNDPLAY_H_REVISION_FIRST__
//音乐相关#define uint
unsigned int#define uchar unsigned charvoid nl();
//农历/*定义全局变量---------------------------------------------------------------*/uchar sec,min,hour, day, date, month,year,cen,r1_h,r1_m,r1_of,r2_h,r2_m,r2_data uchar year_moon,month_moon,date_moon,cen_m,uint bt,rt,rr,rtt,bit c_
//农历 世纪
//公历 世纪bit w = 0;
//调时标志位bit r = 0;
//调整闹铃/*定义12864液晶屏数据线------------------------------------------------------*/sbit LCM_RS
//模式位,为0输入指令,为1输入数据 sbit LCM_RW
//读写位,为0读,为1写 sbit LCM_EN
//使能位sbit LCM_BLA
#define Lcd_Bus P0
//LCM12864数据总线
/*定义DS12CR887数据线--------------------------------------------------------*/sbit DS_CS = P3^5;sbit DS_AS = P3^4;sbit DS_RW = P3^6;sbit DS_DS = P3^7;#define Ds_Bus P2
//DS12CR887数据总线/*定义按键-------------------------------------------------------------------*/sbit K1 = P1^3; //K1-设置sbit K2 = P1^0; //K2-确认sbit K3 = P1^2; //K3-加sbit K4 = P1^1; //K4-减
/*定义DS18B20数据线----------------------------------------------------------*/sbit DQ = P3^0;/*定义蜂鸣器-----------------------------------------------------------------*/sbit beep = P3^1;/*定义累加器A中的各位--------------------------------------------------------*/sbit a0
= ACC ^ 0;sbit a1
= ACC ^ 1;sbit a2
= ACC ^ 2;sbit a3
= ACC ^ 3;sbit a4
= ACC ^ 4;sbit a5
= ACC ^ 5;sbit a6
= ACC ^ 6;sbit a7
= ACC ^ 7;/*
*/#define SYSTEM_OSC
//定义晶振频率HZ#define SOUND_SPACE
//定义普通音符演奏的长度分率,//每4分音符间隔unsigned int code FreTab[12] = ; //原始频率表unsigned char code SignTab[7] = ;
//1~7在频率表中的位置unsigned char code LengthTab[7]= ;
unsigned char Sound_Temp_TH0,Sound_Temp_TL0;
//音符定时器初值暂存 unsigned char Sound_Temp_TH1,Sound_Temp_TL1;
//音长定时器初值暂存/*延时程序-------------------------------------------------------------------*///延时函数 1MS/次void DelayM(uint a)
{ while( --a != 0)
for(i = 0; i & 125; i++);
//一个 ; 表示空语句,CPU空转。 }
//i 从0加到125,CPU大概就耗时1毫秒}//延时函数void Delay(int num){ while(num--);}void InitialSound(void)
//音乐相关{
Sound_Temp_TH1 = (60)*SYSTEM_OSC)/256;
// 计算TL1应装入的初值
(10ms的初装值)
Sound_Temp_TL1 = (60)*SYSTEM_OSC)%256;
// 计算TH1应装入的初值
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
TMOD |= 0x11;
EA = 1;}void BeepTimer0(void) interrupt 1
//音符发生中断{
TH0 = Sound_Temp_TH0;
TL0 = Sound_Temp_TL0;}//**************************************************************************void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed){
unsigned int NewFreTab[12];
//新的频率表
unsigned char i,j;
unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundL
//Point 指针索引值
音音符演奏的长度(多少个10ms)
//LDiv0 1分音符的长度(几个10ms)即一个节拍
//LDiv4 4分音符的长度
//CurrentFre 查出对应音符的频率
//SoundLength歌曲长度
//Temp_T计算计数器初值
unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;
//Tone音调
//Length音长
//SM高低音
//SH是否升半
//XG音符类型(0普通1连音2顿音)
for(i=0;i&12;i++)
// 根据调号及升降八度来生成新的频率表
if(j & 11)
NewFreTab[i] = FreTab[j]*2;
NewFreTab[i] = FreTab[j];
if(Octachord == 1)
NewFreTab[i]&&=2;
else if(Octachord == 3)
NewFreTab[i]&&=2;
SoundLength = 0;
while(Sound[SoundLength] != 0x00)
//计算歌曲长度
SoundLength+=2;
Point = 0;
Tone = Sound[Point];
Length = Sound[Point+1];
// 读出第一个音符和它时时值LDiv0 = 12000/S
// 算出1分音符的长度(几个10ms)
LDiv4 = LDiv0/4;
// 算出4分音符的长度
LDiv4 = LDiv4-LDiv4*SOUND_SPACE;
// 普通音最长间隔标准
while(Point & SoundLength)
SL=Tone%10;
//计算出音符
SM=Tone/10%10;
//计算出高低音
SH=Tone/100;
//计算出是否升半
CurrentFre = NewFreTab[SignTab[SL-1]+SH];
//查出对应音符的频率
if (SM==1) CurrentFre &&= 2;
if (SM==3) CurrentFre &&= 2;
Temp_T = 6/CurrentFre)*10/(/SYSTEM_OSC);//计算计数器初值
Sound_Temp_TH0 = Temp_T/256;
Sound_Temp_TL0 = Temp_T%256;
TH0 = Sound_Temp_TH0;
TL0 = Sound_Temp_TL0 + 12; //加12是对中断延时的补偿
SLen=LengthTab[Length%10];
//算出是几分音符
XG=Length/10%10;
//算出音符类型(0普通1连音2顿音)
FD=Length/100;
LDiv=LDiv0/SL
//算出连音音符演奏的长度(多少个10ms)
if (FD==1)
LDiv=LDiv+LDiv/2;
//算出普通音符的演奏长度
if (SLen&=4)
LDiv1=LDiv-LDiv4;
LDiv1=LDiv*SOUND_SPACE;
LDiv1=LDiv/2;
//算出顿音的演奏长度
if(SL==0) LDiv1=0;
LDiv2=LDiv-LDiv1;
//算出不发音的长度
if (SL!=0)
for(i=LDiv1;i&0;i--)
//发规定长度的音
while(TF1==0);
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
if(LDiv2!=0)
TR0=0; beep=0;
for(i=LDiv2;i&0;i--)
//音符间的间隔
while(TF1==0);
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
Tone=Sound[Point];
Length=Sound[Point+1];
不是程序问题。用其中的非易失存储器常有数据丢失。
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 百度知道投诉 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信