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內部是這么乾的:
不管你輸入幾個字元,都要在末尾補一個'