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

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

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

目錄

1.模擬用戶登錄功能

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

3、編寫一個遞歸函數,求10以內的階乘

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

5、計算器——函數封裝


1.模擬用戶登錄功能

題目: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");
}

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

網頁標題:c語言百日刷題第七天-創(chuàng)新互聯
當前鏈接:http://muchs.cn/article38/cdicpp.html

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

廣告

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

成都網頁設計公司