11.09日常练习

遗漏知识点

1.有关i++问题:
[ int i=1,x; ]
x=i++;输出x=1;i=2;
x=++i;输出x=2;i=2;
x=i–;输出x=1;i=0;
x=–i;输出x=0;i=0;
结果:1331;
2.加减运算方面
a+=1 ==> a=a+2

练习

输入不同字符计算种类个数******************************************

/* Note:Your choice is C IDE */
#include “stdio.h”
void main()
{
int x=0,f=0,y=0,z=0;
char a;
while(a!=’\n’)
{
a=getchar();
if(a>=‘a’&&a<=‘z’)
x++;
if(a>=‘0’&&a<=‘9’)
y++;
if(a>=‘A’&&a<=‘Z’)
z++;

	   f++;   //如果增加else则丢掉循环大写字母计数,应单独考虑.  

}

printf("%d %d %d %d ",x,y,z,f-1-x-y-z);
}

不同位数相乘问题 n由键盘输入*


/* Note:Your choice is C IDE 不同位数相乘问题 n由键盘输入*/
#include “stdio.h”
#include"math.h"//调用数学函数来计算x^y问题
void main()

{
int a,n,x;
scanf("%d",&n);
if(n!=0)
printf("%d “,a=2);
for(a=2,x=1;x<=n;x++)
{
a=a+2*pow(10,x); //因为输入的为整数,所以不会丢失精度.
//pow(x,y)可以计算x^y问题 原型:double pow(double x,double y);
printf(”%d ",a);
}

}

求解最大公约数最小公倍数问题 ******************************************************************

/* Note:Your choice is C IDE 求解最大公约数最小公倍数问题 */
#include “stdio.h”
void main()
{
int max,a,b,q,w;
scanf("%d%d",&a,&b);
max=(a>b)?a:b;//C使用三目运算符简便计算
for(w=1,q=2;q<max;q++)
{
if(max%q==0)
{

	  printf("最小公倍数为%d",q);
	  w=0;break;
	 }
 }
if(w==1)
  {
  	printf("未找到最小公倍数");
  } 

//先计算最小公倍数可使计算最大公约数时,max的量虽然改变但不影响计算的目的

for(w=1;max>1;max--)
  {
   	 if(a%max==0&&b%max==0)
   	   {
   	   	  printf("最大公约数为%d",max);
   	      w=0;break;
   	   }
  }

if(w==1)
 {
    printf("未找到最大公约数\n"); 
 }

}

计算阶乘之和问题*************************************************

/* Note:Your choice is C IDE 计算阶乘之和问题 /
#include “stdio.h”
void main()//循环的嵌套
{
int x,y,h,sum=0;
for(y=1;y<=20;y++)
{
h=1;//重新定义变量
for(x=1;x<=y;x++)
{
h=x
h;

       }
    sum=sum+h;
  }
printf("%d",sum);  

} /注意调用变量前定义需用变量的初始值,否则可能导致变量错误赋值

猜你喜欢

转载自blog.csdn.net/qq_45688164/article/details/102990208