C语言中怎么一次性的输入多行(不确定是多少行的)字符串,然后把它们全反过来输出,比如输入 wo s c语言 输入若干行字符串,行数不确定,以连敲两次回车结束输入...

C\u8bed\u8a00\u5982\u4f55\u4e00\u6b21\u8f93\u5165\u591a\u4e2a\u5b57\u7b26\u4e32,\u7136\u540e\u518d\u8f93\u51fa

1\u3001\u9996\u5148\u6253\u5f00visual studio\u8f6f\u4ef6\uff0c\u65b0\u5efa\u4e00\u4e2aC\u8bed\u8a00\u6587\u4ef6\u3002

2\u3001\u63a5\u7740\u5728C\u8bed\u8a00\u6587\u4ef6\u7684\u9876\u90e8\u5bfc\u5165\u5e93\u5185\u3002

3\u3001\u63a5\u7740\u8fd0\u7528scanf\u51fd\u6570\u63a5\u6536\u7528\u6237\u8f93\u5165\u7684\u5b57\u7b26\u4e32\u3002

4\u3001\u7136\u540e\u6211\u4eec\u5229\u7528printf\u51fd\u6570\u6253\u5370\u4e00\u4e0b\u7528\u6237\u8f93\u5165\u7684\u5185\u5bb9\u3002

5\u3001\u8fd0\u884c\u7a0b\u5e8f\u4ee5\u540e\u5c31\u4f1a\u5f39\u51fa\u5982\u4e0b\u56fe\u6240\u793a\u7684CMD\u754c\u9762\uff0c\u6211\u4eec\u8f93\u5165\u5185\u5bb9\u5c31\u4f1a\u81ea\u52a8\u63a5\u6536\u5230\uff0c\u7136\u540e\u539f\u6837\u8f93\u51fa\u5185\u5bb9\u3002

6\u3001\u6700\u540e\u5982\u679c\u4f60\u63a5\u6536\u5176\u4ed6\u7684\u7c7b\u578b\uff0c\u6bd4\u5982\u6574\u6570\uff0c\u90a3\u4e48\u7c7b\u578b\u5c31\u9700\u8981\u6539\u53d8\u6210int\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5e76\u4e14scanf\u91cc\u9762\u7684\u63a5\u6536\u7c7b\u578b\u53d8\u4e3ad%\u3002

\u8fd9\u4e2a\u5e94\u8be5\u6ee1\u8db3\u8981\u6c42
\u4f60\u53ef\u4ee5\u5148\u8bd5\u8bd5
#include
int main()
{
char s;
char p;
s = 0;
while(p=getchar())
{
if(p=='\n'&&s==p)
break;
s = p;
putchar(p);
}
return 0;
}

#include <stdio.h>

#include <stdlib.h>

int main()

