my code

1.练习:编写代码,演示多个字符从两端移动,向中间汇聚。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#define M 10

void remmove(char arr1[],char arr2[])//缺点:两个数组的长度被固定,通用性差
{
	int left=0;
	int right=M-1;
	while(left<right)
	{
		Sleep(1000);
		arr2[left]=arr1[left];
		arr2[right]=arr1[right];
		printf("\n%s\n",arr2);
	        left++;
		right--;
	}
}
int main()
{
	char arr1[M]={0};
	char arr2[M]={0};
	scanf("%s",&arr1);
	scanf("%s",&arr2);
	printf("%s\n",arr1);
	printf("%s\n",arr2);
	remmove(arr1,arr2);

    system("pause");
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>

void remmove(char arr1[],char arr2[],int sz)
{
	int left=0;
	int right=sz-1;
	while(left<=right)
	{
		Sleep(1000);
		arr2[left]=arr1[left];
		arr2[right]=arr1[right];
		printf("\n%s\n",arr2);
	    left++;
		right--;
	}
}
int main()
{
	char arr1[]="abcdefgh";
	char arr2[]="********";//注意尽量使两个字符串长度一致
	int sz=0;
	sz=strlen(arr2);
	printf("%s\n",arr1);
	printf("%s\n",arr2);
	remmove(arr1,arr2,sz);

    system("pause");
	return 0;
}



2.编写代码实现,模拟用户登录情景,并且只能登录三次。
只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
   char *correct_password="dxxwan";
   char password[7]={0};
   int chance=0;
   for(chance=3; chance>0; chance--)
   {
	  printf("你还有%d次输入机会,请慎重.\n",chance);
      printf("请输入密码:");
	  gets(password);
	  if(strcmp(correct_password,password)==0)
	  {
	      printf("登录成功.\n");
		  break;
	  }
   }
   if(chance==0)
   {
	   printf("password error!\n");
   }
   system("pause");
   return 0;
}



3. 输出一个整数的每一位。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int num=0;
	int i=0;
	int n=0;//整数的位数
	int ret=0;//用来保存并输出每一位
	printf("请输入一个数整数以及它的位数:");
	scanf("%d%d",&num,&n);
	for(i=0; i<n; i++)//缺点:输出位数和正常位数相反
	{
	   ret=num%10;
	   num/=10;
	   printf("%d ",ret);
	}
	system("pause");
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h> 
#define N 4//整数的位数
int main()
{
    int num=0;
	int arr[N]={0};//用数组暂时保存每一位
	int i=0;
	printf("请输入一个数整数:");
	scanf("%d",&num);
	for(i=0; i<N; i++)
	{
	   arr[i]=num%10;
	   num/=10;
	}
	for(i=N-1; i>=0; i--)
	{
	   printf("%d ",arr[i]);
	}
	system("pause");
	return 0;
}
 
 
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
    int num=0;
	int n=0;//整数的位数
	int ret=0;//用来保存并输出每一位
	int tmp=0;//保存num的临时值
	printf("请输入一个数整数以及它的位数:");
	scanf("%d%d",&num,&n);
	while(n>0)
	{
	   tmp=num;
	   ret=(int)(tmp/(pow((double)10,n-1)));
	   num=(int)(num-ret*pow((double)10,n-1));
	   printf("%d ",ret);
	   n--;
	}
	system("pause");
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void print(int n)//递归
{
    if(n>=10) 
	{
		print(n/10);
	}
	printf("%d ",n%10);
}
int main()
{
	int num=0;
  	printf("请输入一个数整数:");
	scanf("%d",&num);
	print(num);
	system("pause");
	return 0;
}



4. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
   int deno=1;//分母
   double flag=1.0;//符号位
   double current=0.0;//当前项和
   double sum=0.0;//当前项的和
   
   for(deno=1; deno<=100; deno++)
   {
      current=flag/deno;
	  sum=sum+current;
	  flag=-flag;
   }
   printf("1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值为:%lf\n",sum);
   system("pause");
   return 0;
}



5. 编写程序数一下 1到 100 的所有整数中出现多少次数字 9 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
   int i=1;
   int count=0;
   for(i=1; i<=100; i++)
   {
	   if(i/10==9)
	   {
		  count++;
	   }
       if(i%9==0)
	   {
		   count++;
	   }
   }
   printf("1到100有%d个9\n",count);
   system("pause");
   return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值