用C语言写简单密码检测程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言写简单密码检测程序相关的知识,希望对你有一定的参考价值。
编程要求:给下面的程序加密码,若密码正确,计算圆的面积,若错误输入三次密码,则退出。设置的密码须包含字母和数字。
/*求圆面积:*/
#include<stdio.h>
#define pi 3.1415926
main()
float r,s;
while(1)
printf("\nInput r:");
scanf("%f",&r);
if (r<0) /*半径小于零,结束本程序*/
break;
s=pi*r*r;
printf("s=%.2f\n",s);
printf("GOOD!");
你把 这两个程序连起来~~ 我连起来不对啊~~ 有错误~
#include <string.h>
#include <stdlib.h>
#define pi 3.1415926
float area(float s);
void main()
char srmima[16],mima[16]="sunshibin1020";
int i=0,j;
float r,s;
while(1)
for(j=0;j<30;j++)
printf("-");
printf("\n");
printf("请输入密码:");
gets(srmima);
for(j=0;j<30;j++)
printf("-");
printf("\n");
if(strcmp(srmima,mima)==0)
printf("恭喜你,密码正确!\n");
break;
i++;
if(i>2)
printf("很遗憾,密码输入错误!\n");
exit(0);
area(r);
printf("圆面积为:%f",s);
getchar();
float area(float r)
float s;
while(1)
printf("\n请输入半径: r:");
scanf("%f",&r);
if (r<0)
break;
s=pi*r*r;
printf("s=%.2f\n",s);
exit(0);
参考技术B char key[]="baidu123"
char input[10];
int times=3;
memset(input, 0, sizeof(input));
while(1)
scanf("%s", input);
if(strcmp(input, key) == 0)
break;
else
times--;
if(time == 0)
return -1;
参考技术C 想想
数组程序设计(用C语言写)
已知一个数组a大小为20个元素,用随机函数生成20个整数填充该数组,再将该数组元素从小到大排序。现要求任意输入三个整数,要求将该三个数插入数组中合适的位置,使得这个数组中的23个元素仍然按照从小到大的顺序排列,并将数组按下标顺序输出。 (一定要用C语言写出来哦)谢谢了!
#include <stdio.h>#include <stdlib.h>
#include <time.h>
/*插入元素的函数fun()*/
void fun(int *b ,int n)
int i,j;
for(i=0;b[i]<n;i++);
for(j=22;j>i;j-- )b[j]=b[j-1];
b[i]=n;
void main()
int a[23]=0;
int i,j,t,n;
/*随机产生数组并使数组无相等元素*/
srand( (unsigned)time( NULL ) );/*设置种子使每次执行随机函数产生数组不一样*/
for(i=0;i<20;i++)
a[i]=rand();
for(j=0;i<i;j++)
if(a[i]==a[j])
i--;
/*数组排序*/
for(i=0;i<20;i++)
for(j=i+1;j<20;j++)
if(a[i]>a[j])t=a[i];a[i]=a[j];a[j]=t;
/*输出初始数组*/
for(i=0;i<20;i++)
if(i%5==0)printf("\n");
printf(" %8d ",a[i]);
printf("\n");
/*输入三个数字并插入*/
printf("输入三个整数 ");
scanf("%d",&n);fun(a,n);
scanf("%d",&n);fun(a,n);
scanf("%d",&n);fun(a,n);
/*输出新数组*/
for(i=0;i<23;i++)
if(i%5==0)printf("\n");
printf(" %8d ",a[i]);
printf("\n");
参考技术A 这个,首先建议一下,求代码这种事是一个非常不好的习惯,不管怎么说,哪怕你再初学,对着教科书也绝对能写出类似的代码。
还有一点,如果想学好编程,最好去CSDN问,别在BAIDU这种不专业的地方问。
代码如下,我用的是VS2005编译,可正常使用,如果要用其它IDE,请将最开头的#include "stdafx.h"删去
#include "stdafx.h" // 使用其他IDE请将此行删去
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 数组最大长度
#define MAX_LENGTH 23
// 数组初始长度
#define INIT_LENGTH 20
// 数组增长长度
#define INC_LENGTH 3
// 随机数最大值,此处可任意修改
#define MAX_RAND 5555555
// 冒泡排序法
void BubbleSord(int*, int);
// 输出
void Output(int*, int);
int _tmain(int argc, _TCHAR* argv[]) // 使用其他IDE请将_tmain换成main
int i;
int Array[MAX_LENGTH] = 0;
for (i=0; i<INIT_LENGTH; i++)
// 此部分为了防止程序运行过快,种子相同,将种子复杂化
Array[i] = rand() % MAX_RAND;
srand((unsigned int)(time(NULL)*Array[i]));
BubbleSord(Array, INIT_LENGTH);
Output(Array, INIT_LENGTH);
for (i=0; i<INC_LENGTH; i++)
printf("Please enter a new num:");
scanf("%d", &Array[INIT_LENGTH-1+i]); // 减一防止内存溢出
BubbleSord(Array, MAX_LENGTH);
Output(Array, MAX_LENGTH);
return 0;
// 冒泡排序法
void BubbleSord(int* Array, int Length)
int i, j, Temp;
for (i=0; i<Length-1; i++)
for (j=i+1; j<Length; j++)
if (Array[i]>Array[j])
Temp = Array[i];
Array[i] = Array[j];
Array[j] = Temp;
// 输出
void Output(int* Array, int Length)
int i;
for (i=0; i<Length; i++)
printf("%d\n", Array[i]);
参考技术B #include "stdio.h"
main()
int a[23];
int i,j,t,n=0,num[3],g;
for(i=0;i<20;i++)
a[i]=rand();
/*随机产生数组*/
for(i=0;i<20;i++)
for(j=i+1;j<20;j++)
if (a[i]>a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
/*数组排序*/
printf("initial array:\n");
for(i=0;i<20;i++)
if(n==5)
n=0;
printf("\n");
printf("%d ",a[i]);
n=n+1;
/*输出初始化数组*/
printf("\n");
for(i=0;i<3;i++)
printf("please input the number:\n");
scanf("%d",&num[i]);
/*输入三个数字*/
for(i=0;i<3;i++)
for(j=0;j<20+i+1;j++)
if (a[j]>num[i])
break;
for(g=19+i;g>j;g--)
a[g+1]=a[g];
a[j]=num[i];
/*插入三个元素*/
printf("the new array:\n");
for(i=0;i<23;i++)
if(n==5)
n=0;
printf("\n");
printf("%d ",a[i]);
n=n+1;
/*输出新的数组*/
getch();
结果符合,但是由于不是动态分配,有一定的限制性。 参考技术C 写完了,用c++写的,如果想用c的话就把输入输出的函数改一下,相信你能做到。
#include
"stdio.h"
#include
"iostream.h"
#define
num
50
int
arry[num];
//原始数组
int
arry2[num*2];
//修改后数组
int
arry_num=0;
//数组元素个数
int
x=0;
//插入的数值
int
step=0;
//步长
void
arry_input()
//数组输入函数
cout<<"请输入数组元素个数:"<
>arry_num;
for(int
i=1;i
>arry[i];
cout<<"请输入要插入的数值"<
>x;
void
arry_insert()
//数组插入函数
for(int
i=1;i
评论
0
0
加载更多
以上是关于用C语言写简单密码检测程序的主要内容,如果未能解决你的问题,请参考以下文章
写一个C语言程序: 能修改Linux 主机的IP、DHCP、DNS 等设置