題目是這樣的,要我們加密一個數據,加密都已經做好了~但是我不知道應該如何做下麵的幾步,如果輸入的不是數字,就顯示"你輸入的是非數字!",這裏我都做好了~~还有就是如果輸入的數字不到8位,就顯示"too small!",如果輸入的數字大于8位,就顯示"too big!",但是我不知道如何計算字符着字符的多少~~代碼如下:
#include <stdio.h>
void main()
{
int phone[8];
int i=0,temp;
char ch;
printf("请輸入电话号码:\n");
ch = getchar();
if(ch<'0' || ch>'9') //判斷超過0~9的字符
{
printf("你输入的是非数字!\n");
}
else
{
do
{
phone[i]=ch-'0'; //這裏主要是拆分數字,所以用字符来輸入了(可是我不知道如何計算着字符的多少来判斷它的
i++; 多与少!
ch=getchar();
}while(ch!='\n');
for(i=0;i<4;i++) //把數組裏麵的數字倒序
{
temp=phone[i];
phone[i]=phone[7-i];
phone[7-i]=temp;
}
for(i=0;i<8;i++) //把數組的每一個數字+5,然後取模
{
phone[i]=(phone[i]+5)%10;
}
temp=phone[0]; //把數組的第一個數字和最後一個數字交換位置
phone[0]=phone[7];
phone[7]=temp;
printf("\n加密后的数据为:\n");
for(i=0;i<8;i++) //輸出結果
{
printf("%d",phone[i]);
}
printf("\n");
}
}
麻煩各位啦~
[此贴子已经被作者于2006-9-12 9:50:08编辑过]