1、
1 邮箱地址合法性验证,合法输出字符“1”,不合法输出字符“0”
合法条件:
A 仅包含一个“@”。
B 最后三位必须是“.com”
C 字符直接没有空格
B 有效数组是1~9、a~z、A~Z、“.”、“@”、“_”
程序
#include
2、1]=='m')&&(input[len-2]=='o')&&(input[len-3]=='c')&&(input[len-4]=='.'))
{
for(i=0;i
3、input[i]=='.')||(input[i]=='@')||(input[i]=='_'))==0) { flag2=1; } } if(ttt!=1) { flag3=1; } } else { flag=1; } if(flag==1||flag3==1||flag1==1||flag2==1) { out='0'; } else { out='1'; } printf("%c",out); } 2 m个相同苹果分到n个相同的篮子里。允许有的篮子为空,一
4、共有多少种分法?
其中:0<=m<=10,0<=n<=10;\
#include
5、N));
}
3 手机电池余量显示
#include
6、 f1=5; } else if((n<=60)&&(n>50)) { f1=6; } else if((n<=70)&&(n>60)) { f1=7; } else if((n<=80)&&(n>70)) { f1=8; } return f1; } int main() { char a1[13]="|----------|",a2[13]="|++++++++++|"; char d1[13]="|++++++++++|",d2[13]="|----------|",d3[16]="=============
7、"; int c,i,m; while(1) { scanf("%d",&m); m=10-func(m); printf("%s\n",d1); for(i=0;i<=m-1;i++) { printf("%s\n",a1); } for(i=0;i<(10-m);i++) { printf("%s\n",a2); } printf("%s\n",d2); printf("%s\n",d3); } } 4 将无符号数的指定比特进行置1.输入数字n
8、31bit,无符号整形),置位数m(0<=m<=31)。
输入:无符号数,指定bit位
输出:指定的bit位被置1的值
例如:输入 891 7 输出1019
#include 9、d",c);
}
else
{
printf("%s","input error");
}
}
}
5 输入一个字符串。交换前后顺序后再输出。
#include 10、入一个同学各科的高考成绩,计算出他的总成绩和平均成绩,共4个科目。每个成绩范围0~150,无效分数不计算在总分数内(但科目永远是4课)
#include 11、sum/4;
printf("%d %d\n",sum,aver);
}
}
}
7 找众数。输入10个整形,输出10个整形中的众数。
#include 12、or(j=i+1;j<10;j++)
{
if((a[i]==a[j])&&(b[i]!=0))
{
b[i]++;
b[j]=0;
}
}
}
//求出b[i]中的最大值
max=b[0];
for(i=1;i<10;i++)
{
max=(max>b[i])?max:b[i];
}
//把b[i]中最大值对应的a[i]中的数字输出
for(i=0;i<10;i++)
{
if(b[i]==max)
{
prin 13、tf("%d",a[i]);
}
}
}
}
8 求两个数的最大公倍数,最大公约数。
A 最大公约数求法:
1> m和n,如果m>n,k=m%n (若m 14、)
{
m=n;
n=g;
return func(m,n);
}
return n;
}
int main()
{
int a1,a2,s1,s2;
while(1)
{
scanf("%d%d",&a1,&a2);
s1=func(a1,a2);
s2=a1*a2/s1;
printf("最大公约数:%d最小公倍数%d\n",s1,s2);
}
}
9 求字符种类计数。字符包括:”a~z”,”A~Z”,0~9。
输入的字符长度不超过20个,不同字符总数不超过10个。
输入:字符串长度,字符串。 15、
输出:字符种类个数。
#include 16、//判定字符是不是满足要求
if((a>='a')&&(a<='z')||(a>='A')&&(a<='Z')||(a>='0')&&(a<='9'))
{
tt[i]=a;
}
}
tt[i]='\0';
}
//统计字符中每个字符出现的个数,存放到对应数组rr中
//重复字符在第一次出现的对应位置“++”,重复字节对应位置为“”
for(i=0;i 17、 rr[i]++;
rr[j]=0;
}
}
}
//统计标记rr中不为“”的个数
for(i=0;i0)out++;
}
printf("%d",out);
}
}
10 求1~100之间的素数,并输出。
#include 18、 0;
else
{
return 1;
}
}
}
void main()
{
int i,j=1;
for(i=1;i<=100;i++)
{
if(func(i)==1)
{
printf("%d ",i);
if(j%10==0)
{
printf("\n");
}
j++;
}
}
}
11 输入整形值转换成二进制,再由二进制转换成十进制。
#include 19、int sum=0,i;
if(m==0)
{
return 1;
}
else if(m==1)
{
return n;
}
else
{
for(i=1;i<=m-1;i++)
{
n=n*2;
}
return n;
}
}
void main()
{
int a1,b[32]={0},i=0,k,sum;
while(1)
{
scanf("%d",&a1);
i=0;
while(a1!=0)
{
b[i]=a1%2;
a1=a1/2;
i++;
} 20、
k=i-1;
printf("二进制为\n");
for(i=k;i>=0;i--)
{
printf("%d ",b[i]);
}
sum=0;
if(b[0]==1)sum=1;
for(i=1;i<=k;i++)
{
if(b[i]==1)
{
sum=func(2,i)+sum;
}
}
printf("%d",sum);
}
}
12 比较一个数组的元素 是否为回文数组。
回文:正读反读意思都一样。比如 1234321,1234554321。小数没有回文。
#inclu 21、de






