今日学习——基础程序

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值