如何编写一个大写转换函数

问题:使用C语言把字母转换成大写,不能使用库函数。

这个题目可以考查编程的一些基本素养,例如命名与可读性、函数的使用、非预期输入的处理、简单的算法、使用有意义的表达式而不是magic bumber.

关于代码的正确性:我当时犯错的有用了||而不是&&,没有考虑等于a、z的边界条件,输入非字母时应该原样返回,应计算输入与a的差然后在A加上这个差即可。

经过修改,我的代码如下。更完整更优秀的解答见http://zh.lucida.me/blog/from-wuxia-to-programmer-interview/

#include <stdio.h>
char upper (char);

int main(){
    char input ,output;
    scanf("%c",&input);
    output = upper(input);
    printf("%c",output);
    return 0;
}

char upper(char input){
    if (‘a‘ <= input&&input >=‘z‘){
        return input-‘a‘+‘A‘;
    }
    return input;
}
时间: 2024-12-13 08:11:46

如何编写一个大写转换函数的相关文章

【C++】编写一个简单的函数实现重载。

//编写一个简单的函数实现重载. #include <iostream> using namespace std; int max(int a,int b) { return a>b?a:b; } int max(int a,int b,int c) { int x=max(a,b); return max(x,c); } double max(double a,double b) { return a>b?a:b; } int main() { cout<<"

编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url

编写一个C语言函数,要求输入一个url,输出该url是首页.目录页或者其他url 首页.目录页或者其他url 如下形式叫做首页: militia.info/ www.apcnc.com.cn/ http://www.cyjzs.comwww.greena888.com/ www.800cool.net/ http://hgh-products.my-age.net/ 如下形式叫做目录页: thursdaythree.net/greenhouses--gas-global-green-house-

如何编写一个没有主函数的C程序

From Quora:https://www.quora.com/How-can-I-write-a-C-program-without-a-main-function Question:我如何才能写一个没有主函数的C程序? Answer From Travis Hance: 你可以编译任何一个C程序,无论有没有主函数,或者是一个对象文件(.o文件).只有当你把所有对象文件链接起来,去组成一个可执行文件,你才需要主函数. 如果你想更深入的去了解,你学要知道一些平台特性. 例如在Linux上,一个

创建 XMLHttpRequest 对象编写一个标准的函数

function loadXMLDoc(url,callbackfunc){if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 代码 xmlhttp=new XMLHttpRequest(); }else {// IE6, IE5 代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=callback

编写一个参数JavaScript函数parseQueryString,它的用途是把url参数解析为一个对象

var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2............."; var obj = parseQueryString(url); function parseQueryString(argu){ var str = argu.split('?')[1]; var result = {}; var temp = str.split('&'); for(var i=0; i

【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)

/* 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数.负整数) 例如:"12" 返回12 "-123" 返回-123 函数原型:int my_atof(char *str) */ #include <stdio.h> int my_atof(char *str) { int flag=0; int m=0; if(*str=='-') { flag=1; str++; } while(*str!='\0') { if(*str<

利用map和reduce编写一个str2float函数,把字符串&#39;123.456&#39;转换成浮点数123.456:

from functools import reduce CHAR_TO_FLOAT = { '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.': -1 } def str2float(s): nums=map(lambda x:CHAR_TO_FLOAT[x],s) #print(list(nums)) point = 0 def str_division(f,n): nonlo

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

【前端小小白的学习之路】----&gt;用JS编写一个函数,返回数组中重复出现过的元素

用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: var arr = [1, 2, 3, 1, 2, 3, 4, 5]; var getRepeat = function (arr) { var obj = {}; for (var i = 0, len = arr.length; i < len; i++) { if (obj[arr[i]] == undefined) { obj[arr[i]] = 1; } else { obj[arr[i]]++; } } for (var