您的位置:首页 > 其它

今日学习——基础程序

2016-10-11 16:38 225 查看
1.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出.

#include<stdio.h>

int main()

{

 char ret;

 while((ret=getchar())!=EOF)

 {

  if(ret>='0'&&ret<='9');

  if(ret>='A'&&ret<='Z')

   printf("%c\n",ret+32);

  if(ret>='a'&&ret<='z')

   printf("%c\n",ret-32);

 }

 system("pause");

 return 0;

}

2.写程序求一元二次方程的解。

#define M 0.000001

#include<stdio.h>

#include<math.h>

int main()

{

 float a=0.0, b=0.0,c=0.0;

 scanf("%f %f %f",&a,&b,&c);

 if(a>-M&&a<M)

 {

  printf("该方程不是一元二次方程\n");

 }

 else

 {

  double N;

  N=pow(b,2)-4*a*c;

  if(N>-M&&N<M)

  {

   printf("%f\n",(-b)/(2*a));

  }

  if(N>0)

  {

   printf("%f %f\n",((-b)+sqrt(N))/(2*a),((-b)-sqrt(N))/(2*a));

  }

  if(N<0)

  {

   printf("一元二次方程有两个共轭根\n");

  }

 }

 system("pause");

 return 0;

}

3.练习:编写代码,演示多个字符从两端移动,向中间汇聚。

#include<stdio.h>

#include<math.h>

int main()

{

 char arr1[]={"hello world"};

 char arr2[]={"###########"};

 int i=0;

 int j=strlen(arr1)-1;

 

 while(i<=j)

 {

  arr2[i]=arr1[i];

  arr2[j]=arr1[j];

  printf("%s\n",arr2);

  i++;

  j--;

 }

 system("pause");

 return 0;

}

4.编写代码实现,模拟用户登录情景,并且只能登录三次。

#include<stdio.h>

int main()

{

 int arr1[6];

 int i=0;

 for(i=0; i<3; i++)

 {

  printf("请输入密码\n");

  scanf("%s",&arr1);

  if(strcmp(arr1,"123456")==0)

  {

   printf("登陆成功\n");

   break;

  }

  else

  {

   if(i<2)

   printf("密码错误,请重新输入\n");

  }

 }

 if(i==3)

 {

  printf("登陆失败,退出程序\n");

 }

 system("pause");

 return 0;

}

5.在屏幕上输出1,3,……11,13菱形图案:

方法一

#include<stdio.h>

int main()

{

 int i,j,n;

 printf("input\nplease input n:\n");

 scanf("%d",&n);

 printf("output:\n");

 for(i=1; i<=n+1; i++)

 {

  for(j=1; j<=n+1-i; j++)

  {

   printf(" ");

  }

  for(j=1;j<=2*i-1; j++)

  {

   printf("*");

  }

  printf("\n");

 }

 for(i=n; i>0; i--)

 {

  for(j=n+1-i; j>0;j--)

  {

   printf(" ");

  }

  for(j=2*i-1; j>0; j--)

  {

   printf("*");

  }

  printf("\n");

 }

 system("pause");

 return 0;

}

方法二

#include<stdio.h>

int main()

{

 char arr1[]={"*************"};

 char arr2[]={"             "};

 char arr3[]={"             "};

 int i=strlen(arr1)/2;

 int j=strlen(arr2)/2;

 

 while(i>=0)

 {

  arr2[i]=arr1[i];

  arr2[j]=arr1[j];

  printf("%s\n",arr2);

  i--;

  j++;

 }

 i=0;

 j=12;

 while(i<=j)

 {

  arr1[i]=arr3[i];

  arr1[j]=arr3[j];

  printf("%s\n",arr1);

  i++;

  j--;

 }

 

 system("pause");

 return 0;

}

6.求出0~999之间的所有“水仙花数”并输出

#include<stdio.h>

#include<math.h>

int main()

{

 int i=0;

 int j=0;

 int n=0;

 int sum=0;

 for(i=100; i<=999; i++)

 {

   n=i;

  for(j=0; j<3; j++)

  {

   sum+=pow(n%10,3);

   n=n/10;

  }

  if(sum==i)

  {

   printf("%d ",i);

  }

  sum=0;

 }

 system("pause");

  return 0;

}

7.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字

#include<stdio.h>

#include<math.h>

int main()

{

 int a;

 int i=0;

 int m=0;

 int sum=0;

 scanf("%d",&a);

 for(i=0; i<5; i++)

 {

  m+=a*pow(10,i);

  sum+=m;

 }

 printf("%d\n",sum);

 system("pause");

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: