1:编写代码模拟三次密码输入的场景
#include <stdio.h>
#include <windows.h>
#include <string.h>
int main()
{
int i;//密码输入次数
char *p = "123456";//密码
char arr[10];//存放输入的值
for (i = 1; i < 4; i++)
{
printf("请输入密码:");
scanf("%s", arr);
if (strcmp(p, arr) == 0)//字符串比较如果两个字符串相等进入if语句
{
break;
}
else
{
printf("输入密码错误!请再次输入!\n");
}
}
if (i == 4)
{
printf("三次输入密码错误,系统将在三秒之后关闭!\n");
Sleep(3000);
}
else if (i<4)
{
printf("恭喜你登录成功!\n");
}
system("pause");
return 0;
}
输出结果:
a:输入错误场景:
b:正确场景:
2:编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#include <stdio.h>
int main()
{
char p;
while((p=getchar())!= EOF)
{
if ((p >= 'A') && (p <= 'Z'))
{
printf("%c", p + 32);//转换为小写字母,小写字母比大写字母ASCii码值大32
}
else
{
if ((p >= 'a') && (p <= 'z'))
{
printf("%c", p - 32);//转换为大写字母,大写字母比小写字母ASCii码值小32
}
else
{
if ((p >= '0') && (p <= '9'))//如果是数字就不输出
;
else
;
}
}
}
system("pause");
return 0;
}
测试结果:
3:计算1/1-1/2+1/3-1/4+1/5······+1/99-1/100的值
#include <stdio.h>
int main()
{
int i = 1;
double j = 2.0, sum = 1.0, k;
while (j <= 100)
{
i = -i;
k = i / j;
sum = sum + k;
j++;
}
printf("%f\n", sum);
system("pause");
return 0;
}
测试结果:
4:输出一个整数的每一位
方法一:
#include <stdio.h>
#include <string.h>
#include <process.h>
int main()
{
int i,len;
char arr[100];
printf("请输入一个整数:");
scanf("%s", arr);
len = strlen(arr);
for (i = 0; i < len; i++)
{
printf("%c\n", arr[i]);
}
if (arr[0] != 45)//45表示“-”的ASCii值,如果为负数输出len
{
printf("位数为:%d\n", len);
}
else
{
len = len - 1;
printf("位数为:%d\n", len);
}
system("pause");//头文件为#include <process.h>
return 0;
}
测试结果:
方法二:
#include <stdio.h>
#include <process.h>
int main()
{
int num = 0;
printf("请输入一个非负整数:");
scanf("%d", &num);
while (num)
{
printf("%d\n", num % 10);
num /=10;
}
system("pause");
return 0;
}
测试结果
方法三:(递归实现)
#include <stdio.h>
#include <process.h>
void print(int num)
{
if (num > 9)
{
print(num/10);
}
printf("%d\n", num % 10);
}
int main()
{
int num = 0;
printf("请输入一个整数:");
scanf("%d", &num);
print(num);
system("pause");
return 0;
}
测试结果:
5:编写一个程序数一下1到100的所有的整数中出现多少次数字9
#include <stdio.h>
#include <process.h>
int main()
{
int count = 0;
for (int i = 1; i <= 100; i++)
{
if ((i % 10) == 9 || (i / 10) == 9)
{
count++;
}
}
printf("%d\n", count);
system("pause");
}
测试结果为:19个