終于一周了!戰線有點小長哈哈....繼續加油!!!
創新互聯成立與2013年,先為七星關區等服務建站,七星關區等地企業,進行企業商務咨詢服務。為七星關區企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
目錄
1.模擬用戶登錄功能
2、隨便定義一個字符數組,然后在當前數組中把字符串逆序
3、編寫一個遞歸函數,求10以內的階乘
4.求一個數的反序數,也稱為鏡面數。例如1234的反序數是4321
5、計算器——函數封裝
題目:1,編寫程序,模擬用戶登錄功能
1.1 提示用戶輸入用戶名和密碼
1.2 輸入密碼時要實現掩碼功能,比如輸入密碼為123456的時候,?顯示 * *****,同時能具備按刪除鍵能夠刪除的功能。
題目分析:此題關鍵在于如何刪除,即如何對顯示的字符進行退格“\b \b"注意中間要加上空格;
第二個問題就是字符需要一個一個輸入,而且要保證真實感,即不用輸入一個字符按一次回車,這里使用_getch,下面是關于_getch的介紹:當用戶按下某個字符時,函數自動提取,無需按回車;第三個就是回車的判斷,因為windows輸入Enter,會產生兩個轉義字符\r\n,所以_getch會返回13(\r),\n無法讀取,所以無法判斷,因此可以通過第一個轉義字符來判斷
#include#include#include#includeint main()
{
int i = 0;
char c;
char user[10], _code[255]={0};
printf("請輸入用戶名:");
scanf("%s", user);
printf("請輸入密 碼:");
while (true)
{
c = _getch();
if (c == '\r')
{
_code[i] = '\0';
break;
}
else if (c == '\b') {
if (i >0)
{
i--;
//對顯示的字符進行退格操作
printf("\b \b");
_code[i] = '\0';
continue;
}
}
else {
//沒有換行和刪除,則進行存儲
printf("*");
_code[i] = c;
i++;
}
}
//輸出
printf("\n用戶的密碼為:%s\n", _code);
return 0;
}
2、隨便定義一個字符數組,然后在當前數組中把字符串逆序#includeint main(int argc,char* argv)
{
int j = 0;
char c;
char _ch[100]={0};
while ((c = getchar()) != '\n' && j< 100)
{
_ch[j] = c;
j++;
}
while (j>=0) {
putchar(_ch[j]);
j--;
}
return 0;
}
3、編寫一個遞歸函數,求10以內的階乘#includeint factorial(int n) {
if (n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main(int argc, char* argv)
{
int n;
scanf("%d", &n);
printf("%d", factorial(n));
return 0;
}
4.求一個數的反序數,也稱為鏡面數。例如1234的反序數是4321#include#includeint mirror(int x) {
int m, n, i, j, k;
m = n = i = j = k = 0;
m = x;
while (m >0)
{
m /= 10;
n++; //判斷位數
}
while (x >0)
{
i = x % 10;
j= i * pow(10, n - 1);
x /= 10;
k += j;
n--;
}
return k;
}
int main(int argc, char* argv)
{
int num;
scanf("%d", &num);
printf("%d\n",mirror(num));
return 0;
}
5、計算器——函數封裝#includevoid _add(double a, double b);
void minus(double a, double b);
void multiply(double a, double b);
void _remove(double a, double b);
void mod(double a, double b);
int main(int argc, char* argv)
{
double num1, num2;
char operator;
scanf("%lf %c %lf", &num1, &operator,&num2);
switch (operator) {
case '+':
_add(num1, num2);
break;
case '-':
minus(num1, num2);
break;
case '*':
multiply(num1, num2);
break;
case '/':
_remove(num1, num2);
break;
case '%':
mod(num1, num2);
break;
default:
printf("error");
break;
}
return 0;
}
void _add(double a, double b)
{
printf("%.2f", a + b);
}
void minus(double a, double b)
{
printf("%.2f", a - b);
}
void multiply(double a, double b)
{
printf("%.2f", a * b);
}
void _remove(double a, double b)
{
if (b != 0)
printf("%.2f", a / b);
else
printf("error");
}
void mod(double a, double b)
{
if ((long)b != 0)
printf("%d", (long)a % (long)b);
else
printf("error");
}
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網頁標題:c語言百日刷題第七天-創新互聯
當前鏈接:http://vcdvsql.cn/article38/cdicpp.html
成都網站建設公司_創新互聯,為您提供企業網站制作、移動網站建設、用戶體驗、外貿網站建設、定制網站、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