台灣最大程式設計社群網站
線上人數
866
 
會員總數:245903
討論主題:189495
歡迎您免費加入會員
討論區列表 >> C/C++ >> 小寫字串轉成大寫字串
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
小寫字串轉成大寫字串
價值 : 50 QP  點閱數:332 回應數:17
樓主

Mars
門外漢
0 6
117 13
發送站內信

捐贈 VP 給 Mars
說明
連續輸入N個字串(-1結束不含-1),並將其存入陣列/容器後,將字串中小寫英文字母轉成大寫後依順序印出
Input Format

字串1(可含空白)
字串...(可含空白)
字串N(可含空白)
-1
Output Format

轉大寫後的字串1(換行)
轉大寫後的字串...(換行)
轉大寫後的字串N(換行)
毫無頭緒..亂寫一通
有勞各位大大
謝謝


搜尋相關Tags的文章: [ 小寫字串轉成大寫字串 ] ,
本篇文章發表於2020-03-22 13:51
1樓
回應

P陳
檢舉此回應
有函數可用,直接用函數轉即可
本篇文章回覆於2020-03-22 17:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
剛學不是太了解
可否請大大指點迷津
謝謝
本篇文章回覆於2020-03-22 18:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

香帥
檢舉此回應
請參考
http://c.biancheng.net/cpp/html/133.html
用toupper()函数
本篇文章回覆於2020-03-22 22:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
感謝各位大大回覆
我的疑問如下,謝謝
1.使用者輸入N個字串如何存回二維陣列
2.大小寫轉換a[i]=touper(a[i]);
a[i]為陣列無法放在等號左邊

本篇文章回覆於2020-03-23 06:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

o小高o
檢舉此回應
好像蠻多問題的..ˊˇˋ
我照你的需求寫了一隻簡單的你參考看看?
scanf("%s",a[i]); >> 你的a是宣告char 應該要%c ?
touper() >> 貌似是toupper() to upper 變大寫的function的意思..



本篇文章回覆於2020-03-23 09:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

o小高o
檢舉此回應
補 scanf("%s",a[i][j]); scanf後面是要放位址 所以要加 &
scanf("%s",&a[i][j]); 才對
本篇文章回覆於2020-03-23 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
感謝小高大大回覆
題目是將使用者輸入文字轉大寫沒錯
請問補在哪....?不太懂
(補 scanf("%s",a[i][j]); scanf後面是要放位址 所以要加 &
scanf("%s",&a[i][j]); 才對)
關於二維陣列有個疑問
宣告char a[4][80];//4列80行
假設使用者輸入4列文字如何儲存?
例如
love
apple
banana
pineapple
以下表示方式正確?
char a[4][80];
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
scanf("%c\n",a[i][j])
}
所以使用者輸入每輸入一筆資料都要有個二維陣列對應的記憶體空間存放?
非常感謝




本篇文章回覆於2020-03-23 13:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

o小高o
檢舉此回應
補是補充的意思ˊ ˇ ˋ,不用再加進我的code ww
PS:scanf 第二個參數要+ & 你的新PO的scanf還是沒加& scanf("%c\n",a[i][j]) >> scanf("%c\n",&a[i][j])
我原本的就有加只是提醒你這邊你的語法不對XD

應該是說看你怎麼設計,這種做法就是一個一個字存進去
一個陣列a[0][0]裡面就是一個字"A"
C只能存一個字,你要存字串就會變成a[]="Apple";
像是a[0] a[1] a[2] a[3] a[4]
A P P l e
好像比較較少看到用二維存字串的,高階語言比較好寫就string直接存....

上面我原本的做法就像填格子這樣
輸入4列文字我應該會做一個while,輸入一行enter就印一行這樣好像可以省很多事...
不然就是宣告4個陣列去存,要找時間在研究看看ˊ ˇ ˋ 太久沒碰純C 拍謝..

本篇文章回覆於2020-03-23 17:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
感謝小高大大耐心解答
小弟剛學問題比較多.....
本篇文章回覆於2020-03-24 06:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

o小高o
檢舉此回應
我去載了一下devc跑程式,你要的應該是這樣?


本篇文章回覆於2020-03-24 09:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

o小高o
檢舉此回應
阿~ 貼得太匆忙.. temp不用理它,那是我在測試寫的ORZ..
發了文好像就不能改了... 我也剛接觸這個網站,還在熟悉..
本篇文章回覆於2020-03-24 09:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
感謝小高大大
差一個條件
假設使用者輸入-1程式要終止
還再嘗試怎麼寫
本篇文章回覆於2020-03-24 10:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

o小高o
檢舉此回應
這樣試試看?

[code]
#include <stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{

char a[3][3];
char b[3][3];
int i=0,j,len;

while(i<3){
scanf("%s",&b[i][0]);
if(b[i][0]=='-'&&b[i][1]=='1'){
return 0;
break;
}
i++;
}

for(i=0;i<3;i++){
for(j=0;j<3;j++){
a[i][j]=toupper(b[i][j]);
//printf("%d,%d\n",i,j);
}
}
for(i=0;i<3;i++){


for(j=0;j<3;j++){
printf("%c",a[i][j]);
}
printf("\n");
}

return 0;
}
[/code]
本篇文章回覆於2020-03-25 08:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

Mars
捐贈 VP 給 Mars 檢舉此回應
差不多
但輸入-1後小寫要轉大寫
本篇文章回覆於2020-03-26 05:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

o小高o
檢舉此回應
把retrun 0 拿掉就好
本篇文章回覆於2020-03-26 08:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.