C语言程序设计实现任一字符和字符串长度的输出,其中字符和字符串内容由编程者自定

如题所述

输入任意长度字符串,并输出打印字符串及其长度。

#include<stdio.h>
#include<malloc.h>
#include<conio.h>
char *input();//输入任意长度字符串(可包含空格),回车确认,返回输入的字符串
int getLen(char *str);//通过指针获取字符串长度
void meError(void *p);//内存申请失败
int main()
{
    char *str=NULL;
    str=input();
    printf("\n输入的字符串为:%s\n",str);
    printf("\n输入的字符串长度为:%d\n",getLen(str));
    return 0;
}
char *input()
{
    int len=2;
    char c=0,*str=NULL,*strSave=NULL;
    while((c=getch())!='\r')
    {
        printf("%c",c);
        if(str==NULL)
            str=(char *)malloc(sizeof(char)*len);
        else
        {
            len++;
            strSave=(char *)realloc(str,sizeof(char)*len);
            if(strSave)
                str=strSave;
        }
        str[len-2]=c;
        str[len-1]=0;
    }
    return str;
}
int getLen(char *str)
{
    int i=0;
    char *p=&str[0];
    while(*p!=0)
    {
        i++;
        p++;
    }
    return i;
}
void meError(void *p)//内存申请失败
{
    if(p==NULL)
    {
        printf("异常:内存申请失败!回车结束程序!\n");
        while(getch()!='\r');
        exit(0);
    }
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-20
将用户随机输入的整数分别以十六进制、八进制、十进制方式、科学计数法输出。

2. 用循环语句编程打印下列矩阵形式,尽量使语句简捷,注意第一列与第二列间距为一个Tab的位置,其余宽度为两个空格:

1 0 1 2 3 4 5 6

2 1 2 3 4 5 6 0

3 2 3 4 5 6 0 1

4 3 4 5 6 0 1 2

5 4 5 6 0 1 2 3

6 5 6 0 1 2 3 4

3. 编写函数将华氏温度转换为摄氏温度,公式为C=(F-32)*5/9;并在主函数中调用。

4. 求方程 的根,用三个函数分别求当 、 和 的根,并输出结果。从主函数输入系数。

5. 求4×4矩阵中每一行元素的最小值并输出。

二、第二类题目(共4道,选做其中的2道,每题7分,共14分)

1. 实现用户输入的三个整数的排序。

2.采用循环结构完成1至100之间的偶数相加。

3.编写一个函数,要求键盘输入正整数n,求出n 与其反序数x 之和并输出。

例如,输入2038,输出应为:n + x = 2038 + 8302 = 10340。

4.对于一个二维数组,分别求各行、各列及所有元素之和。

三、第三类题目(共3道,选做其中的1道,每题8分,共8分)

1. 一球从100m落下,每次落地后反跳回原高度的一半,再落下。编程求它在第10次落地时,共经过多少m?第10次反弹多高?

2.一个数如果恰好等于它的因子之和(这里的因子不包括这个数本身),这个数就称为“完数”。

例如,6的因子为1、2、3,而6 = 1+2+3,因此6是“完数”。

编程求出100以内的所有完数,并按下面格式输出其因子:6,its factors are 1,2,3。用函数来判断是否是“完数”。

3. 有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。

如果该数不在数组中,则打印出“无此数”。

一、第一类题目(共5道,选做其中的3道,每题6分,共18分)

1.编程实现加密,密码规律是:用原字母后面第四个字母代替原来的字母,

例如,字母A后面第四个字母是E,用E代替A。因此China应译为Glmre。请编写一程序,实现任意字符串的加密。

2.编程求一元二次方程ax2 +bx+c=0的根。

3.编写一个函数来检验输入的一个字符是大写
第2个回答  2019-02-20

#include<stdio.h>
int main()
{ char c;
  int i=0;
  while((c=getchar())!='\n')
  { putchar(c);
    i++;
  }
  printf("\n%d\n",i);
  return 0;
}

第3个回答  2019-02-19
实现任一字符和字符串长度的输出,其中字符和字符串内容由编程者...C语言程序设计上机试题 1页 免费 大学c...
相似回答