2 sinat 36147557 sinat_36147557 于 2016.09.20 14:40 提问

有个C语言的代码,不知道哪有问题,就是运行有误,求指点

要求实现:输入: this is a dig.
输出:This Is A Dog.
即把字符串中单词首字母变为大写,若已经是大写或者其他字符,则不变,单词间用空格隔开。

 #include <stdio.h>  
int main()  
{  
    char *p[50],**t;  
    int n; 
    t=p;
    do  
    {  
        scanf("%s",*t);   
        t++;
    }while(getchar()!='\n');  
    n=t-p;
    for(t=p;t<p+n;t++)  
    {  
        if(((**t)>='a')&&((**t)<='z'))  
            (**t)=(**t)-32;  
        printf("%s ",*t);  
    }  
    putchar(10);  
    return 0;  
} 

1个回答

shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:18
已采纳

#include

int main()

{

char p[50];

int n = 0;

bool bFlag = true;

gets(p);

while (p[n] != 0)
{
    if (bFlag)
    {
        bFlag = false;
        if((p[n] >= 'a')&&(p[n] <= 'z'))  
        {
            p[n] = p[n] - 32;
        }
    }
    else 
    {
        if((p[n] >= 'A')&&(p[n] <= 'Z'))  
        {
            p[n] = p[n] + 32;
        }
    }       
    n ++;

    if (p[n] == ' ')
    {
        n ++;
        bFlag = true;
    }
}
printf("%s ",&p);  
putchar(10);  
return 0;  

}

使用gets获取字符,可以获取特殊字符。。while里面就是对字符的判断,判断首字符是根据空格来判断的。。

sinat_36147557
sinat_36147557 嗯哈,这是把所有单词写在一个字符串里
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
假币问题(n个硬币,有一个是假的,且不知道轻重,仅成质量找到硬币所在位置)
n个硬币中有一个假币,外观一样,且不知道轻重,仅用天平称量质量找硬币所在位置,并给出硬币是轻还是重,输出称量次数
简单的划分数
问题划分数就是将整数 n 分成若干个大于 00 的数的和。例如,n = 4,可以分成 1+1+1+1,1+1+2,1+3,2+2,4,一共 5 种方案,注意 1+1+2,1+2+1,2+1+1被认为是相同的方案。求整数 80 的划分数方案。答案 15796476 思路还是用dfs做,只是有点慢(要25s)( ̄▽ ̄)”代码#include <iostream> using namespace st
hdu oj 1205: 吃糖果 解题报告
题目描述:          HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样;可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下。   输入: 第一行有一个整数T,接下来T组数据,每组数据占2行,第一行是一个整数N(0   输
c语言:有4个圆塔,已知圆心和半径,塔以外无建筑物。输入任一点坐标,求该点的建筑高度
有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0)解:程序:#includeint main(){ int h=10; float x1 = 2, y1 = 2, x2 = -2, y2 = 2, x3 = -2, y3 = -2, x4 = 2, y4 = -2,
求改错,题目如下:求n个整数中第二小的数。 相同的整数看成一个数。比如,有5个数分别是1,1,3,4,5,那么第二小的数就是3。
代码如下: #include int main(){ int C, n, a[10], min, t, d, i, min2; scanf("%d", &C); while(C--){ scanf("%d",&n); d = 0; scanf("%d",&min); for( i=0; i<n-1; i++ ){ scanf("%d",&a[i]); if(m
L1-009. N个数求和
L1-009. N个数求和 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数“分子/分母”的形式给出的,你输出的和也必须是有理数的形式。
纯C语言:分治假币问题源码
#include #include int get_false_coin(int coin[],int low,int high) { int i,sum1=0,sum2=0,sum3=0; if(low==high-1) { if(coin[low]<coin[high]) return low; else return high; } if((high-low+
C语言实验——买糖果
Problem Description 小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱? Input 输入爸爸给小瑜的钱n元,n为整数。 Output 小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。 Example Input
必须弄懂的495个C语言问题
1.1 我如何决定使用那种整数类型? 如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使用int 型。如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。但是, 要注意在表达式中混用有符号和无符号值的情况
求最大子序列和问题(读《数据结构与算法分析——C语言描述》有感)
根据《数据结构与算法分析——C语言描述》中的“最大子序列和”问题来看如何分析算法。