笔者开头感想:现如今,暑假已接近尾声!但是随着时间流逝,笔者的C语言仍没有多大的起色,日新月急,但是没有办法,思前想后,笔者决定对于之前所学的内容进行一下回顾复习!因此刷题是必须的,所以笔者将最近做过的习题,将会在此整理一遍,重新整理成为一个C语言练习题集册,笔者也会将最近书写过的习题,统一归纳到该C语言练习题集册里面,供笔者借鉴参考!
1. 添加逗号
2.笨小猴
3.登录验证
1. 添加逗号
描述
对于一个较大的整数 N(1<=N<=2,000,000,000)
比如 980364535,我们常常需要一位一位数这个数字是几位数,但是如果在这 个数字每三位加一个逗号,它会变得更加易于朗读。
因此,这个数字加上逗号成如下的模样:980,364,535请写一个程序帮她完成这件事情
输入描述:
一行一个整数 N
输出描述:
一行一个字符串表示添加完逗号的结果
示例1
输入:
980364535
输出:
980,364,535
备注:
1≤n≤2,000,000,000
代码为:
#include<string.h>
int main() {
char s[20] = {0};
scanf("%s", &s);
int val = strlen(s); //获取字符长度
for (int i = 1; i <= val; i++) { //依次输出字符
printf("%c", s[i - 1]);
//每输出三位数加一个‘,’且输出数不为最后一个数
if ((val - i) % 3 == 0 && i != val) printf(",");
}
return 0;
}
2.笨小猴
描述
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
输入描述:
只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
输出描述:
共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。
示例1
输入:
error
输出:
Lucky Word 2
说明:
单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。
示例2
输入:
Olympic
输出:
No Answer 0
说明:
单词olympic中出现每个字母都只出现一次,即出现次数最多的字母出现了1次,出现次数最少的字母出现了1次,1-1=0,0不是质数。
代码为:
#include <stdio.h>
int main ()
{
char ch1[100]={0};
gets(ch1);
int len=0;
len=strlen(ch1);
int i=0;
int maxn=0;
int minn=100;
int j=0;
int count=0;
for(i=0;i<len;i++)
{
for(j=0;j<len;j++)
{
if(ch1[i]==ch1[j])
{
count++;
}
}
if(count>maxn)
{
maxn=count;
}
if(count<minn)
{
minn=count;
}
count=0;
}
int flag=0;
int n=maxn-minn;
for(i=2;i<n;i++)
{
if(n%i==0)
{
flag=1; //不是素数
break;
}
}
if(n==1||n==0)
{
flag=1;
}
if(flag==0)
{
printf("Lucky Word \n");
printf("%d\n",n);
}
else
{
printf("No Answer\n");
printf("0\n");
}
return 0;
}
3.登录验证
描述
有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。
输入描述:
多组测试数据,每行有两个用空格分开的字符串,第一个为用户名,第二个为密码。
输出描述:
针对每组输入测试数据,输出为一行,一个字符串(“Login Success!”或“Login Fail!”)。
示例1
输入:
admin admin
输出:
Login Success!
复制
示例2
输入:
admin abc
输出:
Login Fail!
代码为:
#include <stdio.h>
int main()
{
char name[20]="0";
char password[20]="0";
while(scanf("%s %s",name,password)!=EOF)
{
if(strcmp(name,"admin")==0&&strcmp(password,"admin")==0)
printf("Login Success!");
else
printf("Login Fail!");
}
return 0;
}