第十次作业

1编写程序,统计字符串中大写字母的个数。

#include<stdio.h>

main()

{

        char str[20];

        int i,cnt;

        cnt=i=0;

        gets(str);

        while(str[i]!='\0')

        {

                 if(str[i]>='A'&&str[i]<='Z')

                         cnt++;

                 i++;

        }

        printf("大写字母个数为:%d\n",cnt);

}

 

2编写程序,去掉字符串中所有的星号。例如,“****AB**C***DE**FG**”,处理为“ABCDEFG”。

#include<stdio.h>

main()

{

        char str[20];

        int i,j;

        i=j=0;

        gets(str);

        while(str[i]!='\0')

        {

                 if(str[i]!='8')

                         str[j++]=str[i];

                 i++;

        }

        i=0;

        while(i<j)

                 putchar(str[i++]);

}

 

3.编写程序,将字符串数组a中的字母复制到字符数组b中,要求每三个字符后插入一个空格。例如,字符数组a:“ABCDEFGHIJK”,字符数组b:“ABC DEF GHI JK”。

#include<stdio.h.>

main()

{

        char a[20],b[20];

        int i,j;

        gets(a);

        for(i=j=0;a[i]!='\0';i++)

        {

                 b[j++]=a[i];

                 if((i+1)%3==0)

                         b[j++]=' ';

        }

        b[j]='\0';

        puts(b);

}

 

4输出字符串中位置为奇数、ASCII为偶数的字符。

#include<stdio.h>

main()

{

        char str[80];

        int i=0;

        gets(str);

        while(str[i]!='\0')

        {

                 if((i+1)%2==1&&str[i]%2==0)

                         putchar(str[i]);

                 i++;

        }

}

 

5.统计字符串中各数字字符的个数。

#include<stdio.h>

main()

{

        char str[80];

        int cnt[10]={0};

        int i=0;

        gets(str);

        while(str[i]!='\0')

        {

                 if(str[i]>='0'&&str[i]<='9')

                         cnt[(str[i]-'0')%10]++;

                 i++;

        }

        for(i=0;i<=9;i++)

                 printf("数字字符%d:%d个\n",i,cnt[i]);

}

 

6

#include<stdio.h>

main()

{

        char str[80];

    int i=0;

    int length=0;

    gets(str);

        puts(str);

        while(str[i++]!='\0')

                 length++;

        printf("字符串的长度为:%d\n",length);

}

 

十一、.实现一个菜单  可以切换 ,可以返回主菜单

主菜单

 1.登录

  2.注册

  3.输出水仙花数

  4.退出程序

请选择:

 

选择后实现对应的功能

#include<stdio.h>

 

#include<string.h>

 

void mainMenu();

 

void login();

 

void returnToMain();

 

void regist();

 

void shuixianhua();

 

main()

 

{

 

mainMenu();

 

 

 

}

 

void mainMenu(){

 

int i;

 

printf("1.登录");

 

printf("2.注册");

 

printf("3.输出水仙花数");

 

printf("4.退出程序");

 

    scanf("%d",&i);

 

switch(i){

 

case 1:

 

login();

 

break;

 

case 2:

 

regist();

 

break;

 

}

 

}

 

void login(){

 

char uname[20],upwd[20];

 

   printf("请输入用户名");

 

   scanf("%s",uname);

 

   printf("请输入密码");

 

    scanf("%s",upwd);

 

if(strcmp(uname,"admin")==0&&strcmp(upwd,"admin")==0){

 

printf("登陆成功");

 

}else{

 

printf("登录失败");

 

}

 

    returnToMain();

 

}

 

void regist(){

 

char uname[20],upwd1[20],upwd2[20];

 

printf("***********欢迎注册***********");

 

printf("请输入用户名");

 

scanf("%s",uname);

 

    printf("请输入密码");

 

scanf("%s",upwd1);

 

printf("请再次输入密码");

 

scanf("%s",upwd2);

 

if(strcmp(upwd1,upwd2)==0){

 

  printf("注册成功");

 

}else{

 

  printf("注册失败");

 

}

 

returnToMain();

 

}

 

void shuixianhua(){

 

printf("153,370,371,407");

 

    returnToMain();

 

}

 

    void returnToMain(){

 

char answer[20];

 

printf("是否返回主菜单?Y/N\n");

 

scanf("%s",answer);

 

if(strcmp(answer,"Y")==0)

 

mainMenu();

 

else

 

printf("谢谢使用,再见");

 }

 

2.使用函数,求2个数的最大值,并调用

#include<stdio.h>

int max(int x,int y)

{

        int max=0;

        if(x<y)

        {

                 max=y;

        }

        else

        {max=x;

        }

        return max;

}

int main()

{

        int a,b,c;

        int max(int x,int y);

        printf("请输入两个整数\n");

        scanf("%d %d",&a,&b);

        c=max(a,b);

        printf("max=%d",c);

        system("pause");

        return 0;

}

 

3.使用递归函数,求阶乘,并调用求5的阶乘

#include<stdio.h>

int jie(int i)

{

        if(i==1)

                 return i;

        else

                 return i*jie(i-1);

}

int main()

{

        int i;

        i=jie(5);

        printf("%d",i);

}

 

4.使用函数,判断一个年份是不是闰年,如果是闰年返回1,否则返回

#include<stdio.h>

int isRunnian(int year)

{

        if(year%400==0||year%4==0&&year%100!=0)

                 return 1;

        return 0;

}

void main()

{

        int year;

        printf("输入年份,输出1表示该年是闰年,0为非闰年\n");

        scanf("%d",&year);

        printf("\n%d",isRunnian(year));

}

 

5.使用函数,求一个数绝对值,并调用.

#include<stdio.h>

int jdz(int x)

{

        if(x>=0)

                 return x;

        else return -x;

}

int main()

{

        int x;

        scanf("%d",&x);

        printf("|%d|=%d\n",x,jdz(x));

        return 0;

}

 

posted @ 2021-11-29 23:13  桃气十足  阅读(22)  评论(0)    收藏  举报