1. c语言编写一个密码验证程序。
#include<stdio.h>
#include<conio.h>
voidmain()
{
charexp1='1',exp2='2',exp3='3';//预期值
charch1,ch2,ch3;
ch1=getch();
printf("*");
ch2=getch();
printf("*");
ch3=getch();
printf("* ");
if(ch1==exp1&&ch2==exp2&&ch3==exp3)
{
printf("欢迎进入系统 ");
}
else
{
printf("密码输入错误,请退出 ");
}
}
2. 怎么用C语言编程验证哥德巴赫猜想
哇,这个问题已经被搁置4年了,我看到了就来答一下吧(虽然可能已经没人感兴趣了)
首先,听说哥德巴赫猜想已经被证明了,也就是不存在不成立的情况了,(可点击链接
http://tieba..com/p/542673904)
然后是问题本身,如果真有不符合的,可以在for(m=3;m<=k-3;m++)这个循环后面判断一下是否是循环到了尽头,即是否m>k-3,如果到了尽头都不符合,那就可以输出不符合了;
至于全部不符合的情况,由于前面已经逐项输出,已经打印的事实已经无法改变,因此就无法只输出说该范围内所有数都不符合,若真的要达到那种效果,可以把你要printf的先用fprintf函数打到临时创建的文件里,然后最后根据判断不符合的个数决定全部打印还是打印一条。总之是用文件读写是一种方法。
最后呢,如果说还要改进的话,有两点可以改进下——1,我从老师那里听来判断素数的条件可以再缩小一点,也就是文中的y=x/2,可以改为 y=sqrt(x)【因为sqrt(x)的平方=x,如果小于y的整数不符合,那么大于y的数也不会符合】;
2,类似于第一点 for(m=3;m<=k-3;m++)条件可改为m<=k/2;【理由同1】。
呃,就是这样了,不过4年前应该提问者是大一现在应该毕业了吧~哈哈
3. C语言如何学习,编写的程序如何验证它的正确性
刚学C语言要抓住几个重要的知识点,一个是三大结构,二是数组,三是函数,四是指针,然后结构体,最后把学生管理系统写出来就差不多了,至于编写程序的正确性,可以通过调试,推荐vc6.0,调试很不错,可以随时看某个变量的值是怎样变化的,进而查出问题的根源,对学习很有帮助。
4. 请问怎样设计一个C语言程序验证歌德巴赫猜想
以下的验证程序可以验证一个区间范围内的所有不小于6的偶数是否符合歌德巴赫猜想。
运行示例:
./gdbh 6 20
运行结果:
6 = 3 + 3
8 = 3 + 5
10 = 3 + 7
12 = 5 + 7
14 = 3 + 11
16 = 3 + 13
18 = 5 + 13
20 = 3 + 17
验证程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
int is_prime(int num)
{
int i;
int num2;
num2 = (int)(sqrt(num) + 0.1);
//assume num is a odd, and >= 3;
for (i = 3; i <= num2; i+= 2)
{
if ((num % i) == 0)
return 0;
}
return 1;
}
int main(int argc, char **argv)
{
int first_num, last_num, num, left_num, right_num;
if (argc < 2)
{
fprintf(stderr, "Usage: %s <first_num> [<last_num>]\n", argv[0]);
return 1;
}
first_num = atoi(argv[1]);
if (argc > 2)
last_num = atoi(argv[2]);
else
last_num = first_num;
if (first_num < 6)
first_num = 6;
if ((first_num % 2) == 1)
first_num++;
if (first_num < 0 || last_num == INT_MAX)
{
fprintf(stderr, "Error: overflow!\n");
return 1;
}
for (num = first_num; num <= last_num; num+=2)
{
int num2 = num/2;
for (left_num = 3; left_num <= num2; left_num+=2)
{
right_num = num - left_num;
if (is_prime(left_num) && is_prime(right_num))
{
break;
}
}
if (left_num <= num2)
{
printf("%d = %d + %d\n", num, left_num, right_num);
}
else
{
printf("Error: the guess is wrong!\n");
return 1;
}
}
return 0;
}
5. C语言密码验证问题(程序设计求改)
1 b[8] 定义一个数组变量b,占用8个字节
你想要从键盘输入8个字符,通过gets函数接收数据。
但是,gets内部是这么干的:
不管你输入几个字符,都要在末尾补一个'