c語言百日刷題第七天-創(chuàng)新互聯(lián)

終于一周了!戰(zhàn)線有點小長哈哈....繼續(xù)加油?。?!

創(chuàng)新互聯(lián)成立與2013年,先為七星關區(qū)等服務建站,七星關區(qū)等地企業(yè),進行企業(yè)商務咨詢服務。為七星關區(qū)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

目錄

1.模擬用戶登錄功能

2、隨便定義一個字符數(shù)組,然后在當前數(shù)組中把字符串逆序

3、編寫一個遞歸函數(shù),求10以內(nèi)的階乘

4.求一個數(shù)的反序數(shù),也稱為鏡面數(shù)。例如1234的反序數(shù)是4321

5、計算器——函數(shù)封裝


1.模擬用戶登錄功能

題目:1,編寫程序,模擬用戶登錄功能

1.1 提示用戶輸入用戶名和密碼
1.2 輸入密碼時要實現(xiàn)掩碼功能,比如輸入密碼為123456的時候,?顯示 * *****,同時能具備按刪除鍵能夠刪除的功能。

題目分析:此題關鍵在于如何刪除,即如何對顯示的字符進行退格“\b \b"注意中間要加上空格;

第二個問題就是字符需要一個一個輸入,而且要保證真實感,即不用輸入一個字符按一次回車,這里使用_getch,下面是關于_getch的介紹:當用戶按下某個字符時,函數(shù)自動提取,無需按回車;第三個就是回車的判斷,因為windows輸入Enter,會產(chǎn)生兩個轉(zhuǎn)義字符\r\n,所以_getch會返回13(\r),\n無法讀取,所以無法判斷,因此可以通過第一個轉(zhuǎ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、隨便定義一個字符數(shù)組,然后在當前數(shù)組中把字符串逆序
#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、編寫一個遞歸函數(shù),求10以內(nèi)的階乘
#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.求一個數(shù)的反序數(shù),也稱為鏡面數(shù)。例如1234的反序數(shù)是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++;					//判斷位數(shù)
	}
	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、計算器——函數(shù)封裝
#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");
}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁標題:c語言百日刷題第七天-創(chuàng)新互聯(lián)
當前鏈接:http://bm7419.com/article38/cdicpp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、移動網(wǎng)站建設用戶體驗、外貿(mào)網(wǎng)站建設定制網(wǎng)站、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司