{

    char* buf = NULL; //动态分配  //char buf[1024]; //指定长度

    char ch;

    int len = 0,i;


    printf("Please input some line:
");

    while(scanf("%c",&ch)==1 && ch!=EOF && ch!='#'){ //定义一个结束符或者ctrl+z/d

        //动态的实现

        buf = (char*)realloc(buf,sizeof(char)*(len+1));

        buf[len++] = ch;

        //buf[len++] = ch;  //指定长度

    }

    printf("reverse your input to print:
");

    for(i=len-1;i>=0;i--){

        printf("%c",buf[i]);

    }

    free(buf); //动态清除

    return 0;

}



【首先】是多行字符串的输入和保存。可以:
开设一个字符串数组如下,其中N定义最多可记录多少行,M定义每行可保存多少个字符,改变#define定义可以调整这两个数据
#define N 1024 //最多1024行
#define M 256 //每行最多存储255个字符
char input[N][M];
实际输入一行可以用gets函数实现,判断gets函数的返回值可知道是否结束输入(比如输入Ctrl+Z的组合键结束),每输入一行,记录的行数加1,最后可得到实际输入的行数和按行号顺序保存在input数组中的所有字符串。

【然后】是倒序输出字符串,每个字符串倒序输出。可以:
按照倒序给出input的第1维下标,每行输出一个字符串,在输出每个字符串时,找到字符串末尾(都是以字符'\'结束的),然后输出一个字符再往回倒退一个字符,直至输出完整个字符串。如:
for ( i=n-1;i>=0;i-- )
{ nn=0; while ( input[i][nn] ) nn++;
for ( j=nn-1;j>=0;j-- ) printf("%c",input[i][j]);
printf("\n");
}

for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<19;i++) //冒泡排序排列20个整数
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<20;i++) //输出排序后的20个整数
printf("%d ",a[i]);

#include<stdio.h>

#include<string.h>

void main()

{

char str[100];

int length,i;

printf("输入字符:");

gets(str);

length = strlen(str);

for(i=length-1;i>=0;i--)

printf("%c",str[i]);


printf("
");

}



  • C璇█涓浣曚竴娆¤緭鍏ュ琛瀛楃涓,娌℃湁缁撴潫鏍囧織,娌℃湁琛屾暟闄愬埗???
    绛旓細include <iostream> include <string> using namespace std;int main(){ string str;getline(cin, str);cout<<str<<endl;return o;}杩欐牱澶氱渷浜嬪晩銆備笉杩囦綘闈炵敤c璇█銆c璇█閲鏄病鏈塻tring. 浣哻璇█閲屾湁<string.h>.杩欎釜绫籹tring銆傚叾瀹炴槸鐢ㄥ瓧绗︽暟缁勫疄鐜扮殑銆備綘鍙互鏍规嵁杩欎簺鍘熺悊锛岃嚜宸卞幓鏀瑰彉浠g爜銆備唬...
  • C璇█棰樼洰杈撳叆澶氳瀛楃涓(鏈夊彲鑳芥湁绌烘牸),鏈鍚庝竴琛屼负#鍙蜂綔涓虹粨鏉,鎸夌収鐢...
    绛旓細1銆佹柊寤轰竴涓 瀛楃涓叉暟缁勭殑瀹氫箟涓庤緭鍑洪」鐩2銆佹坊鍔犱竴涓 str.c 鏂囦欢銆3銆佸寘鍚玸tdio.h鍜宻tdlib.h澶存枃浠躲4銆杈撳叆main鍑芥暟涓讳綋锛宻ystem()鍜岃繑鍥炲笺5銆佸畾涔変竴涓瓧绗︿覆鍙橀噺str銆6銆佷娇鐢╬rintf()鍑芥暟杈撳嚭瀛楃涓插彉閲弒tr銆7銆佽繍琛岀▼搴忥紝鏌ョ湅杈撳嚭缁撴灉銆
  • c璇█鎬庝箞鍙互浣杈撳叆鏈澶氳涓旀瘡琛2涓鏁存暟?
    绛旓細寰幆杈撳叆 鍒ゆ柇eof鏉ュ垽鏂槸鍚﹁緭鍏ョ粨鏉 姣斿int a锛宐锛涘彲浠 while锛坰canf锛堚%d%d鈥濓紝&a锛&b锛夛紒= EOF锛
  • c璇█涓庢牱瀹炵幇澶氳杈撳叆鐒跺悗鍐嶅琛岃緭鍑?(澶氱粍鏁版嵁姹傚拰)
    绛旓細渚嬪 3 1 1 2 2 3 3 1+1=2 2+2=4 3+3=6 绗竴琛屽氨鏄杈撳叆3 缁勬暟鎹紱鍚庨潰涓夎灏辨槸涓夌粍鏁版嵁鐨勮緭鍏锛涚劧鍚庢槸涓夎姹傚拰鍚庣殑杈撳嚭銆傜▼搴忎唬鐮佸涓 include<cstdio> int aa(int n){ int a,b;if (n==0) return 0;else { scanf("%d %d",&a,&b);aa(n-1);printf("%d+%d=%d\n"...
  • c璇█濡備綍鐢ㄥ惊鐜涓娆℃杈撳嚭澶氳
    绛旓細瀵逛簬瀛楃鏁扮粍鍙互涓娆℃杈撳嚭鏁翠釜鏁扮粍涓殑瀛楃锛屼絾鏄浜庢暟鍊肩被鍨嬬殑鏁扮粍锛屽彧鑳藉埄鐢ㄥ惊鐜繘琛岄愪釜杈撳嚭浜嗐
  • c璇█ 濡備綍杈撳叆澶氳鏁板瓙,鑰屼笖姣忚闀垮害涓嶅畾,鐒跺悗杈撳嚭涓よ涔嬪拰銆傛眰瑙
    绛旓細寰堢畝鍗曘併佺粰涓濊矾 涓銆佽鍏ユ暣琛屾暟鎹瓨涓哄瓧绗︿覆锛岀敤' '鍋氬垎闅旂鏌ユ壘锛屽緱鍒版暣鏁颁釜鏁帮紝new鍔ㄦ佸垎閰嶆暟缁勶紝鐩稿姞 浜屻佺洿鎺ョ敤鏁扮粍妯℃澘绫
  • 澶т竴C璇█闂,鎬庢牱杈撳叆澶氳娴嬭瘯鏁版嵁鍐嶈緭鍑哄琛岀粨鏋???
    绛旓細鎴戞兂闂竴涓 浣犺繖鏄疧J閲岀殑棰樺悧锛熷鏋滄槸OJ 涓婄殑棰橈紝閭f垜鍙互鏄庣‘鐨勫憡璇変綘锛屼笉鐢ㄧ悊浼氫緥瀛愰偅绉嶅琛杈撳叆澶氳杈撳嚭鐨勫舰寮忋傚鏋滀綘閭f牱鍋氫簡锛岄偅鍙嶈屼細 wrong answer銆傚氨姝e父鐨勮緭鍏涓涓暟瀛楋紝杈撳嚭涓涓粨鏋滃氨濂姐
  • C璇█濡備綍涓鍙澶氳鍐欏憿?濡備笅闈緥瀛鐨鏈鍚庝竴鍙
    绛旓細鍙鍦ㄩ渶瑕佹崲琛岀殑鍦版柟娣诲姞鍙嶆枩鏉犲瓧绗﹀氨鍙互缁浜嗐傛瘮濡傦細printf("The student's name is %s,his ID\ is %ld,his average score is %.1f\n",name,num,aver);璇锋敞鎰忥細娣诲姞鐨勫弽鏂滄潬瀛楃鍚庨潰涓嶈兘鏈変换浣曞瓧绗︺
  • C璇█涓浣瀹炵幇澶氱粍鏁版嵁杈撳叆杈撳嚭
    绛旓細浣犲厛瑕佽缃暟缁勭殑澶у皬锛岃繖涓綘蹇呴』瑕佸畾涔夌殑銆備綘瑕佷笉纭畾浣犺澶氬皯浣犳渶濂芥妸浣犵殑鏁板艰缃ぇ浜涖傝嚦浜庝綘瑕佽緭澶氫釜浣犲彲浠ョ敤寰幆璇彞濡傦細for(i=1;i<=n;i++)scanf("%d",&a[n]);杈撳嚭杩樻槸涓鏍蜂箣鏄妸scanf鏀规垚printf涓嶈鍙栧湴鍧灏辫浜嗐傚笇鏈涜兘瀵逛綘鏈夊府鍔┿
  • c璇█涓庢牱瀹炵幇澶氳杈撳叆鐒跺悗鍐嶅琛岃緭鍑?濡傝緭鍏3 5,6 8,2 8,杈撳嚭鐨...
    绛旓細杈撳叆涓琛岃緭鍑轰竴琛岋紝杈撳嚭鐨勬椂鍊欏杈撳嚭涓涓洖杞︾鍙穃n灏卞彲浠ヤ簡
  • 扩展阅读:\t在c语言中怎么用 ... c怎么输出多行字 ... c语言怎么让输出换行 ... c语言如何实现输入占几行 ... c语言怎么分三行输出 ... c语言 每显示5个 换行 ... c语言怎样输出多行 ... c语言读文件一次一行 ... c语言每输出5个然后换行 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网